C++查找 char* 数组中的元素数
C++ finding num of elements in a char* array
有没有办法知道 char* 数组中的元素数?
我的代码是:
char* inputOptions[]={
NULL,
"first sentence",
"second sentence"}
for(int j=0;j<3;j++)
cout<<inputOptions[j]<<endl;
我想将"3"更改为依赖于"arr"的表达式。有没有办法这样做?
是的,你可以写
std::distance(std::begin(inputOptions), std::end(inputOptions));
在 C++03 中,使用
sizeof inputOptions / sizeof inputOptions[0]
但是,在 C++11 中,您最好使用以下范围访问数组:
for (auto option: inputOptions)
cout << option << endl;
const char * inputOptions[] = {
NULL,
"first sentence",
"second sentence" };
const int numOptions = sizeof(inputOptions) / sizeof(inputOptions[0]);
您可以将
sizeof()
与静态数组一起使用,它将为您提供以字节为单位的大小。如果将其除以指针大小,将得到数组的大小:
siz = sizeof(inputOptions)/sizeof(char*);
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 使用strcpy将char数组的元素复制到另一个数组
- 如何将元素添加到数组的线程安全函数?
- cpp二进制搜索问题,计算给定数组中输入元素的出现次数
- 输出没有重复元素的动态数组(收缩数组)C++
- 数组中最大的非重复元素
- 数组元素打印的递归方法
- 对字符数组中的元素执行逐位操作
- 缓存std::数组的选定元素,并在c++中自动保持其一致性
- 如何计算数组中元素的位数?(不是数组的长度),并计算其数字的总和
- 通过交换元素使数组相同
- 按平均值替换数组中的元素
- 打印矢量数组中的所有元素
- 如何将字节数组元素替换为修改的十六进制 ASCII 符号?
- 如何为 c++ 的不同变量类型的结构元素创建动态数组?
- 如何将元素从向量转移到新数组?
- 如何在向量数组中插入元素?
- 为什么 2 个相同数组的元素彼此相等
- C++ 中的二维整数数组,每行中的元素数量不均匀