C++是非常经典的语言,要想在软件行业做好,一定要学好它。
简介
首先,C++与Pascal(Object Pascal)的不同有很多,比如C++不能在函数内定义函数,这一点在Pascal的程序员处转来时很不习惯的。还有一些比如等号,赋值号,等等。总体来说,C++在写程序的时候感觉要比Pascal简练不少。
与C#和JAVA的对比:为什么要把C#和JAVA放在一起呢,因为总体来说,但从语法上讲,C#和JAVA还是很相似的,除了一些个别的地方。从C#和JAVA的程序员转来的人要注意,C++的指针使用是非常频繁的,而且C++并不是完全的面向对象,还有不少面向过程的地方,比如开始的main函数是单独的一个过程,而不是封装在类里的。
各部分的理解
我在学习的过程中,发现一个有效的学习之后,不是自己记住了多少代码,自己可以不看书写出多好的程序,我认为这样是没有必要的,最重要的东西是你学习了一门语言应该怎么用,在什么情况下用那个部分,在什么情况下用什么语句,这才是学习的重点,其他的比如语法之类的东西是可以在编程过程中现查的。所以我想把各个部分的我对其用法的理解在这里和大家分享一下,希望可以帮助大家。
1. 函数:
函数大家都知道,但是在什么样的情况要用函数来做呢?
首先,如果有些相同的或差别很小的语句块被反复的使用,那么把它封装在一个函数里是很必要的,这样的好处是显而易见的,可以减少代码量,更重要的是维护方便,改变一个地方就可以改变所有的地方。如果考虑到性能的要求可以使用内联函数或宏,不过推荐使用内联函数。
其次,就是可以独立出来作为一个部分的,应该独立出来,这样可以提高代码的可读性,方便维护。
再次就是一些在编码过程中可能更换的一些函数,我一般会把测试的代码独立出来,这样删除的时候也不至于会因为看错了一行而删错。
2. 函数重载
这是个很有用的功能。
在函数功能完全一样,只是个别的参数的类型或者是个数不一样,可以使用函数重载,这样可以省去记忆一个函数。但是,如果内部的代码也绝大部分是一样的,只有个别的地方不太一样的话,可以考虑把这些函数合并起来,并加一个参数来判断哪种类型,这样可以省去一部分代码。
另外,构造函数的重载提供了多种初始化类的方法,很推荐大家使用。