c++有什么用?
c++学好有用吗?
回归一下标题:
为什么要设计出c++?
为什么你要问这个问题?你问为什么有C++是啥意思?那我问为什么有你这个小可爱呢?你的意思是不是: 为什么在C语言的基础之上要设计出C++ ?假定你是这个意思。首先C++与C语言最大的区别就是C++是一门面向对象的编程语言,其具有继承性,封装性,多态的特点,会让我们的编程更灵活,而且可以用很多技巧。还有C++对内存操作这一块的安全性是高于C的。总之C++的好处还有很多,我就不一一列举了
好问题。
现在有各种高级语言类似于python/c#/java之类的,可以让开发抄的简单,特别是是大型项目。早些时候,大家都用汇编和C语言这种比较低级的语言,那时候大概也只能用这些语言,程序运行效率是高的,但是普通程序要是想要开发大型项目,哪怕是现在看起来一个非常简单桌面程序,都要一个高手C程序员开发好长时间。很显然,低级语言无法满足现在当前快速更新软件的要求。那么,像C++这样的高级一点,面向对象的开发语言就应运而生了。用c++开发大型项目,那是不知道比C语言开发快了多少。当然,目前像C#和Java这种高级语言,开发效率比C++还快出不少,像开发一个界面程序,C#只需要半个小时,一个菜鸟程序员,就可以写出了一个像模像样的桌面程序了。如今在各种好用的高级语言大行其道的时代,C++的使用率仍能排进前三,是因为C++具备了高级语言开发效率高的特点,又具备了低级需要运行效率高的优势。所以,为什么要设计C++?c++的设计是革命性的,后来的各种高级语言都继承了c++的设计思想。它设计的目的,就是为了提高开发效率,满足日益复杂的app开发。上世纪60年代,计算机如此简陋,只能做一些很简单的运算,连界面程序都没有,也没有操作系统,那时使用汇编就可以,毕竟你不能指望那时的硬件可以做点什么。70年代,那时计算机有了很大发展,有了操作系统,也有了界面程序,程序更复杂了,汇编语言已经很难开发出复杂的程序了,于是c就被发明了。后来嘛,硬件越来越厉害,电脑走近平常百姓家,app越来越炫酷,c语言对于大型项目的开发,越来越力不从心,于是有人基于c,发明了革命性的c++,它兼容了c,但又有自己独特的东西。或许现在的人,用惯了Java之类的高级语言,觉得c++挺难用,于是就好奇地问,为什么要设计C++,那是因为C++是所有面向对象高级语言的爸爸,先有它才有后边的各种高级语言。
引用就是C++对C语言的重要扩充。引用就是某一变量的一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法:类型标识符 &引用名=目标变量名;引用引入了对象的一个同义词。定义引用的表示方法与定义指针相似,只是用&代替了*。
1.指针有自己的一个地址空间,但是引用只是变量的一个别名
2.Sizeof()结果不同,指针调用sizeof()后为4,引用调用sizeof后结果为变量的大小
3.初始化不同,指针可以初始化为nullptr,引用定义的时必须初始化为一个变量的引用
4.++运算的含义不同,指针++地址指向下一个,引用++是变量的值加一
5.指针的指向可以改变,引用只能是一个变量的引用,不可以改变,指向不可改变,引用可以理解成一个常量指针
6.可以有const指针,不可以有const引用
7.参数传递是,指针需要解引用才能对变量进行操作,直接对引用的修改就是对变量的修改
8.指针可以有二级指针,引用不可以
9.如果返回一个动态分配的对象或内存,应该使用指针,而不是引用,引用容易产生内存泄漏