c++ - 如何知道 const 数组的大小?

标签 c++ c arrays sizeof

给出以下代码:

const myStr codesArr[] =  {"AA","BB", "CC"};     

myStr 是一个包装了 char* 的类。 我需要遍历数组中的所有项目,但我不知道项目的数量。 我不想定义一个代表大小的 const 值(在本例中为 3)

使用类似的东西是否安全:

const int size = sizeof(codesArr) / sizeof(myStr);

怎么办?

最佳答案

执行此操作的安全且清晰的方法是使用 std::extent (C++11 起):

const size_t size = std::extent<decltype(codesArr)>::value;

关于c++ - 如何知道 const 数组的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13375713/

相关文章:

c++ - Release 与 Debug 版本中变量的奇怪行为

c - 使用 ipcrm 删除共享内存 linux

c - K&R 之后用什么书来学习纯 C 编程?

php - 如何使用 PHP 从 MySQL 数据库中插入和检索数组值?

c++ - 哪些测试框架不会替换 "new"和 "malloc"?

c++ - 使用运算符!否定重载的 bool 谓词

c++ - 使用 Armadillo 进行基准测试时,SuperLu 和 LaPack 的比较失败

c - 三元运算符中的所有参数都是强制性的还是你可以做 "(exp1 ? : value)"?

c - 如何在 C 中初始化 3d 数组 - 指针数组数组

arrays - Ruby 为版本字符串提供默认数组值的优雅方式