2014年3月31日
摘要: 1、在未来时态下发展程序,就是接受“事情总会变化”的事实,并准备应对之策。2、记住,程序的维护者通常不是最初的开发者,因此,设计和实现的时候,应该考虑别人更好地理解,修改自己的程序。3、重要的一点就是,以C++语言本身来表现各种规范,而不是依靠注释或者说明文件。举例来说,如果copy构造和copy赋值没有意义,应该将他们声明为private。而不是简单地通过注释告诉用户,不要进行copy构造和copy赋值,因为用户才不管。4、让class的操作符和方法拥有自然的语法和直观的语义,和内置类型保持一致。5、记住,任何事情只要能够做,就会有人做。接受“用户会犯错”的事实。6、努力写出可移植的代码,记 阅读全文
posted @ 2014-03-31 20:12 Andy Niu 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 1、C++和C混合编程的时候,需要考虑产生的目标文件的兼容性。2、名称重整,为什么要搞出名称重整? 连接器要求所有方法名必须独一无二。对于C语言,没问题。C++支持过载,也就是方法名相同,形参表不同的方法,因此编译器编译的时候,必须对方法名重整,保证方法名独一无二,满足连接器的要求。那么问题来了,C++和C混合编程,编译时没有问题,连接时出现问题了,C++进行了名称重载,而C没有,连接时名称对不上了。 怎么解决这个问题?就是使用extern C,告诉编译器,不要进行名称重整。对于C++与C共用的头文件,C++必须使用extern C,而C语言不识别extern C,因此使用预编译。对于__c. 阅读全文
posted @ 2014-03-31 18:54 Andy Niu 阅读(544) 评论(0) 推荐(0) 编辑