C+;对象的数据成员的最佳数组类型+;? 我最近开始学习C++(已经有很多C语言的经验)。

C+;对象的数据成员的最佳数组类型+;? 我最近开始学习C++(已经有很多C语言的经验)。,c++,arrays,C++,Arrays,我已经简要地看了向量和数组 我想知道C++对象的数据成员的最佳数组类型是什么。请记住我想要封装,所以这个数据成员是私有的——所以我需要getter和setter函数 我知道数组的长度(长度将保持不变,因此不需要重新分配) 传统的int数组[100]做最好的 提前感谢!:) 当您在编译时知道数组的长度时,您可能应该使用array。您也可以选择向量,但这可能会让人认为大小可能会发生变化(或者至少在编译时不会确定)。如果使用大数组,变量在本地范围内生存,则无论如何应考虑使用矢量< /代码>。< /P>

我已经简要地看了
向量
数组

<>我想知道C++对象的数据成员的最佳数组类型是什么。请记住我想要封装,所以这个数据成员是私有的——所以我需要getter和setter函数

我知道数组的长度(长度将保持不变,因此不需要重新分配)

传统的
int数组[100]做最好的


提前感谢!:)

当您在编译时知道数组的长度时,您可能应该使用
array
。您也可以选择向量,但这可能会让人认为大小可能会发生变化(或者至少在编译时不会确定)。如果使用大数组,变量在本地范围内生存,则无论如何应考虑使用<代码>矢量< /代码>。< /P> 使用
int数组[100]
也可以是一种替代方案,它有一些优点,也有一些缺点

其优点是,它的设置速度可能会稍快一些(无论如何,它可能会比
vector
快),并且您可以用经典的方式初始化它。另一个是,如果您当然接受依赖于支持此扩展的实现,那么一些实现将允许在实例化时决定长度可变的经典数组(我认为它没有成为标准,但它很容易支持)


缺点是您不能轻松地完全访问STL方法(您仍然可以通过
std::begin
std::end
获得数组的迭代器),但是,如果创建为局部变量,则必须使用堆栈空间来存储对象,而不是
vector
,后者需要为存储动态分配空间(
array
可能会使用堆栈空间).

当您在编译时知道数组的长度时,您可能应该使用
数组
。您也可以选择向量,但这可能会让人认为大小可能会发生变化(或者至少在编译时不会确定)。如果使用大数组,变量在本地范围内生存,则无论如何应考虑使用<代码>矢量< /代码>。< /P> 使用
int数组[100]
也可以是一种替代方案,它有一些优点,也有一些缺点

其优点是,它的设置速度可能会稍快一些(无论如何,它可能会比
vector
快),并且您可以用经典的方式初始化它。另一个是,如果您当然接受依赖于支持此扩展的实现,那么一些实现将允许在实例化时决定长度可变的经典数组(我认为它没有成为标准,但它很容易支持)


缺点是您不能轻松地完全访问STL方法(您仍然可以通过
std::begin
std::end
获得数组的迭代器),但是,如果创建为局部变量,则必须使用堆栈空间来存储对象,而不是
vector
,后者需要为存储动态分配空间(
array
可能会使用堆栈空间).

当您在编译时知道数组的长度时,您可能应该使用
数组
。您也可以选择向量,但这可能会让人认为大小可能会发生变化(或者至少在编译时不会确定)。如果使用大数组,变量在本地范围内生存,则无论如何应考虑使用<代码>矢量< /代码>。< /P> 使用
int数组[100]
也可以是一种替代方案,它有一些优点,也有一些缺点

其优点是,它的设置速度可能会稍快一些(无论如何,它可能会比
vector
快),并且您可以用经典的方式初始化它。另一个是,如果您当然接受依赖于支持此扩展的实现,那么一些实现将允许在实例化时决定长度可变的经典数组(我认为它没有成为标准,但它很容易支持)


缺点是您不能轻松地完全访问STL方法(您仍然可以通过
std::begin
std::end
获得数组的迭代器),但是,如果创建为局部变量,则必须使用堆栈空间来存储对象,而不是
vector
,后者需要为存储动态分配空间(
array
可能会使用堆栈空间).

当您在编译时知道数组的长度时,您可能应该使用
数组
。您也可以选择向量,但这可能会让人认为大小可能会发生变化(或者至少在编译时不会确定)。如果使用大数组,变量在本地范围内生存,则无论如何应考虑使用<代码>矢量< /代码>。< /P> 使用
int数组[100]
也可以是一种替代方案,它有一些优点,也有一些缺点

其优点是,它的设置速度可能会稍快一些(无论如何,它可能会比
vector
快),并且您可以用经典的方式初始化它。另一个是,如果您当然接受依赖于支持此扩展的实现,那么一些实现将允许在实例化时决定长度可变的经典数组(我认为它没有成为标准,但它很容易支持)

缺点是你不容易吃饱