相关疑难解决方法(0)

如何将wchar_t*转换为std :: string?

我改变了我的类使用std :: string(基于我在这里得到的答案,但是我有一个函数返回wchar_t*.如何将它转换为std :: string?

我试过这个:

std::string test = args.OptionArg();
Run Code Online (Sandbox Code Playgroud)

但它说错误C2440:'初始化':无法从'wchar_t*'转换为'std :: basic_string <_Elem,_Traits,_Ax>'

c++ string wchar-t stdstring

30
推荐指数
5
解决办法
5万
查看次数

了解返回值优化和返回临时值 - C++

请考虑三个功能.

std::string get_a_string()
{
    return "hello";
}

std::string get_a_string1()
{
    return std::string("hello");
}

std::string get_a_string2()
{
    std::string str("hello");
    return str;
}
Run Code Online (Sandbox Code Playgroud)
  1. RVO是否适用于所有三种情况?
  2. 可以在上面的代码中返回一个临时的吗?我相信它没关系,因为我按值返回它而不是返回任何引用它.

有什么想法吗?

c++ compiler-construction return-value-optimization

23
推荐指数
2
解决办法
4714
查看次数