<分区>
我想使用 std::pair<bool, std::string>
的等价物作为函数返回类型。在下游代码中使用 ok
会更好看和 msg
而不是 first
和 second
访问器以避免不必要的 API 查找。而且我似乎无法使用继承将其正确编写为 std::pair
没有虚拟析构函数可能会泄漏。想避免我自己的结构作为 Renamed std::pair members 中的解决方案- 重用现有的 Move 构造函数和其他管道。有可能吗?
编辑:
经过反馈好像推荐的做法是:
struct res {
bool ok;
std::string msg;
};
res fnk() { ...; return r };
我是否正确理解 C++11 编译器希望生成移动构造函数以避免复制字符串?