在C++ 17中,std::size()函数不可用。std::size()是一个C++标准库函数,用于获取数组或容器的大小。然而,在C++ 17之前的标准中,std::size()函数并不存在。
在C++ 17之前,获取数组的大小可以使用sizeof操作符,例如sizeof(arr)/sizeof(arr[0]),其中arr是一个数组。对于容器,可以使用成员函数size()来获取其大小。
然而,在C++ 17中引入了一个新的特性,即std::size()函数。它是一个模板函数,用于获取数组或容器的大小。使用std::size()函数可以更加简洁和统一地获取大小,无论是数组还是容器。
以下是一个示例代码,展示了如何使用std::size()函数获取数组和容器的大小:
#include <iostream>
#include <array>
#include <vector>
int main() {
int arr[] = {1, 2, 3, 4, 5};
std::array<int, 5> arr2 = {6, 7, 8, 9, 10};
std::vector<int> vec = {11, 12, 13, 14, 15};
std::cout << "Size of arr: " << std::size(arr) << std::endl;
std::cout << "Size of arr2: " << std::size(arr2) << std::endl;
std::cout << "Size of vec: " << std::size(vec) << std::endl;
return 0;
}
输出结果为:
Size of arr: 5
Size of arr2: 5
Size of vec: 5
在上述示例中,我们使用std::size()函数分别获取了数组arr、std::array容器arr2和std::vector容器vec的大小,并将结果打印输出。
需要注意的是,std::size()函数只能用于C++ 17及以上的标准。如果你的编译环境不支持C++ 17,那么你仍然需要使用之前的方法来获取数组和容器的大小。
推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云