use*_*619 2 c++ temporary undefined-behavior
这是明确定义的行为吗?
const char* p = (std::string("Hello") + std::string("World")).c_str();
std::cout << p;
Run Code Online (Sandbox Code Playgroud)
我不确定.原因是什么?
不,这是未定义的行为.这两个std::string临时工和临时由归国operator+只活到你的初始化结束const char*(充分表达结束).然后它们被摧毁并p指向不确定的记忆.
| 归档时间: |
|
| 查看次数: |
231 次 |
| 最近记录: |