如果这样的代码是正确的(根据标准),你能告诉我:
struct array {
int data[4];
operator const int*() const { return data; }
};
void function(const int*) { ... }
function(array()); // is array data valid inside function?
Run Code Online (Sandbox Code Playgroud)
谢谢
Mik*_*our 12
是.临时对象有效,直到创建它的完整表达式结束; 也就是说,直到函数调用返回之后.
我手边没有我的标准副本,所以我不能给出确切的参考; 但它在C++ 0x最终草案的 12.2中.