如何在一个语句中定义对数组的引用
how to define a reference to an array in one statement
我定义了一个中间类型def,以便定义对固定大小数组的引用。
typedef int CI[0x10];
CI& arr=*(CI*)mypointer;
这样写它允许我以后使用countof(arr)
试图用一个语句来写它,下面就是我失败的尝试。我知道这是错误的,因为"&"应该同时在"int"和"[0x10]"中,而不是在arr1上,但是是否可以将其写在一个语句中;
int (arr1&)[classInfoN]=*(CI*)mypointer;
你把&
放在了错误的地方。 它总是位于标识符的左侧,就像您的工作示例一样。
所以:
int (&arr1)[0x10] = *reinterpret_cast<int (*)[0x10]>(mypointer);
// g++ test.cpp -std=c++11
#include <iostream>
int main() {
int real_arr[0x10] = {1,2,3,4,5,6,7,8,9,0};
typedef int (&arr_t)[0x10];
arr_t arr = real_arr;
for ( auto i = 0; i < 10; ++i ) {
std::cout << arr[i] << std::endl;
}
return 0;
}
相关文章:
- C++编程从外部文本文件定义数组大小
- 如何在子类中重新定义数组大小?
- 有没有办法根据命令行参数定义数组大小?运行时与编译时实例化?
- 我可以使用常量定义数组的长度,那么为什么 int d[b] 不起作用呢?
- 表达式必须具有常数值,变量不能用作定义数组大小的常数
- 在类中定义数组的方法和字段
- (C++)我的自定义数组无法初始化(编译错误)
- 重写自定义数组类的运算符/开始/结束
- 如何在 C++ 中定义数组数组
- 您可以在类初始化器列表中定义数组大小吗?
- 通过Overloading Operator []访问自定义数组包装器中的元素
- 为自定义数组实现迭代器
- 递归定义数组中的数据对齐和排序
- 如何从类中返回自定义数组项目并操纵其属性?C
- 如何使用类 .h 文件中的静态常量来定义数组的长度
- 使用类定义数组创建C++类
- C++自定义数组容器动态大小
- C++中使用什么类型来定义数组大小
- 在源文件中定义数组,然后在其他源文件中使用它
- C 编程从外部输入文件定义数组大小