下面的函数在C++03或C++11中是否安全,还是会出现未定义行为?
string const &min(string const &a, string const &b) {
return a < b ? a : b;
}
int main() {
cout << min("A", "B");
}
将对象通过引用传递给函数后,返回该对象的引用是否可行?
临时
string
对象是否保证不会过早销毁?如果在给定的上下文中没有 UB,那么给定的函数
min
是否可能出现 UB?是否有可能创建一个等效但安全的函数,同时避免复制或移动操作?
std::strcmp()
。 - bluescarnistring
还是其他临时对象类型都没有关系。问题的意思是通用的。 - Juraj Blaho