提问人:code_fodder 提问时间:11/7/2023 更新时间:11/7/2023 访问量:68
潜在的 null 应从警告
potential null deference warning
问:
从这里投票最多的答案之一:将整个 ASCII 文件读入 C++ std::string
使用较新的编译器 (gcc),给定以下代码以将文件读取到字符串中:
std::ifstream t("file.txt");
std::string str((std::istreambuf_iterator<char>(t)),
std::istreambuf_iterator<char>());
较新的编译器会发出潜在的 null 服从警告 - 请参阅:https://godbolt.org/z/KojKWT4WK
我们正在使用接受第一个/最后一个迭代器的 std::string 构造函数 - 我很高兴它们被设置为正确的值,所以我认为这段代码没有任何问题。
但是编译器对 std 库代码不满意(我猜)——也许这段代码没有正确检查/处理空指针?
所以这里的问题是,“我的”代码是可以接受的还是有潜在的错误?- 或者这是 std 库中可能存在的错误?或者这只是一个虚假的姿态?
答:
评论
std::istreambuf_iterator<char>(t)
begin != end
begin
nullptr