免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 25666 | 回复: 22

[分享] 快来吐槽C++,即可获赠经典《大规模C++程序设计》! [复制链接]

论坛徽章:
1
天蝎座
日期:2013-12-06 18:23:58
发表于 2014-12-22 14:33 |显示全部楼层
获奖名单已公布http://bbs.chinaunix.net/thread-4167976-1-1.html

现在各种新型语言层出不穷,还记得当年的C++吗?各位同学还记得C++这们语言么? C++也是在不断的发展,C++11,C++14标准不断改进,让C++变得越来越强大。目前有不少项目还是在用C++开发,很多大公司对C++还情有独钟,例如Facebook,Google很多项目还活跃着C++的身影。C++实际上还是有点难度的,功能强大的像瑞士军刀,灵活百变,想必大家在使用过程中有不少心得。本期话题我们就聊聊C++,特别是在大规模程序设计和项目中,我们都遇到过哪些坑?

本期话题:
1.  如何学习C++,怎么才敢有信心说自己掌握了C++
2.  谈谈如何组织C++工程的代码,让项目可持续发展,发挥C++的威力
3.  分享一下C++开发的各种秘笈,例如什么特性可以用,什么特性慎用,说说C++的各种槽点

活动时间: 2014-12-22~2015-1-22

活动奖励:
《大规模C++程序设计》

    原书名:Large-Scale C++ Software Design
    原出版社: Addison-Wesley Professional
    作者: (美)John Lakos   
    译者: 刘冰 张林
    丛书名: C/C++技术丛书
    出版社:机械工业出版社
    ISBN:9787111474258
    上架时间:2014-10-13
    出版日期:2014 年10月
    开本:16开
    页码:548

样章试读:
文前.pdf (718.67 KB, 下载次数: 74)

论坛徽章:
268
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
发表于 2014-12-22 15:57 |显示全部楼层
1.  如何学习C++,怎么才敢有信心说自己掌握了C++
学了尽量在项目中使用,有些很少用到的特性,一阵不用就忘了。C++的东西太多了,从来没有信心说自己掌握了C++

2.  谈谈如何组织C++工程的代码,让项目可持续发展,发挥C++的威力
大项目尽量拆成多个小工程,用抽象类做接口

3.  分享一下C++开发的各种秘笈,例如什么特性可以用,什么特性慎用,说说C++的各种槽点
没有必要的话还是尽量只用常规的,少用新特性,一来考虑适应比较老的编译器,二来考虑大部分人对C++的掌握程度

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
发表于 2014-12-23 11:01 |显示全部楼层
1.如何学习C++,怎么才敢有信心说自己掌握了C++

边用边学,如果不会写,那么看多少书都没用,

2.谈谈如何组织C++工程的代码,让项目可持续发展,发挥C++的威力

灵活性第一,性能最后,命名统一,不听构架师的拉出去弹小鸡鸡。

3.分享一下C++开发的各种秘笈,例如什么特性可以用,什么特性慎用,说说C++的各种槽点

少写炫技的feature,尽量用标准库,别为了一点性能朝死里纠结。慎用某些语法负责的东西,防止别人看不太懂骂娘。

论坛徽章:
0
发表于 2014-12-23 12:04 |显示全部楼层
1.如何学习C++,怎么才敢有信心说自己掌握了C++
兴趣是关键,刚刚看东哥谈大数据也就是大三产生了兴趣去学,现在已经是大咖了,东西学的多用的多想的多,自然可以千变万化
2.谈谈如何组织C++工程的代码,让项目可持续发展,发挥C++的威力
团队合作是关键,天时地利人和,人和才是关键,只有Team齐心,才能发挥极致
3.分享一下C++开发的各种秘笈,例如什么特性可以用,什么特性慎用,说说C++的各种槽点
分享关键,简单明了的描绘重点及思路,一些渲染复杂作死的特性就算了啊

论坛徽章:
22
丑牛
日期:2014-08-15 14:32:0015-16赛季CBA联赛之同曦
日期:2017-12-14 15:28:14黑曼巴
日期:2017-08-10 08:14:342017金鸡报晓
日期:2017-02-08 10:39:42黑曼巴
日期:2016-11-15 15:48:38CU十四周年纪念徽章
日期:2016-11-09 13:19:1015-16赛季CBA联赛之同曦
日期:2016-04-08 18:00:03平安夜徽章
日期:2015-12-26 00:06:30程序设计版块每日发帖之星
日期:2015-12-03 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-09 06:20:002015亚冠之吉达阿赫利
日期:2015-07-03 08:39:42
发表于 2014-12-23 12:18 |显示全部楼层
本帖最后由 amarant 于 2014-12-23 12:19 编辑

上有java,下有c。鸡肋鸡肋

论坛徽章:
8
亥猪
日期:2014-02-09 10:55:252015小元宵徽章
日期:2015-03-06 15:57:20数据库技术版块每日发帖之星
日期:2015-06-08 22:20:00综合交流区版块每日发帖之星
日期:2015-06-14 22:20:002015亚冠之阿尔沙巴布
日期:2015-09-01 20:23:45IT运维版块每日发帖之星
日期:2015-09-04 06:20:00IT运维版块每日发帖之星
日期:2015-11-04 06:20:00IT运维版块每日发帖之星
日期:2015-12-04 06:20:00
发表于 2014-12-23 18:31 |显示全部楼层
crazyhadoop 发表于 2014-12-22 14:33
现在各种新型语言层出不穷,还记得当年的C++吗?各位同学还记得C++这们语言么? C++也是在不断的发展,C++1 ...


求书,顺便鄙视一下C++,这玩意真要比起来,不如Java

论坛徽章:
0
发表于 2014-12-23 20:37 |显示全部楼层
1.如何学习C++,怎么才敢有信心说自己掌握了C++
      学习C++最重要还是将其特性用代码表示出来,小程序是难以体现出其魅力的。C++最重要无疑是其面向对象的特点,听着容易,真正理解起来不是几周就能做到的,只有与将其与大规模项目结合起来,如何将需求用类的接口表示出来才是最重要的。掌握C++?相信没有5年的经验以上是不敢说这句话的。
2.  谈谈如何组织C++工程的代码,让项目可持续发展,发挥C++的威力
      工程的代码主要是规范,可以这么说只看头文件就能让人一目了然。另外扩展性也是很重要的,别人能直接拿去用,或者在此基础上强化功能,扩展一些特性。真正能将性能体现出来的C++才是真正的C++,否则只是一段C代码而已。
3.  分享一下C++开发的各种秘笈,例如什么特性可以用,什么特性慎用,说说C++的各种槽点
     个人觉得还是尽量使用大众化的特性,少用偏门的处理函数或者优化底层的方法,实际的工程是没那么死扣字眼的。跨平台这个特性还是觉得不错的,哈哈。当然有时C++的一些库还是觉得不够好用。
     

论坛徽章:
1
白羊座
日期:2013-08-22 17:30:33
发表于 2014-12-26 15:21 |显示全部楼层
1.  如何学习C++,怎么才敢有信心说自己掌握了C++
     第一步看书,看《c++primer》、看《effective C++》、看《C++沉思录》等等
     第二步练习,所谓曲不离口,码不离手,不过你看过再多的书,只有你真正动手依着自己的理解去写出一行行代码,你才会知道自己的C++掌握到了何种程度了。
     第三步反思,根据自己所做过的练习与所看过的书,总结自己理解上的死角,然后再读书让自己的理解再一次加深。
     第四,如此往返第一到第三个步骤。终有一日,事可成矣。
     建议大家可以看coolshell.cn/articles/4119.html
2.  谈谈如何组织C++工程的代码,让项目可持续发展,发挥C++的威力
     C++工程代码的组织其实反映的是设计者对于整个实现系统的设计及抽象。因此,第一步必须先做好抽象与设计。即要以适当的粒度抽象好功能模块,然后借助各种设计模式技术,尽量做到模块间高内聚低耦合。另外要注意降低各个类间的依赖性,可以使用将类拆分成接口与实现的技巧。等等。
