Lobsters | 📄 原文链接 | 2026-10-19 收录

C++ 的安全问题(一):为什么「它能跑」远远不够

来源:www.modernescpp.com — 2026-10-18

📋 概述

这是 Rainer Grimm 去世后,Klaus Iglberger 接手其博客的第一篇文章,先交代了背景:Rainer 于 2025 年 10 月 6 日因渐冻症离世,几位 C++ 专家决定共同延续他的博客。正文从一个不争的事实开始:C++ 不是内存安全的。2022 年 NSA 就建议安全相关软件不要再使用 C/C++,欧盟《网络弹性法案》的建议方向相同,其背后是到 2021 年全球网络犯罪年损失约 5.5 万亿欧元的估算。作者不打算参与「这些数据被夸大」的社媒争论,而是转向真问题:我们社区里到底错在哪。他拿 LinkedIn 上一段「回文判断」代码当靶子:滥用 using namespace std、把演示逻辑塞进 main、输入没 const、两个变量挤一条语句、名叫 Pointer 却是 int、size-1 只因选了 int 才没炸、用下标访问不做边界检查、后缀自增却不用旧值——几乎把核心准则违反了个遍。但他真正的杀招在后面:即使改写成用 string_view 和迭代器的 is_palindrome,你也没有把握说它 100% 没有安全问题。无法确信本身,就是「差代码」的定义。

🔑 核心要点

💡 金句

问题不是「它跑得好不好」,而是「你是否确信」。你是否 100% 确信,这段代码不含任何安全或安保相关的问题?
← 返回 Lobsters 首页