如果在调试器中复制(而不是通过引用传递)字符串,我看不到字符串的值(在CLion和普通gdb中)。
我用来复制它的课程如下:
struct A{
explicit A(std::string s) {
std::ifstream in(s, std::ios__base::in);
in.close();
}
}
在整个构造函数的代码中, s
在调试器中为空,但ifstream正确读取其值。
以下两个屏幕截图。
使用C ++ 17和no / all优化会发生这种情况。