繁体   English   中英

C++ 取消引用结构指针

[英]C++ Dereferencing a Struct Pointer

我有一个关于 C++ 结构和指针的问题。

假设我定义了一个名为“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;

这两种情况中的任何一种都有效吗?

您可以使用(*pointer).state = 23; 但首选方法是pointer->state = 23;

基本上,当您从结构或类中引用公共变量时,表示法是object.itempointerToObject->item

箭头符号会自动为您取消引用指针。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM