我对C ++结构和指针有疑问。
所以我想说我定义了一个名为'info'的结构。这个结构有一个名为'state'的成员。
现在假设我声明了一个'info'的实例,然后我声明了一个'info'类型的指针。如果我只想使用指针,我将如何取消引用结构,以便我可以修改'state'的值?
例如:
info instance;
info * pointer = &instance;
//Want to change the value of 'state' to 23
*pointer.state = 23;
// or
*(pointer).state = 23;
// or
*(info.currentState) = 23;
其中任何一种情况都有效吗?
答案 0 :(得分:6)
您可以使用(*pointer).state = 23;
,但首选方法是pointer->state = 23;
基本上,当您从结构或类引用公共变量时,表示法为object.item
或pointerToObject->item
箭头符号会自动为您指出指针。