0
struct a{static int z;}l;
(a is declared at file scope)
我不能使用初始化列表初始化的Z。靜態結構成員是什麼意思?結構靜態成員含義/定義
確實Z(名)有外部鏈接和公共訪問呢?
(我認爲這意味着你給它的文件範圍和組它下(並且經過對象的公共訪問)?..爲什麼不能我初始化?)
而且....什麼?如果我有一個類中的靜態struct成員?
struct a{static int z;}l;
(a is declared at file scope)
我不能使用初始化列表初始化的Z。靜態結構成員是什麼意思?結構靜態成員含義/定義
確實Z(名)有外部鏈接和公共訪問呢?
(我認爲這意味着你給它的文件範圍和組它下(並且經過對象的公共訪問)?..爲什麼不能我初始化?)
而且....什麼?如果我有一個類中的靜態struct成員?
static
一個class
/struct
的構件是不是特定用於那個class
/struct
具體實例的部件。除了一些特殊情況,它幾乎總是在其中一個編譯單元中明確初始化。然後可以使用命名空間在其定義的位置訪問:
#include <iostream>
struct a {
static int z;
int i;
} l;
int a::z = 0; // initialization
int main() {
a::z = 3;
l.i = 4;
std::cout << a::z << ' ' << l.i;
return 0;
}
輸出3 4
。
「我不能使用初始化程序列表初始化z」。
這是因爲初始化列表由正在建設他們的時間來初始化struct
的特定實例的成員。靜態成員是以不同的方式構建和初始化的。
「如果我有一個類的靜態結構成員?」
唯一的區別是class
中定義的成員默認爲private
,不像struct
,它是public
。
什麼???????????? – user2892942
什麼的是有那麼點? – user2892942