.和->运算符在C++中用于访问对象或结构体(以及类的)成员。它们的使用取决于你是直接操作对象/结构体实例,还是通过指向对象/结构体的指针来操作。
使用.运算符
当你直接拥有一个对象或结构体实例时,你使用.运算符来访问其成员。比如,假设我们有一个简单的Person结构体和一个该结构体的实例:
struct Person {
std::string name;
int age;
};
Person person;
person.name = "Alice";
person.age = 30;
std::cout << person.name << " is " << person.age << " years old." << std::endl;
在这个例子中,我们使用.来访问person实例的name和age成员。
使用->运算符
当你有一个指向对象或结构体的指针时,你应该使用->运算符来访问其成员。这实际上是解引用指针并访问其成员的快捷方式。比如,如果我们有一个指向Person结构体的指针:
Person *personPtr = &person;
personPtr->name = "Bob";
personPtr->age = 25;
std::cout << personPtr->name << " is " << personPtr->age << " years old." << std::endl;
在这个例子中,personPtr是一个指向Person的指针,我们使用->来访问name和age成员。
区别与选择
使用.当你直接操作对象/结构体实例。
使用->当你通过指针操作对象/结构体实例。