3.  分享一下C++开发的各种秘笈,例如什么特性可以用,什么特性慎用,说说C++的各种槽点
     首先C++是庞杂的,在<effective C++>一书中就提到,在使用C++的时候,要学着从各种维度去考虑:1.C的维度 2.面向对象C++ 3.模板C++ 4.STL。在不同的维度下,使用C++时所需要遵循的法则是不尽相同的。
     C++的有用特性,如public 继承, 如模板类抽象;慎用的特性,如private继承 多重继承等等。

论坛徽章:
16
处女座
日期:2014-07-18 14:50:542017金鸡报晓
日期:2017-02-08 10:33:212017金鸡报晓
日期:2017-01-10 15:13:2915-16赛季CBA联赛之深圳
日期:2016-12-15 17:55:53C
日期:2016-10-25 16:00:1515-16赛季CBA联赛之新疆
日期:2016-07-21 14:02:0415-16赛季CBA联赛之江苏
日期:2016-06-30 12:15:04shanzhi
日期:2016-06-17 17:59:31平安夜徽章
日期:2015-12-26 00:06:30综合交流区版块每日发帖之星
日期:2015-10-10 06:20:00IT运维版块每日发帖之星
日期:2015-09-01 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17
发表于 2014-12-28 15:11 |显示全部楼层
本帖最后由 shenlanyouyu 于 2014-12-28 15:13 编辑

1.如何学习C++,怎么才敢有信心说自己掌握了C++
理论学习+编程实践,其次项目驱动,通过项目来加深理解,深化学习。
(1) 首先,需要一本好的入门书籍来指导学习,初学者通常都会选择C++ primer。
(2) 其次,搭建编译调试环境,一边学习,一边实践。选择编译调试平台,通常有两种选择:Windows Visual studio和Linux gcc。
(3) 在项目中,深化学习和提高自己。使用设计模式和经典的设计方法来构建程序。
看过一句话,没有写过十万行程序,不要说自己是熟练掌握了一门语言。(借用网络版改了一下)
2. 谈谈如何组织C++工程的代码,让项目可持续发展,发挥C++的威力
使用设计模式和经典的设计方法来构建程序。
(1) 合理的抽象
(2) 接口和实现分离
(3) 使用设计模式
(4) 慎用继承,多用组合和聚合。
3. 分享一下C++开发的各种秘笈,例如什么特性可以用,什么特性慎用,说说C++的各种槽点
C++是面向对象的语言,木有接口类,非得用纯虚函数来实现,有木有啊。在实现接口和实现分离,通常会采用纯虚函数实现接口类。
慎用:
(1) 多重继承。C++允许多重继承,多重继承有木有啊,使用不好带来各种问题,例如二义性啊。可使用设计模式、组合或聚合的方式来避免使用多重继承。
(2) 默认的构造函数。例如默认的复制构造函数,例如类中有一个指针变量指向一段内存,默认的复制构造函数只会复制指针的值,不会重新去申请一段内存。
(3) 强制类型。类型转换尽量采用c++内置的类型转换函数,而不要强行转换。

论坛徽章:
0
发表于 2014-12-31 11:37 |显示全部楼层
1.  如何学习C++,怎么才敢有信心说自己掌握了C++
可以分情况考虑,如果手头正好有项目,就跟着高手学,看他们的代码,边做边学;
如果单单为了学C++的话,边学边练习,一定要有练习哦。
我想至少做1~2个项目才能基本了解、熟悉它,再做1~2大项目就可以算掌握了。
2.  谈谈如何组织C++工程的代码,让项目可持续发展,发挥C++的威力
代码规范,模块解耦,团队协作
3.  分享一下C++开发的各种秘笈,例如什么特性可以用,什么特性慎用,说说C++的各种槽点
发挥C++的面向对象特点,正对不同需要使用适当的技术特性,新特性成熟后可以使用,即将过时的慎用。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

基于案例的 SQL 优化实战训练营

讲师:中电福富特级专家梁敬彬,参与本次课程培训,你将收获:
1. 能编写出较为高效的 SQL;
2. 能解决70%以上的数据库常见优化问题;
3. 能得到老师提供的高效的相关工具和解决方案;
4. 能举一反三,收获不仅仅是 SQL 优化。
现在购票享受8.8折优惠!
----------------------------------------
优惠时间:2019年3月20日前

大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP