정적 멤버 변수를 새 오브젝트로 정의하고 삭제하지 않는 것이 좋습니까? 예를동적으로 할당 된 정적 멤버 변수의 삭제를 건너 뛰어도 괜찮습니까?
class A
{
static vector<BaseClass*> p;
};
vector<BaseClass*> A::p = vector<BaseClass*>{new DerivedClassA, ...};
를 들어 내가 p는 정적이기 때문에 더 메모리 누수 문제가 없다고 생각, 수명주기 전체 프로그램 이상 프로그램이 종료되면 메모리는 운영 체제에 의해 발표 될 예정이다. 그것의 기억 행동은 다음과 거의 비슷하게 보입니다.
class A
{
static vector<unique_ptr<BaseClass>> p;
};
vector<unique_ptr<BaseClass>> A::p = ...;
그러나 나는 옳은지 확실하지 않습니다.
새로운 것을 사용할 필요가 없습니다. 그냥 스택에 int를 넣으십시오. – 4pie0
int를 예제로만 사용합니다. – user1899020
또한 int로만 예를 들면 – 4pie0