小编Hun*_*ter的帖子

wchar_t和编码

如果我想将一段字符串转换为UTF-16,比如说char * xmlbuffer,我是否必须wchar_t *在编码之前将类型转换为UTF-16?char*在编码为UTF-8之前是否需要输入类型?

怎么样wchar_t,char与UTF-8或UTF-16或UTF-32或其他转换格式有关?

在此先感谢您的帮助!

c++ wchar-t character-encoding

6
推荐指数
2
解决办法
6075
查看次数

是静态const字符串成员变量在使用之前总是初始化的吗?

在C++中,如果我想定义一些可以在不同的类,函数,文件中使用的非本地const字符串,我所知道的方法是:

  1. 使用define指令,例如

    #define STR_VALUE "some_string_value"
    
    Run Code Online (Sandbox Code Playgroud)
  2. 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)
  3. 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指令不尊重范围,大多数人不推荐它.

谢谢!

c++ const-string

5
推荐指数
1
解决办法
1794
查看次数

标签 统计

c++ ×2

character-encoding ×1

const-string ×1

wchar-t ×1