gpt4 book ai didi

c++ - 动态内存分配并接受输入

转载 作者:行者123 更新时间:2023-12-01 15:12:33 25 4
gpt4 key购买 nike

我正在尝试接受用户输入并将其存储在动态分配的数组上。但是看起来我离获得这件事还很遥远。
我实际上在做什么错?

#include<iostream>
#include<string>
using namespace std;

struct abc
{
int x;
int *y;
};

int main()
{
abc d;
d.y = new int[5];
for(int i=0; i<5; i++)
{
//cin>>d.y->x; //Error//user_input
cout<<"Address : "<<(d.y+i)<<endl;
};
}

最佳答案

您需要输入数组(abc.y),如下所示

for (int i = 0; i < 5; i++)
{
cin >> d.y[i]; // like this
};
另外,不要忘记稍后释放内存,否则内存泄漏。

但是,我建议您使用 std::vector<int> smart pointer代替原始指针。
还要注意,如果将 abc复制到另一个,则需要实现自己的copy-move并需要其他构造函数(又名 rule of three/five/zero)。

关于c++ - 动态内存分配并接受输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63027202/

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