"之间的区别-6ren"> "之间的区别-在 c++ 中,这 3 个代码块之间有什么区别吗: MyClass->m_Integer // 1 MyClass::m_Integer // 2 MyClass.m_Integer // 3 最佳-6ren">
gpt4 book ai didi

c++ - "."、 "::"和 "->"之间的区别

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:54:55 25 4
gpt4 key购买 nike

在 c++ 中,这 3 个代码块之间有什么区别吗:

MyClass->m_Integer // 1
MyClass::m_Integer // 2
MyClass.m_Integer // 3

最佳答案

->. 运算符是访问类实例成员的方法,而 :: 允许您访问静态类的成员。

->. 的区别在于,箭头用于通过指向实例的指针进行访问,而点用于访问值(非指针)。

例如,假设您有一个定义为 MyClass 的类:

class MyClass
{
public:
static int someValue();
int someOtherValue();
};

您将在以下情况下使用这些运算符:

MyClass *ptr = new MyClass;
MyClass value;

int arrowValue = ptr->someOtherValue();
int dotValue = value.someOtherValue();
int doubleColonValue = MyClass::someValue();

在 Java 中,这看起来像:

MyClass ref = new MyClass;

int dotValue = ref.someOtherValue();
int doubleColonValue = MyClass.someValue();

关于c++ - "."、 "::"和 "->"之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6894370/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com