临时人员的一生
下面的代码工作正常,但为什么这是正确的代码?为什么foo()返回的临时指针“c_str()”有效?我想,输入bar()时,这个临时的部分已经被销毁了-但是它似乎不是这样的。那么,现在我假设foo()返回的临时数据将在调用bar()之后销毁-这是正确的吗?为什么?
std::string foo() { std::string out = something...; return out;}void bar( const char* ccp ) { // do something with the string..}bar( foo().c_str() );
MYYA
扬帆大鱼
相关分类