如何为数组类型调用new运算符
static int (*g_data)[3];
我想要 new
N
个 int[3]
元素>。我只能按如下方式执行此操作:
g_data = (int(*)[3]) new int[N*3];
我知道这是可以的,并且使用 struct 将是一个替代解决方案。但是,出于好奇,我可以直接为
int[3]
调用 new
吗,即不进行类型转换?
static int (*g_data)[3];
I'd like to new
N
elements of int[3]
. I'm only able to this as follows:
g_data = (int(*)[3]) new int[N*3];
I know that this is okay and using struct
would be an alternative solution. But, just for curiosity, can I directly call new
for int[3]
, i.e., without the type conversion?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
由于 g_data 是指向 3 int 的一维数组的指针,因此要创建一个由 N 个这样的 3 数组组成的数组,只需使用 int [N][3 ]:
Since
g_data
is a pointer to a 1D array of 3int
, to make an array of N such arrays of 3, you simply useint [N][3]
:你可以这样做:
You can do it this way: