您的位置:首页 > 其它

谨慎使用匿名对象

2016-09-23 14:54 281 查看
有时为了代码简洁我们会选择使用匿名对象,但是它的生命周期是需要注意的,那就是当前执行语句分号结束后立即释放!!!不是等到函数执行结束。比如有一个工具函数
std::string GetApplicationPath(); // 获取当前进程所在目录

[/code]后续有几处需要传入 const char * 型参数,为了代码简洁,我这样写
const char *config_path = GetApplicationPath().append("config.ini").c_str();

[/code]结果单步调试 config_path 永远指向乱码,网上搜了一下原来匿名对象在当前语句执行完毕后立即释放,跟普通对象不同!

谨记!!!

来自为知笔记(Wiz)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: