struct settings {
size_t maxbytes;
int maxconns;
int port;
int udpport;
int chunk_size;
};
正如上面所示,定义一个struct settings
,并访问像settings.chunk_size
这样的结构成员,我在memcached源代码中遇到这种用法,是吗?如果属实,那么这个功能是什么?我可以只通过struct名称访问结构体的成员吗?
struct settings {
size_t maxbytes;
int maxconns;
int port;
int udpport;
int chunk_size;
};
正如上面所示,定义一个struct settings
,并访问像settings.chunk_size
这样的结构成员,我在memcached源代码中遇到这种用法,是吗?如果属实,那么这个功能是什么?我可以只通过struct名称访问结构体的成员吗?
您不能通过structure name
访问structure member
。你必须声明一个结构对象来访问。
struct settings {
size_t maxbytes;
int maxconns;
int port;
int udpport;
int chunk_size;
};
结构设置p1; // Declaring a structure variable
现在您可以使用“。”来访问成员了。运营商。 (例如p1.port
)。
您可以使用相同的名称,标签和可变像struct settings settings.
也许你看到的是一个名为settings
的对象。这是合法的C:
struct settings settings;
settings.chunk_size = 1024; // Access the object, not the type.
在C++中,struct
符是可选的,所以你也可以同样看到一个变量声明阅读简单settings settings;
。
显示示例。 –
这将是非法的。但是,您可以使用与结构标记名称相同的变量。例如。 '结构设置设置; settings.chunk_size = 10;' –