C++之让我不爽的地方(Java转C++,因为不习惯所以不爽)
近来在学习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++的为指针和引用的参数可以使用多态,而对象就不可以使用多态,只是规定了这么个龟腚,没说为什么。还有其它的一些不顺其自然的龟腚。
C++之让我不爽的地方(Java转C++,因为不习惯所以不爽)相关推荐
- 算法导论一个让人很不爽的地方
就是伪代码的可读性问题,都是直接用a,p,r这几个数字来表示,让人感觉看起来有点不舒服,有时候隔一顿饭回来看就要翻回前面看这个字母代表说明意思 转载于:https://www.cnblogs.com/ ...
- 爱人啊,我想带你去世界的任何一个地方--java篇
-- 内容转载自知乎 -- 我漫步在离家最近的交通工具大市场中.两旁,商行们令人眼花缭乱的光影广告卖力地宣传着各种奇异的载人工具. 逛了一阵之后,我在两家紧挨着的商行旁边站了下来.一家是历 ...
- java工程师占比_Java工资怎么样?哪个地方Java工作机会最多?
随着IT产业的发展,JAVA语言因其独有的特点,使其在各项服务器中应用程序的开发所占有一定的优势,随着JSP技术的发展,使Java语言的网络应用更为实际化.更高效快捷,成为IT产业常用的技术. 越来越 ...
- 5G进京 “赶考”记:“占得上、保持稳、体验优、信号好”四道考题,分别打几分?...
还有不到一个月的时间,就到了全国学生们最紧张的日子:高考.考试,似乎已经在漫长的岁月里,刻入了华夏人的DNA. 古代,科举考试就曾吸引各地考生在初春时节远赴京城,追求"春风得意马蹄疾&quo ...
- 用Carbide C++ UI Designer做UI的爽与不爽
做过Symbian程序的人可能都会多少有这样的感觉,为啥在Symbian下做什么都这么不爽?这么麻烦?包括通常觉得不那么麻烦的UI.像其他平台,如iPhone/Android/Windows Mobi ...
- IIS6 + Resin3.1.x 的不爽之处
终于配置好了IIS6 + Resin3.1.x.Resin的高效和IIS多虚拟站点的方便的管理,加上IIS6对GZip的良好支持,用起来真的很方便. 不爽的地方目前发现一处: 就是不能使用 Resin ...
- 用几行python代码获取Yahoo,tushare股票数据,超级爽!!(比爬网好太多)
在网上获取股票信息有非常多的方法,在此分享用几行Python代码就搞定想要的股票历史数据,一个是国外Yahoo的接口(缺点是比较慢),另一个是国内的tushare接口(速度快,但限制比较多):少废话先 ...
- Windows最经典应用大变脸:学生爽翻!
微软不是喊要开放爱开源喊了很久了吗,它的一些内置应用代码也开始在GitHub开源社区里面流通,当传统的小工具应用碰上人民群众的奇葩脑洞,事情就会开始变得复杂起来.Windows 10自带的UWP应用计 ...
- 有没有一种让人很爽的学习方法?
一切不让你爽的学习方法,都不是好方法! 曾读到过学神 Scott Young 的一篇文章,探究为何多数人觉得学习很不爽[1]. 如果你没听说过他:Scott Young 从小就是那种,"轻松 ...
最新文章
- tomcat 页面图片 管理 服务器 配置
- Java EE:异步构造和功能
- 简单的数据增强代码(C++与opencv)
- 使用GRU单元的RNN模型生成唐诗
- 在Windows上build Spark
- [JSOI2008] 最小生成树计数
- java-web学习笔记(第一章)
- Office文件格式兼容包FileFormatConverters(office 2010)
- 交流异步电机矢量控制(一)——电机模型及其坐标变换
- Redis和MySQL保持数据一致性
- eos 源代码学习笔记二
- scikit-learn中交叉验证及其用于参数选择、模型选择、特征选择的例子
- 穷爸爸富爸爸里面说的“现金流游戏”靠谱吗?
- Zerg虫族的传说[官方资料]
- SpringCloud Alibaba 从入门到精通(精选)
- ffmpeg视频剪切与拼接
- 从cocostudio获取控件,添加回调函数
- leetcode题解-647. Palindromic Substrings 5. Longest Palindromic Substring
- B. Difference of GCDs #808 div2
- MySQL调优系列:如何正确的使用MySQL索引
热门文章
- 数据库中 date 类型 实体类对应可以是 String 类型
- 04-面向对象之:封装,多态
- force complete tenting on top 与 force complete tenting on bottom (过孔)
- unity 发光字体_Unity 游戏开发技巧集锦之创建自发光材质
- c语言英文分词,英文分词的算法和原理
- luogu1979 华容道
- android+好用插件推荐,安卓插件推荐:安卓手机必装插件推荐
- Ubuntu整个系统迁移到其他盘办法
- shell编程—tomcat自动发包详解
- mysql lag和lead_Oracle的LAG和LEAD分析函数