Ich bin unter Impressionen, dass std :: shared_ptr Speicher nicht freigibt, wenn es außerhalb des Bereichs. Unten ist mein Testcode. Kannst du mir bitte vorschlagen, was ich falsch mache? Ich benutze gtest zum Testen. Wenn ich diesen Test ausführe, kann ich sehen, dass Speicher ständig verbraucht wird. Ich verwende Microsoft VC++ 2013.Was ist los in Std :: 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();
}
}
Willkommen bei Stack Overflow. Bitte nehmen Sie sich die Zeit, [The Tour] (http://stackoverflow.com/tour) zu lesen und beziehen Sie sich auf das Material aus der [Hilfe] (http://stackoverflow.com/help/asking), was und wie Sie können fragen Sie hier. –