를 사용하여 나는 개인 멤버 변수가있는 클래스가힙 손상 make_shared
shared_ptr<short> m_p_data;
나는이 생성자를 사용할 때 힙 손상을 얻을 : 나는이 작업을 수행 할 경우
Volume2D(const int dimX, const int dimY) :m_dimX{ dimX }, m_dimY{ dimY }, m_p_data{ make_shared<short>(dimX*dimY) } {
}
을하지만 힙 손상이없는 대신 :
Volume2D(const int dimX, const int dimY) :m_dimX(dimX), m_dimY(dimY) {
m_p_data.reset(new short[dimX*dimY]);
}
더 구체적으로, 여기에 힙 손상 코드입니다 :
Volume2D vol(10, 1);
for (auto i = 0; i < 10; ++i) {
vol(i, 0) = i;
cout << "value = " << vol(i, 0) << endl;
}
return 0;