学C++有多难,你知道吗?

都2020年了,还要学C++吗?C++好多理工科大学里面都有,它的学习难度比其他编程语言比如Python, Javascript, 和Java等等难。那为什么呢?

C++难的原因有三个基本点:

提供抽象的同时也贴近硬件模型

Zero-overhead的抽象

兼容C

详细展开

例子一

请问下面的代码能正确编译链接吗?

//book.cpp class Book { public: static int Count; Book() = default; ~Book() = default; } int main() { Book::Count += 1; }

答案是不能!class Book后面右花括号要有分号! 哪里?如果你写过Java,你会更吃惊!按我们的书写习惯,Book的右花括号已经可以表明类结束了。但是为了兼容C,分号必须要有。为什么呢?因为C里面可以书写下面的代码

struct Book { } book;

这样子定义了一个名为book的Book变量。所以C++也需要在定义类的结尾时候书写分号。这个分号我无数次忘记,幸好现在的IDE比较智能,都会提示出来。

把分号添加了以后,我们能成功编译吗?不能,因为不能成功连接。如果用下面的命令编译

g+&

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值