前端学C++

420 阅读3分钟

这是我参与11月更文挑战的第1天,活动详情查看:2021最后一次更文挑战

前言

C++印象

搜索知乎,关于C++的学习与C++的话题,最经常看见的论调有三种:

c++十分复杂精深,我从事了十几年的C++开发只敢说对于C++有一定的了解;

c++有很重的历史包袱,其复杂度过高,在互联网开发方面不如JAVA与GO,RUST相比之是更好的语言,论底层也不如C;

学习c++,虽然不一定在实际的工作岗位上使用,但是可以培养很好的编程素养,以后在面对其他语言和各种开发任务的时候,都能很快触类旁通

为什么一个前端要学C++

作为一个非计科专业的程序员,在实习转正答辩时大boss在表达对于工作的肯定后,加上了这么句话:前端的各种框架很多,更新也很快,但是其中的很多理念、设计模式都是相通的;如果对于语言的底层设计有更多的了解,会更容易培养前端的sense,也能走得更远。带我的TL说的就比较简短:加强基础。我知道,基础包含了计算机组成原理、计网、操作系统、算法数据结构、编译原理…… 但是毕竟不是要去读CS本科,找一本一本教材慢慢学其实是个不错但是效率不高而且和实际结合不好的选择。这时,去学一门强类型的、被广泛用于各类开发任务的接近底层的语言,并去写点demo与项目是一个很好的串联各个知识点的方法。

为什么是学C++

像前文说的,C++是一门应用很广泛、且包含了很多程序设计思想的语言,虽然被诟病复杂度高、历史包袱重,但大量公司和优秀开发者对其的认可说明了它的优秀。而且我的学习目标不是简单的去搞后端(那样学GO可能是最快的),而是夯实基础,提高素养,那么给自己找点麻烦去啃啃更复杂的C++会更好;另一方面,RUST现在毕竟应用的不广,以后有空可以去学。

初探C++类型

之前主要接触的是python(变量直接声明就行),JS(需要let/var/const声明,但无需指定类型),大量的类型管理工作全都交给语言自己去处理了。 关于C++的基本类型,上张

image.png

理解起来并不难,unsigned,signed修饰词代表带不带正负号,long,short修饰词代表长度(类型 short 必须至少为 16 位宽。 类型 long 必须至少为 32 位宽。 类型 long long 必须至少为 64 位宽)

可以对带有修饰词的类型进行一些省略,编译器能够识别,例如:

long longlong long intsigned long longsigned long long int

是同义的。

除了类型和基本修饰词,下篇文章聊聊限定符 const 那些事