c++ - 像 strlen、strcpy、strcat 这样的字符串函数真的又旧又坏吗?
问题描述
我问了一个关于这个话题的问题,人们说我的大学教我这些古老的图书馆有问题。这真的是真的吗?我应该改用什么?对不起,我还很新,我是第一年。
解决方案
原始 C 字符串是造成现实世界软件中很大一部分安全漏洞的原因。
正确处理缓冲区很困难,而且出错的情况令人沮丧。字符串的低级原始内存缓冲区操作有一个用途,但首先教授它是有问题的。
教授 C++ 的一种方法是将其作为 C 来教授,然后添加一些 C++ 特性。另一种是先把它作为C++来教,然后加入C兼容的子方言。
您听到的批评是反对先教 C 然后教 C++ 选项。
学习如何用 C 编程很棒;试图同时学习 C 和 C++ 会让你成为一个糟糕的 C 和糟糕的 C++ 程序员。
当 C++ 第一次被发明时,这是一种合理的方法。有 C 专家,但没有 C++ 专家。从那时起已经有几十年了,C++ 中的最佳实践不再与 C 中的最佳实践相似,反之亦然。
推荐阅读
- crystal-lang - 从 JSON 参数创建 Granite 模型
- java - 根据月份名称首先出现的格式获取日期
- javascript - Sparx Enterprise Achitect 中的包 ID
- bootstrap-4 - 删除 div 时的引导网格布局
- javascript - window.scrollTo 选项不适用于 Microsoft Edge
- c# - 直接将 C# 值赋值给对象引用
- apache-zeppelin - Zeppelin 中经过身份验证的 Rest 调用
- c# - 我如何从同一个班级获得上下文?
- .net - NuGet 包管理器 - 找不到项目“默认”。- 视觉工作室 2017
- sesam - Sesam DTL - 痛苦地创建复杂的 json 输出