如果我想将一段字符串转换为UTF-16,比如说char * xmlbuffer,我是否必须wchar_t *在编码之前将类型转换为UTF-16?char*在编码为UTF-8之前是否需要输入类型?
怎么样wchar_t,char与UTF-8或UTF-16或UTF-32或其他转换格式有关?
在此先感谢您的帮助!
在C++中,如果我想定义一些可以在不同的类,函数,文件中使用的非本地const字符串,我所知道的方法是:
使用define指令,例如
#define STR_VALUE "some_string_value"
Run Code Online (Sandbox Code Playgroud)const类成员变量,例如
class Demo {
public:
static const std::string ConstStrVal;
};
// then in cpp
std::string Demo::ConstStrVal = "some_string_value";
Run Code Online (Sandbox Code Playgroud)const类成员函数,例如
class Demo{
public:
static const std::string GetValue(){return "some_string_value";}
};
Run Code Online (Sandbox Code Playgroud)现在我不清楚的是,如果我们使用第二种方法,变量ConstStrVal在任何情况下被任何代码实际使用之前总是初始化为"some_string_value"吗?因为"静态初始化命令惨败",我担心这个.如果这个问题有效,为什么每个人都使用第二种方法?
哪种方法最好,2或3?我知道#define指令不尊重范围,大多数人不推荐它.
谢谢!