c++ 问题,关于 * 和 ->

标签 c++

当我有一个像这样的指针时:

MyClass * pRags = new MyClass;

所以我可以使用

pRags->foo()

(*pRags).foo()

调用 foo。

为什么这两个是相同的?什么是 *pRags?

谢谢

最佳答案

Why are these two identical?

它们是等价的,因为规范说它们是等价的。内置 -> 是根据内置 *. 定义的。

What is *pRags?

就是pRags指向的MyClass对象。 * 取消引用 指针,生成指向的对象。

有关更多信息,请考虑拿起 a good introductory C++ book .

关于c++ 问题,关于 * 和 ->,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5926113/

相关文章:

c++ - 为什么 2 + 1 & 0 结果是 0?

c++ - 使用 CryptUIWizImport 自动导入证书作为 C++ 的受信任根

c++ - 关于 ubuntu 上 zlib 的链接错误

C++ 概念和 std::cout

c++ - ostream&...这里的 '&' 是什么?

c++ - 构造函数在静态 std::map 上调用了两次

c++ - 即使安装了可再发行组件,MSCVP120D.dll 仍然丢失?

c++ - 计算表达式

c++ - 如何引用部署 VS 2015 C++ 链接器库依赖项?

c++ - 无效转换、未指定行为和字符数组?