首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

std::size()在C++ 17中不可用

在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()函数获取数组和容器的大小:

代码语言:txt
复制
#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;
}

输出结果为:

代码语言:txt
复制
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,那么你仍然需要使用之前的方法来获取数组和容器的大小。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 云服务器(ECS):https://cloud.tencent.com/product/cvm
  • 云数据库 MySQL 版(CDB):https://cloud.tencent.com/product/cdb
  • 云原生容器服务(TKE):https://cloud.tencent.com/product/tke
  • 人工智能平台(AI Lab):https://cloud.tencent.com/product/ailab
  • 物联网通信(IoT Hub):https://cloud.tencent.com/product/iothub
  • 移动推送(信鸽):https://cloud.tencent.com/product/tpns
  • 云存储(COS):https://cloud.tencent.com/product/cos
  • 区块链服务(BCS):https://cloud.tencent.com/product/bcs
  • 腾讯云元宇宙:https://cloud.tencent.com/solution/virtual-universe
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券