C++不是C的超集!

2019 年 9 月 10 日

C++不是C的超集!

你可能听说过 C ++ 是 C 的超集。但如果你有两种编程语言的经验,你就会知道这根本不是真的。

当然,C ++ 有许多功能,C 没有;但也有一些功能只有 C 有,而 C++ 没有。 并且,也许最重要的是,有些代码可以在两种语言中编译,但却执行不同的操作。

你可以找到很多关于 C ++、C 之间异同的信息,但很多看起来很分散。在这里,我创建了一个简明的对比指南,并从 C、C++ 语言规范标准中摘录一些内容来支持这些异同。

注意事项:

本文主要针对 C、C++ 语言, 所以你需要熟悉 C 或 C ++ 中的其中之一,两个都熟悉则更好。

当我提到 C ++ 时,我指的是 C ++ 11 以上的版本,尽管本文大部分都适用于 C++ 早期的标准。 我也将引用 C ++ 17 标准 (目前 C++ 的最新标准)。

当我提到 C 时,我指的是 C99 标准,同时我也将参考 C11 标准 (目前 C 的最新标准)。

值得注意的是,许多编译器不完全兼容编程语言标准。这正是难以确定什么是标准,什么是不合规以及什么是实现定义的部分原因。如果你想要查看其他编译器的示例,我建议使用 Compiler Explorer 亲自动手实践一番,对比很有趣。

同样的代码,用两种语言编译,但结果不同

我认为这是最重要的差异类别方法策略。

const

原文链接:【 https://www.infoq.cn/article/4qtHBjS0HUNUSwO54b5G 】。未经作者许可,禁止转载。

登录后可解锁全站优质内容

免费畅享技术公开课、顶尖技术团队访谈、一线互联网大厂技术实践

文章
视频
电子书
研究报告
立即登录
2019 年 9 月 10 日 00:08 3424
用户头像
王文刚 Instagram 营销专家

发布了 8 篇内容,共 170662 次阅读,收获喜欢 50 次。

关注

评论

发布
暂无评论
发现更多内容

架构学习(二)作业

漫步跑小鸡

万物互联=区块链+物联网

CECBC区块链专委会

AI 物联网 区块链技术 智能高效

架构师训练营 Week 02 总结

Wancho

面向对象设计

架构师训练营第二周总结

陌生人

week2.学习总结

个人练习生niki

第二周作业(Cache接口隔离优化)

吴建中

极客大学架构师训练营

【架构师训练营】第二周作业

魔曦

极客大学架构师训练营

「编程模型」C++代码组织

顿晓

c++ 命名空间 namespace 代码组织 编程模型

week02 学习总结

Just顾

架构师训练营-第二周总结

坂田吴奇隆

极客时间架构课 Week02- 作业二:学习总结

yulyulcl

第二周学习总结

iHai

极客大学架构师训练营

第二周作业

架构师训练营第二次总结

+╮(╯▽╰)╭/>……

面向对象编程原则

asd945

架构师训练营第二周总结

毛叫

极客大学架构师训练营

【架构师训练营 - week2 -2】总结

早睡早起

OOD

Kiroro

架构师训练营 -week2- 总结

Geek_5a6ca3

架构师训练营第二周心得

努力努力再努力m

极客大学架构师训练营

week2.课后作业

个人练习生niki

依赖倒置原则

架构师训练营第二章作业

JUN

架构训练营第二周作业

Gavin

架构训练营第二周总结

Gavin

架构师训练营第二周-作业 Cache优化

无心水

极客大学架构师训练营 ISP

架构师训练营 -Week 02 学习总结

华乐彬

【架构课笔记 - 第二周】编程方法演进与OOP

Nelson

架构

第二周--设计模式

Just顾

架构师训练营第二周作业

努力努力再努力m

极客大学架构师训练营

架构师训练营第二课作业

曾祥斌

依赖倒置原则

Acker飏

极客大学架构师训练营

C++不是C的超集!-InfoQ