경우에 작동 shared_ptr을하지, 내가 좋아하는 뭔가를 쓸 수 있습니다 :방법 C++에서 조건
shared_ptr<A> a_sp = someFunctionReturningSharedPtr();
if (a_sp) {
cout << a_sp->someData << endl;
} else {
cout << "Shared Pointer is NULL << endl;
}
왜 if (a_sp)
확인 작업을 제대로합니까? a_sp
은 부울이 아니지만 true 또는 false를 어떻게 확인합니까? if 조건이 a_sp.get()
함수의 결과를 확인하는 것을 어떻게 알고 있습니까? 또는 그렇지 않은 경우 a_sp
의 NULL
은 어떻게 확인됩니까? 거기에 부울 값으로 변환 shared_ptr
정의 된 일부 기능이 있나요?
Mankarse :이 구문은 무엇입니까? 연산자 unspecified-bool- type()'. 나는 전에 이것을 보지 못했다. 이것을 향상시키는 것이 특별한가요? –
unspecified-bool-type은 bool과 같은 실제 유형을 나타냅니다. 이 구문은 특별한 부스트가 아니라 "형식 변환 연산자"를 선언하는 구문입니다. [wikibooks] (http://en.wikibooks.org/wiki/C++_Programming/Operators/Operator_Overloading#Conversion_operators)를 참조하십시오. – Mankarse
Mankarse : Awesome. 링크를 가져 주셔서 감사합니다. –