【发布时间】:2010-09-26 00:01:32
【问题描述】:
我有一个矢量对象:
std::vector<std::vector<MyClass>> _matrix;
它是包含一些数据的二维数组。 当我尝试调整尺寸时:
_matrix.resize(_rows, std::vector<MyReal>(_colms)); //_rows and _colms are ints
这个命令对对象没有任何作用。 所以要调整它的大小,我必须先调用:
_matrix.clear();
然后:
_matrix.resize(_rows, std::vector<MyReal>(_colms));
当然,我正在丢失数据。 (在我的情况下没关系)
这是预期的行为吗?
【问题讨论】:
-
实际上只有_matrix的列大小不会被resize命令改变。
-
我原来的问题错了。实际上只有 _matrix 的列大小不会被 resize 命令改变。
-
作为我的旁注,我认为以下划线开头的变量是为编译器保留的,如果你不使用它们可能会更好。如果我错了,请纠正我。
-
我将下划线用于类私有成员。我认为这是传统的。
-
@Tomas 如果它们以双下划线或下划线和大写字母开头,则保留它们