2012-02-15 135 views
2

可能重複:
initialize a const array in a class initializer in C++數組如何在構造函數中初始化?

如果我有一個成員變量是布爾變量的陣列,如何可以在構造的所述初始化列表初始化數組的一類所有虛假的價值?或者他們會默認初始化爲全部假?

class example { 
public: 
    example() 
    : // What goes here to initialize _test to 64 false values? 
    { 
    } 

private: 
    bool _test[64]; 
}; 
+0

不,默認情況下它們不會被初始化不了了之。你不能迭代所有元素嗎? – DonCallisto 2012-02-15 12:52:05

+0

爲什麼不只是構造函數中的for循環來做到這一點?你也可以使用更高效的memset。 – guitarflow 2012-02-15 12:52:14

+0

[已經回答](http://www.google.com/url?q=http://stackoverflow.com/questions/161790/initialize-a-const-array-in-a-class-initializer -in-c&sa = U&ei = B6o7T5eAB8Pu0gGE2cjVCw&ved = 0CBcQFjAB&sig2 = 4ZeSnYECc7vy7ngjYj3YOQ&usg = AFQjCNG7PSUZXNuACyocYKjMa75gOtQg1g) – SplinterOfChaos 2012-02-15 12:51:27

回答

1

類似:

class example { 
public: 
    example() 
    : _test() 
    { 
    } 

private: 
    bool _test[64]; 
}; 
2
example() :_test() 
    : // zero initialization 
    { 
    } 
+0

這有用嗎?我想用布爾這會預設陣列與假值? – guitarflow 2012-02-15 12:54:08

+0

@guitarflow:這個問題說「我怎麼能初始化構造函數的初始化程序列表中的數組,以使所有** false **值? – 2012-02-15 12:55:21

+0

當然,我從來沒有見過這種形式。你也可以使用它初始化爲其他int值或者在bool的情況下爲true? – guitarflow 2012-02-15 13:03:42