" return {...}; "在 C++11 中如何运作?

How " return {...}; " works in C++11?

本文关键字:何运作 C++11 return      更新时间:2023-10-16

>我正在尝试实现一个字符串。我想将字符串转换为小写,即所谓的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 中引入的替代返回语句语法。它复制列表初始化函数的返回值。编译器知道函数返回的类型,因为它是声明的一部分。