gpt4 book ai didi

C++初始化数组指针

转载 作者:IT老高 更新时间:2023-10-28 23:02:11 25 4
gpt4 key购买 nike

如何初始化指向文字数组的指针?
我希望 *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

在您的情况下,您只能手动复制每个元素的 velue

for (int i = 1; i<=size; ++i)
{
grid[i-1] = i;
}

您可以通过使用 STL 算法来避免显式循环,但想法是一样的

其中一些在 C++0x 中可能已经合法,我不确定。

关于C++初始化数组指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6386329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com