我是c ++编程的新手。在这种情况下,请你解释一下(如果可能的话)。和 - >从类
访问变量时必须使用答案 0 :(得分:1)
如果你有指针使用->
,如果你有对象或参考使用.
,例如说我有:
class foo{
public:
int a;
}
int main()
{
foo f;
foo* f1 = new foo();
cout<<f.a<<"\n"<<f1->a<<"\n";
}
答案 1 :(得分:1)
::
是范围解析运算符,用于引用静态类成员和名称空间元素。
->
是 间接 引用运算符,用于引用实例指针上的成员方法和字段。
.
是 直接 引用运算符,用于引用实例上的成员方法和字段。
答案 2 :(得分:0)
如果您有指针类型并且想要访问成员对象或成员函数,则可以使用(*ptr).anything
或ptr->anything
。在大多数情况下完全相同(当然除非特定的->
运算符过载)。如果您有非指针类型,则应使用.
。
答案 3 :(得分:0)
这很简单,实例使用这两个运算符来访问成员或方法。
实例或实例引用 使用 .
实例指针
->
在示例中:
class MyClass
{
public:
int a;
}
int main()
{
// Instance, Reference, and Pointer declaration
MyClass instance;
MyClass& instanceReference = instance;
MyClass* instancePointer = new MyClass();
// Usecases
int a;
a = instance.a;
a = instanceReference.a;
a = instancePointer->a;
}