近来在学习C++,教材是《C++ Primer 中文版》第4版,工具是Visual Studio 2010英文版。由于用习惯了Java,发现C++有挺多让我不爽不习惯的地方,此篇文章记录学习过程中的不爽,作为熟悉C++后的看料。
C++中的指针好生使人晕乎,指针在内存中倒腾来倒腾去,很容易出错,而且程序员读含有指针的代码也蛮费力的。所谓复杂的难懂的也就灵活,指针在编程的灵活性上确实有优势。但是Java没有指针,编程也没有太多的不灵活呀。
C++中的头文件有点类似Java中的接口,将一个类的一些接口定义在头文件中,然后在cpp源文件中实现。头文件和cpp源文件让我不爽的是一个文件中竟然可以定义多个类,而且文件名字可以与所定义的类名不同,还有类的方法的各个实现在源文件中可以相距十万八千里,这看起来找起来多么别扭。
Visual Studio的很多快捷键与Eclipse大相径庭,而且很多快捷键竟然用双重快捷键,比如(Ctrl + E, Ctrl + C),因为想用快捷键就得按两次键盘,这是多么令人不爽。更要命的是照着Visual Studio快捷键大全试了好多快捷键都没起上作用(可能是因为我远程桌面的缘故吧),无奈我装上了AsEclipse插件模拟Eclipse的一部分快捷键,还只是一部分快捷键。
按照书上的习惯格式,每个类的变量总喜欢写到类的最后面,这好像与Java写到最前面恰好想反,看一个类的第一眼我最想知道这个类中有哪些变量,C++将这些搁到最后面还得用眼睛一直扫描到最下方。
C++的变量和函数命名方法用下划线和不完整的单词用起来非常不方便,下划线会减慢代码的敲打速度,不完整的单词难以起到见名知意的效果。
C++的为指针和引用的参数可以使用多态,而对象就不可以使用多态,只是规定了这么个龟腚,没说为什么。还有其它的一些不顺其自然的龟腚。