-
1.指针类型使用
->
: 当你有一个指向对象的指针时,你应该使用->
来访问对象的成员函数。cppCopy codeMyClass* objPtr = new MyClass(); objPtr->memberFunction(); // 使用 -> 访问成员函数 delete objPtr;
-
2.对象实例使用
.
: 当你有一个对象的实例(而不是指针)时,你应该使用.
来访问对象的成员函数。cppCopy codeMyClass obj; obj.memberFunction(); // 使用 . 访问成员函数
这是因为 ->
是用于通过指针访问对象成员的运算符,而 .
用于通过实例访问对象成员。在某些情况下,可以使用智能指针,如 std::shared_ptr
或 std::unique_ptr
,它们也支持 ->
运算符。例如:
cppCopy codestd::shared_ptr<MyClass> sharedObj = std::make_shared<MyClass>();
sharedObj->memberFunction(); // 使用 -> 访问成员函数
总体而言,选择使用 ->
还是 .
取决于你正在处理的对象的类型。如果你有一个指针,则使用 ->
,如果你有一个对象实例,则使用 .