所以我对c ++有一些问题。
我有这样的结构:
typedef struct{
int n;
int x[];
int y[];
} MyStruct;
我的问题是我无法弄清楚如何在稍后的函数中指定x,y数组的大小,因为它来自输入并且以前不知道。它似乎是一个动态的,但我希望它是静态的。 顺便说一句,这个结构中的变量也是一个数组。
E.g。在C#中,它的工作原理如下:
MyStructVariable[ (an index) ].x = new int[value];
我是c + +的新手,如果这是一件小事,我无法弄明白。 谢谢你的帮助!
答案 0 :(得分:0)
E.g。在C#中,它的工作原理如下:
MyStructVariable[ (an index) ].x = new int[value];
C ++与C#不同,特别是在处理动态内存分配方面。
您在C ++中想要的是std::vector<int>
struct MyStruct {
std::vector<int> x;
std::vector<int> y;
MyStruct(int value) : x(value), y(value) {}
};
或
struct MyStruct {
int x;
int y;
};
std::vector<MyStruct> myVector(mysize);
myVector[an index].x = value;