以下函数在 C++03 或 C++11 中是安全的还是表现出 UB?
string const &min(string const &a, string const &b) {
return a < b ? a : b;
}
int main() {
cout << min("A", "B");
}
是否可以返回对通过引用传递给函数的对象的引用?
是否保证临时
string
对象不会过早销毁?给定的函数是否有
min
可能表现出 UB(如果它不在给定的上下文中)?是否可以在避免复制或移动的同时制作等效但安全的功能?