比如有一个工具函数
std::string GetApplicationPath(); // 获取当前进程所在目录
后续有几处需要传入 const char * 型参数,为了代码简洁,我这样写
const char *config_path = GetApplicationPath().append("config.ini").c_str();
结果单步调试 config_path 永远指向乱码,网上搜了一下原来匿名对象在当前语句执行完毕后立即释放,跟普通对象不同!
谨记!!!
std::string GetApplicationPath(); // 获取当前进程所在目录
const char *config_path = GetApplicationPath().append("config.ini").c_str();