2010-08-31 107 views
13

是否可以在匿名類中初始化成員變量?C++匿名類初始化

例如

class { 
public: int &value; 
} container; 
+0

你爲什麼要匿名類(這絕不會通過代碼審查獲得)。那麼一個未命名的名稱空間意味着類名不會泄漏到另一個CU中。 – 2010-08-31 18:58:07

+0

@Martin York功能本地容器/函數 – Anycorn 2010-08-31 19:04:50

+0

這不是'class',它是'struct'。 – sbi 2010-08-31 19:19:16

回答

17
int x = 3; 
class { 
    public: int &value; 
} container = {x}; 
+0

doh。回想起來很明顯 – Anycorn 2010-08-31 18:51:11

+0

+1,因爲我沒有意識到一個聚合可以包含一個引用。但是,只要指出,這確實需要一個聚合。 (實際應用的唯一要求是沒有訪問控制並且沒有基礎。) – Potatoswatter 2010-08-31 19:35:07