基本语言细节--《The C++ Programming Language 》--(1)开辟鸿蒙

                             基本语言细节--《The C++ Programming Language 》--(1)开辟鸿蒙

1.语言磨砺了我们思维的方式,也决定着我们思考的范围。--B.L.Whort;

2.C++能干什么?它是一门通用程序设计语言,特别是面向系统程序设计,一个更好的C,支持数据抽象,面向对象程序设计,通用型程序设计(泛型编程)。

3.C++设计原则:

      简单,高效,与C的兼容性,类型检查与数据隐藏特征依赖于编译时对程序的分析;

4.C++借鉴:站在巨人的肩膀上

       C,BCPL,Algol68(运算符重载),Simula67(类),Ada(类属机制启发诞生的模板机制)等!

5.给C程序员的建议:

      (1).在C++里几乎不需要用宏,可以用const,inline,template;

      (2).不要使用malloc(),new运算符可以做得更好;

      (3).避免使用void*,指针算术,联合,强制;

      (4).少使用数组和C风格的字符串;标准库string和vector简化程序设计,这二者皆是对象!

6.忠告:

[1]在编程序时,你是在为你针对某个问题的解决方案中的思想建立起一种具体表示。让程序的结构尽可能地直接反映这些思想: 
    [a] 如果你能把“它”看成一个独立的概念,就把它做成一个类。 
    [b] 如果你能把“它”看成一个独立的实体,就把它做成某个类的一个对象。 
    [c] 如果两个类有共同的界面,将此界面做成一个抽象类。 
    [d] 如果两个类的实现有某些显著的共同东西,将这些共性做成一个基类。 
    [e] 如果一个类是一种对象的容器,将它做成一个模板。 
    [f] 如果一个函数实现对某容器的一个算法,将它实现为对一族容器可用的模板函数。 
    [g] 如果一组类、模板等互相之间有逻辑联系,将它们放进一个名字空间里。

[2]在你定义一个并不是实现某个像矩阵或复数这样的数学对象的类时,或者定义一个低层的类型如链接表的时候: 
    [a] 不要使用全局数据(使用成员)。 
    [b] 不要使用全局函数。 
    [c] 不要使用公用数据成员。 
    [d] 不要使用友元,除非为了避免[a]或[c]。 
    [e] 不要在一个类里面放“类型域”;采用虚函数。 
     [f] 不要使用在线函数(inline function),除非作为效果显著的优化。

卧浪居士 于HUST2013.11.28


   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值