关于C++类的书写风格的讨论,该如何处理
关于C++类的书写风格的讨论对于c++类的成员函数,以前一直沿用通常的写法,即在头文件中进行声明,在.cpp文件
关于C++类的书写风格的讨论
对于c++类的成员函数,以前一直沿用通常的写法,即在头文件中进行声明,在.cpp文件中具体实现。
最近采用了偷懒的做法,将实现也在头文件中,并且在class内来定义(见下面示例)。这样一来,就拥有了诸多方便之处:
1.省去了函数的声明
2.不必总是在.cpp和.hpp(.h)两个文件之间切来切去了
3.不必在实现类时写烦人的 ClassName::了
4.修改函数定义时,不必象之前考虑两边需要同步了
改用这种书写方式后,感觉方便多了,写代码时,甚至感觉心情都舒畅了许多 :)
当然,这样一来,肯定也有缺点,比如不会象之前可以把所有的声明放在一起,方便查看,但很多IDE都能够提供这方面的功能。
这里想问一下,这样有没有其它方面的问题或弊端,比如对于程序的编译、执行效率方面?
也希望大家一起讨论一下,分享一下各自好的编码习惯。
示例:
C/C++ codeclass Test{private: public: void hello(char *s){ printf(s); } void helloWorld(){ hello("hi! "); }}
[解决办法]我比较习惯 把所有的声明放在一起 ,当代码量一上来,方便查看是首要关注的。
希望这个话题引起热议。
[解决办法]个人爱好,个人风格。
[解决办法][解决办法]个人习惯没啥问题,主要是不符合主流规范
[解决办法]这样默认是内联编译,还有编译以依赖的问题,问题太多了!
[解决办法][解决办法]1. 会导致程序编译后的二进制体积膨胀:内联
2. 会严重影响编译时间:因为只要修改一处实现,就要重新编译包含该头文件的所有源码!
3. 如果作为类库,还存在一个ABI兼容问题:加大维护难度
[解决办法]同意10楼的观点
代码如果规模上去的话 一修改头文件 导致include的cpp会重新编译连接