STD ::结束如何在本机数组上工作
How does std::end work on native arrays
在现代C 中,我们可以在本机数组上使用std ::结束。我想问这项工作如何理解此的性能考虑。
如果您的数组称为 a
,size N
,则 std::end(a)
与 a + N
表示相同的东西。它不需要进行任何运行时间来查找数组的大小,因为大小在编译时已知。
请注意,std::end
在指针上无法使用。它只能在尚未衰减到指针的数组上工作,因此大小信息在呼叫站点上静态存在。
相关文章:
- 将返回值存储在函数指针数组的指针中是如何工作的?
- std::数组边界检查如何工作?
- 声明C++具有动态大小的数组类型在 Linux 中工作正常,但不能在 Windows 中工作
- 为什么指针在对二维数组进行排序时无法正常工作?
- C++中循环和 C 样式数组的范围工作
- 为什么重载运算符"="动态数组的类上无法正常工作?C++
- 为什么断点显示数组的第二个值是一个大数字?额外学分工作
- 为什么必须动态分配扩展数组才能使此功能正常工作C++
- 我正在努力处理多维数组输入和输出,我管理输入,但是打印无法按计划工作
- 将类型化数组写入子进程 stdin 无法正常工作
- 当删除 [] 指针工作时,为什么无法获得指向的数组大小?
- 如果带有字符数组的语句无法正常工作
- 使用 for 循环打印字符串数组无法正常工作 (C++)
- 字符串文字到 char 数组的转换如何在C++中实际工作
- 澄清了 strcpy() 在像这样初始化字符数组时的工作 *Arr.
- 在 C++ 中使用递归填充 D2 数组,有时工作正常,其他时会引发异常
- 为什么C ,Devstudio,数组索引工作
- 构建对象数组是如何工作的?我被这个例子困住了
- 我怎样才能让这个多维数组工作
- 在glUniformMatrix4fv, c++中2d数组工作吗?