當不是static
上下文(即,當static
關鍵字是不存在的,你在全球範圍內不是),有什麼做內部使用的shared
和__gshared
關鍵字呢?「共享」和「__gshared」關鍵詞在d
例子:
struct Temp
{
shared int i;
__gshared int j;
}
當不是static
上下文(即,當static
關鍵字是不存在的,你在全球範圍內不是),有什麼做內部使用的shared
和__gshared
關鍵字呢?「共享」和「__gshared」關鍵詞在d
例子:
struct Temp
{
shared int i;
__gshared int j;
}
共享INT鍵入shared(int)
,不做什麼,但給它的類型。 __gshared int
是一個無操作 - DMD喜歡忽略無操作屬性。
D2默認爲線程本地存儲,而C,C++和D1默認爲全局存儲。
其中一個區別是D中的全局變量對其他線程可見,而TLS不是。
這可能聽起來不太多,但嘗試接口到C庫而沒有意識到這一點。 (不可改變的是。global也是如此)
IME __gshared幾乎只存在強制某些東西進入全局通常它不會。
有可能是其他用途,但我沒有看到任何。
一個例子是C頭中的全局變量。如果您嘗試與它進行交互,則需要不可變或__gshared。當然還有其他方法,但這可能是最簡單的。
換句話說,他們倆在這裏毫無意義? – Mehrdad 2011-01-29 13:00:18