2
從ISO標準的$ 3.1
聲明:第一點
n3242說:
的聲明(第7章)可 引入一個或多個名稱爲 由前面的聲明引入的翻譯單元或重新聲明名稱 。 如果是這樣,那麼聲明將指定 名稱的解釋和屬性。聲明也可能具有以下效果: - 靜態斷言(第7章), - 控制模板實例化(14.7.2), - 使用屬性(第7章)和 - 沒有任何東西(在空聲明)。
ISO 2003 DOC表示:
的聲明(第7節)引入 名轉換成一個翻譯單元或由 先前聲明引入
redeclares名稱。聲明
指定這些名稱的解釋和 屬性。
任何一個可以解釋的區別是什麼。
他們說「的聲明也可能有效果,包括:」 ......任何一個可以解釋什麼是編程
請解釋編程方式這些影響(用一個例子程序)而言,這些影響?
佩爾森:感謝你的答案。控制模板實例化的情況..它的效果如何? – 1User 2011-03-31 07:19:24
空的聲明可以出現在任何地方。 C++語法總是有一個特殊的規則,允許在一個類的一個函數結尾處使用可選的分號;空的聲明是一種推廣這一點的手段。(我在這裏的最新草案顯示他們仍然有空的表達陳述 - 我原以爲這個空的聲明包含了這個,並且沒有必要。) – 2011-03-31 08:33:23
@James事實上,在馬德里會議上,我們會幾乎已經發布了一個標準,允許您在constexpr函數體中擁有「空白聲明」。當然,我們想要發佈的是「空聲明」或「空表達聲明」。好,我們及時修正了這個問題(最後一分鐘的變化),但是這表明你並不是一個人在想這種方式:) – 2011-03-31 10:34:51