假设我有一个具有数组成员的类.是否可以在构建时/运行时定义其大小,方式如下:
class myClass {
private:
int myArray[n]
public:
myClass();
someOtherMethod();
};
Run Code Online (Sandbox Code Playgroud)
其中n是基于用户输入定义的变量.如果没有,最好的选择是什么?
这取决于.
从语义上讲,有三种类型的数组:
C++直接支持第一种和第三种情况,分别使用常规数组和std::vector类.
C还支持带有两个结构的第二种类型:
我会建议,在C++中,使用std::vector您的情况下的类.它提供的不仅仅是您需要的,而且使用起来更简单.
另一方面,即使在C++中,您仍然可以使用尾部填充.它确实需要仔细的工程.