der Operator-> Rückgabewert von intelligenten Zeigern [duplizieren]
Diese Frage hat hier bereits eine Antwort:
-> Verwendung in intelligenten Zeigern 2 AntwortenIntelligente Zeiger wie shared_ptr können wie gewöhnliche Zeiger mit verwendet werden*
und->
Operator. Die Bücher sagen das->
Der Operator gibt den von shared_ptr gespeicherten Zeiger zurück. Sie können es also verwenden, um auf das Objekt zuzugreifen, auf das dieser Zeiger zeigt. Aber ich bin hier verwirrt. Schauen Sie sich den folgenden Code an.
class A
{
public:
A(int v = 20){val = v;}
int val;
}
A* p1 = new A;
std::cout<<p1->val; //This is common sense
boost::shared_ptr<A> p2(new A);
std::cout<<p2->val; //This is right
//My question is that p2-> returns the pointers of the object, then maybe another
//-> should be used?
//like (p2->)->val?