【发布时间】:2012-11-14 09:00:19
【问题描述】:
给出以下代码:
const myStr codesArr[] = {"AA","BB", "CC"};
myStr 是一个包裹char* 的类。
我需要遍历数组中的所有项目,但我不知道项目的数量。
我不想定义一个 const 值来表示大小(在本例中为 3)
使用类似的东西是否安全:
const int size = sizeof(codesArr) / sizeof(myStr);
怎么办?
【问题讨论】:
-
这个问题是c还是c++?对于 c++,我真的建议使用
std::array(或std::tr1::array,如果您的编译器不是 c++11)而不是内置数组。并且可能使用std::string而不是myStr所做的任何事情 -
您也可以选择
sizeof(codesArr) / sizeof(codesArr[0]);,但有 Luchian Grigore 提到的限制。