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;' –