"this"의 사용법과 관련된 질문이 있습니다.이 포인터의 사용
두 개의 클래스가 있다고 가정하십시오. A & B; 그들의 대략적인 개요는 다음과 같습니다 :
class A
{
public:
...
void AddB(B* b)
{
// inserts B into the vector v
}
private:
std::vector<B*> v;
};
class B
{
public:
...
void foo(void)
{
...
// Adds itself to the queue held in A
a.AddB(this);
}
};
이런 식으로 일반적으로 나쁜 습관을 사용하고 있습니까?
도움 주셔서 감사합니다.
소유권 의미가 순환을 포함하지 않고 또한 중요하지 않은 경우와 같이 'shared_ptr'또는 이와 유사한 것을 사용하도록 제안 할 수 있습니다. – Omnifarious
동의. 평생 관리는 까다로운 부분입니다. –
'this'에'shared_ptr'을 사용하는 것은 쉬운 일이 아닙니다. –