c++ - 之间有什么区别。和 -> 在 C++ 中调用方法

标签 c++ methods

你能告诉我 .和 -> 调用 C++ 中的方法。

这段代码工作正常,使用两种调用方法。

#include <iostream>

using namespace std;

class myclass
{
    public:
    string doSomething();
};


string myclass::doSomething()
{
    return "done something\n";
}

int main (int argc, const char * argv[])
{
    myclass c;
    std::cout << c.doSomething();

    myclass *c2;    
    std::cout << c2->doSomething();

    return 0;
}

我不明白这两个调用之间的区别?他们都工作?

最佳答案

c2->doSomething();

相当于:

(*c2).doSomething();

即指针在调用方法之前被取消引用。

查看 Alf Steinbach 的 pointer tutorial寻求更多帮助。

关于c++ - 之间有什么区别。和 -> 在 C++ 中调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5328511/

相关文章:

c# - 使用运行时类型执行的通用方法

android - 如何在 Android 中将方法作为参数传递?

java - 在Java中,可以发现当前执行的方法是什么?

c++ - C++中复杂结构的序列化

c++ - 如何将 WinAPI 应用程序封装到 C++ 类中

c++ - 将 OpenCV 矩阵分配到数据结构中

c++ - Windows 上的 endian.h

c++ - 如何在这种情况下安全地使用 new 和 delete

java - 为什么我的程序崩溃了(java)?

java - 如何使用 Java 方法在循环内逐行处理输入文件?