集团主站
欢迎来到成都达内官方网站!达内—美国上市公司 亿元级外企IT培训企业!
成都it培训哪家好
成都it培训哪家好
全国服务监督电话:15023458194  |   联系客服   |
当前位置:主页 > 培训课程 > C++ >

成都C++培训:学习C++需要注意些什么?

发布者: 成都达内     浏览次数:     发布时间:2020-03-21 11:01:48

1、多看标准库文档,熟练使用其中常用的接口,标准库文档很多时候可以满足大部分需求。2、多敲代码,多练习,将书中的知识转化为自己的代码。...

  一、阅读资料

  1、多看标准库文档,熟练使用其中常用的接口,标准库文档很多时候可以满足大部分需求。

  2、多敲代码,多练习,将书中的知识转化为自己的代码。

  二、程序员思维对于一个需求或者一个项目,应先思考如何设计。

  例如:1、应该提供哪些接口,比如:返回图书信息,根据图书id,返回图书的全部信息。(比如:可以将图书信息作为参数引用传送,而函数返回bool值,提示存在或者不存在)。

  2、思考应该封装哪些变量及数据。

  3、思考使用什么数据结构存储数据(比如:map、hashmap,如果使用这个数据结构,会给程序带来哪些影响,使用哪个数据结构,性能较高,扩展性较好)。

  4、越简单越好,思考如果这个需求给其他人维护或者以后自己进行扩展,又应该如何设计这个项目使其更简单易懂又方便。

  5、思考数据长度是多大,是固定长度还是可扩展长度,后期会不会扩展。比如:图书仓库为1000,后期会不会想修改,加到1500等等,需不需要大规模更改代码。

  成都C++培训:学习C++需要注意些什么?

  三、用户思维

  1、用户只需要拿到.h文件和库,不应该提供给用户变量或者提供给用户会影响程序运行的变量及数据,这些应该封装到.cpp文件里。

  2、对于用户输入导致数据有误,如果是用户习惯,比如:输入空格,程序应该对空格处理,返回合适值;对于其他的错误,程序应该提示并定位到错误的来源,并由程序设计者思考用户会不会允许该错误,并决定程序是否继续往下执行。

  3、面向接口编程。

  4、思考用户需要的接口,避免暴露不必要的变量或数据等(可以使用私有类封装起来),将具体实现放在该私有类里(私有类在.cpp文件中实现,用户不可访问)。

  5、可以重构项目,但要把之前的项目的坑填完。但是过度优化也是一种灾难,如果一个工具,面向的用户是100个人,则不需要考虑给100000人用。

  四、交流学习遇到问题的时候,与同事或同学交流一个需求或问题的设计思路。

  1、思考与自己的思路相比有什么不同。

  2、为什么他会采用这种解法,这种解法的优点是什么,(可以从可扩展性、可维护性、可读性等思考)。

  3、自己的思路存在什么缺点以及优点,如何结合他的方法,寻求更好的解法。

  4、不确定的就要问,要有自己的想法。

  五、项目经验

  1、长期维护一个项目可能会受到项目影响,会受到项目开发者思路的影响,接触不同的项目视野会越来越开阔,不同的项目会有不同的解决方法,有各自的优点与缺点,扬长避短。

  2、一个项目,短期可能看不出来影响,长期维护,会发现最初设计的影响越来越大(开发、维护、扩展等等)。

  3、接触模板越深后,会发现C++因为模板而变成是一个“新的语言”,模板千变万化,发现C++越来越难学。

  4、不同平台接口不一样,比如安卓、ios、web等,使用方法也不一样,需要都去了解。

  六、代码规范

  1、参照匈牙利命名法与驼峰命名法。

  2、一般include系统文件放在文件的最上方。

  七、小tips

  1、如果子类不再被继承,可将重载父类的方法设置为final,如果被继承,则像之前一样采用override。

  2、对于一些由成员函数调用的函数,又不想把它们设置为成员函数,也不满足API函数,可不在.h文件中声明这些函数,在.cpp文件中直接定义。

  3、std::vector>可以写成:typedef std::vector< std::string> one_array; typedef std::vector two_array;

  4、所有子类共有的东西放在基类中,或者把基类单独提出来,放在一个.h文件中。

  5、对于memcpy这类直接操作内存的函数,一定要注意,因为这类函数是要写明读写多少字节的。如果某一个数组长度改写了,而memcpy函数长度忘了改,那么对内存的操作就会越界了。

  6、匿名函数可以用于提供接口,可以试试传函数,将操作交给用户。

(责任编辑:范老师)
最新开班
  • 成都Java培训班
    免费试听名额发放中...
  • 成都C++培训班
    免费试听名额发放中...
  • 成都PHP培训班
    免费试听名额发放中...
  • 成都网络工程培训班
    免费试听名额发放中...
  • 成都Unity3D培训班
    免费试听名额发放中...
  • 成都大数据培训班
    免费试听名额发放中...
  • 成都uid培训班
    免费试听名额发放中...
  • 成都会计培训班
    免费试听名额发放中...
  • 成都Python培训班
    免费试听名额发放中...
  • 成都嵌入式培训班
    免费试听名额发放中...
  • 成都web培训班
    免费试听名额发放中...
  • 成都软件测试培训班
    免费试听名额发放中...
在线留言
提交

校区地址:成都市锦江区东大街紫东楼端35号明宇金融广场19楼1906室

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市高新区奥克斯广场蜀锦路209号一楼商铺

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都锦江区东大街芷泉街229号东方广场C座3楼303

联系电话:15023458194

公交路线:芷泉街(188路;115路;515路;236路;505路;501路;84路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市武侯区佳灵路3号红牌楼广场2号写字楼11楼1115号

联系电话:15023458194

公交路线:红牌楼东(11路;92路;100路;111路;139路;g28路;快速公交K1/K2) 地铁路线:红牌楼站(地铁3号线)

校区地址:成都市锦江区红星路二段70号四川日报大厦502-2

联系电话:15023458194

公交路线:市二医院站(6路;49路;102路;5路;37路;g92路;) 地铁路线:地铁市二医院(地铁3号线)

校区地址:成都市锦江区东大街芷泉段229号东方广场C座16层

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:四川省成都市武侯区高新科技孵化园9号园区E座7楼

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都市高新区奥克斯广场B座1708

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

了解达内动态
关注成都达内教育公众号

首页 | 关于达内 | 课程中心 | 专家师资 | 视频教程 | 学员空间 | 校企合作 | 新闻资讯 | 就业指导 | 网站地图

2016-2025 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56