タスク マネージャーを開いてメモリ使用量を確認すると、.3MB のメモリ使用量から始まります。ptr_vector に 100,000 個のオブジェクトを追加すると、2.3MB のメモリが使用されます。ベクターで .clear() を使用した後、メモリは .8-.9MB になります。このメモリ使用量の増加の原因は何ですか?
コードは次のとおりです。
#include <iostream>
#include <boost/ptr_container/ptr_vector.hpp>
class T {
public:
static int nObjects;
T() {
nObjects++;
}
~T(){
nObjects--;
}
};
int T:: nObjects = 0;
int main() {
boost::ptr_vector<T> vec;
char pause;
std::cout << "Press any key to continue: ";
std::cin >> pause;
for(int i=0; i<100000; i++) {
vec.push_back(new T);
}
std::cout << T::nObjects << " objects created." << std::endl;
std::cout << "Press any key to continue: ";
std::cin >> pause;
vec.clear();
std::cout << T::nObjects << std::endl;
std::cout << "Press any key to exit: ";
std::cin >> pause;
return 0;
}
助けてくれてありがとう。