jcu*_*nod 9 c++ qt initialization global-variables
我想将QHash初始化为全局变量.
因为它是全局的我不能写类似的东西
QHash<QString, int> MY_HASH;
MY_HASH["one"] = 1;
MY_HASH["two"] = 2;
Run Code Online (Sandbox Code Playgroud)
但我不确定如何在其初始化中为MY_HASH分配值.
dee*_*146 19
如果使用c ++ 0x,则可以使用initializer_list,如下所示:
QHash<QString, int> MY_HASH({{"one",1},{"two",2}});
Run Code Online (Sandbox Code Playgroud)
在gcc中,使用命令行标志-std = c ++ 0x启用c ++ 0x
做一个功能?
typedef QHash<QString, int> hash_type
hash_type InitMyHash(){
hash_type hash;
hash["one"] = 1;
hash["two"] = 2;
// ...
return hash;
}
hash_type MY_HASH = InitMyHash();
Run Code Online (Sandbox Code Playgroud)