-1
実際には、コードベースに直面しており、スタックとヒープに関するstd::vector
に関する質問があります。メンバー変数にスタック変数を格納するのは、有効なベクトルの使用ですか?
メンバ宣言:
//member variable in DataHelper class
std::vector<Data::Point> mDataPoints;
メンバ関数:だからData::Points
のためのベクターに格納されている
void DataHelper::LoadData(int nPoints)
{
//mDataPoints is a member variable
mDataPoints.reserve(nPoints);
for (UINT i = 0; i < nPoints; i++)
{
Data::Point point; //some data class
point.X = 1; //dummy values
point.Y = 2;
point.Z = 3;
mDataPoints.push_back(point);
}
}
メンバ関数で
どこか私はこれと同様のいくつかのコードに遭遇します後で使用する。
私はData::Point point;
がスタックに割り当てられていると思いますし、後でこの意味で使用するための記憶域はエラーにつながると思います。これは正しいですか?
ああ、私はコピーコンストラクタ/ポインタの頭に感謝しています! – Stefan