スコープの外に出たときにstd :: shared_ptrがメモリを解放しないという印象です。以下は私のテストコードです。私が間違っていることを私に示唆してもらえますか? 私はgtestを使ってテストしています。このテストを実行すると、メモリが絶えず消費されていることがわかります。私はProceedVector
への各呼び出しはstd::vector<double>
オブジェクトの2つの動的割り当てを行い、マイクロソフトVC++ 2013std :: shared_ptr <std :: vector <double>>
void ProceedVector() {
std::vector<double> * numbers = new std::vector<double>();
for (int ind = 0; ind != 10000; ind++) {
numbers->push_back(ind);
}
std::shared_ptr<std::vector<double>> numbersPtr = std::make_shared<std::vector<double>>(*numbers);
}
TEST_F(ManagerTypeConvertorTest, ProceedVector) {
for (int ind = 0; ind != 50000; ind++) {
ProceedVector();
}
}
ようこそスタックオーバーフロー。 [The Tour](http://stackoverflow.com/tour)を読み、[ヘルプセンター](http://stackoverflow.com/help/asking)の資料を参考にしてください。ここに聞いてください。 –