" return {...}; "在 C++11 中如何运作?
How " return {...}; " works in C++11?
>我正在尝试实现一个字符串。我想将字符串转换为小写,即所谓的boost::to_lower_copy(m_s)
.事实上,m_s
属于std::string
型。我的问题是return {boost::to_lower_copy(m_s)};
如何在功能to_lower_copy()
中工作.它如何返回字符串类型? 多谢。
class String {
std::string m_s;
public:
String(const std::string s) : m_s(s) { }
String to_lower_copy() const {
return {boost::to_lower_copy(m_s)};
}
};
attr(optional) return braced-init-list ;
是 C++11 中引入的替代返回语句语法。它复制列表初始化函数的返回值。编译器知道函数返回的类型,因为它是声明的一部分。
相关文章:
- 函数何时会在c++中包含stack_Unwind_Resume调用
- MSVC是否支持C++11样式的属性而不是__declspec
- 创建LinkedList退出,返回代码为-11(SIGSEGV)
- 我可以将一个用clang c++11编译的对象与另一个用c++17编译的对象链接起来吗
- 继承:构造函数,初始化C++11中基类的类C数组成员
- Python中的for循环与C++有何不同
- 如何将模板转换为C++11之前的模板
- c++11评估顺序(未定义的行为)
- C++中的VLA,扩展名为std=C++11
- 代码在我的计算机上运行良好,但是在将其提交给coursera时遇到未知的信号11问题
- "类模板示例<int>;"语句对 C++11 是什么意思?
- this_thread::sleep_for和计时时钟之间的关系是否由C++11标准指定
- 如何使用lock_guard在c++11中实现scoped_lock功能
- C++11 中不同类型的对象的 std::array 的替代方案
- 为什么 -mmacosx-version-min=10.10 不阻止使用标记为从 10.11 开始的函数?
- 为什么我的C++代码中出现'Segmentation Fault: 11'行?
- 强枚举类型定义:Clang Bug 还是 C++11 标准不确定性?
- " return {...}; "在 C++11 中如何运作?
- C++11: boost::make_tuple 与 std::make_tuple 有何不同?
- C++11编译器何时会使RVO和NRVO优于移动语义和常量引用绑定