如何初始化指向文字数组的指针?
我希望 *grid 指向新分配的 int 数组 {1, 2, 3}。
int *grid = new int[3];
*grid = {1, 2, 3};
谢谢。
你不能初始化这样就可以动态分配数组。你也不能assign以这种方式到数组(动态或静态)。该语法仅在初始化静态数组时才有效,即
int a[4] = {2, 5, 6, 4};
我的意思是,即使以下行为也是非法的:
int a[4];
a = {1, 2, 3, 4}; //Error
在您的情况下,您只能手动复制每个元素的值
for (int i = 1; i<=size; ++i)
{
grid[i-1] = i;
}
您可以使用 stl 算法来避免显式循环,但想法是相同的
我不确定其中一些可能在 C++0x 中变得合法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)