c++核心 - 变量及基本类型

类型:空间及意义(也包含操作)
内置类型为什么定义这些呢?实际上也是生活中常用到的知识。比如整数,小数,字符,还有就是没有类型void。整数为什么又要定义这么多个呢?什么short,int,long, long long,这是为了便利和省钱的综合考虑。尽量少用空间,这样磁盘就用的少,钱也能省一些;但是随着硬件的发展,还是需要能做很多事,有时候就需要更大的空间,定义占用更多字节数的类型,可以带来一些方便。float, double也是类似的情形,不过double更通用了,因为运行速度快,和编译器更配,所以尽量用double就好。字符类型呢?实际上就是将字符编好码,0,1,2...分别代表不同的字符,这样就可以通过数字就让电脑知道我在说哪个字了。这里说下宽字符wchar_t,实际上有时候就是short的别名(vs应该就是这么干的),因为windows是utf-16的,每个字符占两个字节。
引用是别名,实际上就是为了方便,就跟某个人在家里叫大毛,在公司叫毛蛋差不多,不同的地方有不同的身份,但其实都是他。
指针是为了间接引用,为什么要间接呢?干嘛不直接点?主要是有时候不好直接,比如区分堆和栈的空间,堆上的东西是new,malloc出来的,只能通过指针引用;如果大家都定义栈对象呢?又浪费,又没办法大家共享空间。引用的语法需要从一而终,也不太适合间接引用的场景。指针是地址,我相信都知道了。
指针和引用是复合类型,就是类型的基础上再加上个或者&,实现指针或者引用的含义。
限定符const,可能很多人都会跟我初学时一样蒙圈,实际上核心记住,const是给编译器看的,编译器来帮你避免犯错。指明了const,编译器就会在你改变它的时候告诉你不允许。所以为什么尽量推荐你参数限定为const,就是为了避免自己犯错,然后犯错了编译器能够提醒自己,你这里错了。
后,后是限定指针,前是限定指向的对象,也是告诉编译器的,自己像个办法记住,比如后,相当于多了一层,指针本身是复合的,限定的是自己。
类型后面再讲吧。

猜你喜欢

转载自www.cnblogs.com/d-dream/p/12105384.html