都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+&#