当前位置: 代码迷 >> QT开发 >> 关于C++类的书写风格的议论
  详细解决方案

关于C++类的书写风格的议论

热度:19   发布时间:2016-04-25 03:24:59.0
关于C++类的书写风格的讨论
对于c++类的成员函数,以前一直沿用通常的写法,即在头文件中进行声明,在.cpp文件中具体实现。
最近采用了偷懒的做法,将实现也在头文件中,并且在class内来定义(见下面示例)。这样一来,就拥有了诸多方便之处:
1.省去了函数的声明
2.不必总是在.cpp和.hpp(.h)两个文件之间切来切去了
3.不必在实现类时写烦人的 ClassName::了
4.修改函数定义时,不必象之前考虑两边需要同步了


改用这种书写方式后,感觉方便多了,写代码时,甚至感觉心情都舒畅了许多 :)

当然,这样一来,肯定也有缺点,比如不会象之前可以把所有的声明放在一起,方便查看,但很多IDE都能够提供这方面的功能。
这里想问一下,这样有没有其它方面的问题或弊端,比如对于程序的编译、执行效率方面?
也希望大家一起讨论一下,分享一下各自好的编码习惯。

示例:
class Test{

private:
  
public:
   void hello(char *s){
     printf(s);
   }

   void helloWorld(){
     hello("hi! ");   
  }
}

------解决方案--------------------
我比较习惯 把所有的声明放在一起 ,当代码量一上来,方便查看是首要关注的。
希望这个话题引起热议。
------解决方案--------------------
个人爱好,个人风格。
------解决方案--------------------
引用:
个人爱好,个人风格。


团队工作,任由自己的个性来~会引来同伴的反感~
还是要从   易读性、高变通性、易维护性等 考虑
------解决方案--------------------
个人习惯没啥问题,主要是不符合主流规范
------解决方案--------------------
这样默认是内联编译,还有编译以依赖的问题,问题太多了!
------解决方案--------------------
引用:
引用:
1. 会导致程序编译后的二进制体积膨胀:内联
2. 会严重影响编译时间:因为只要修改一处实现,就要重新编译包含该头文件的所有源码!
3. 如果作为类库,还存在一个ABI兼容问题:加大维护难度


天下没有免费午餐。这样看来,如果是大工程,或者作类库,的确这样问题比较大。

其实在IDE如此强大的今天,头文件中声明,源文件中定义,只是一个简单的跳转问题。
从声明中添加实现,用QtCreator可以轻松实现。
多用IDE的重构工具,而不是人工改写,将可以解决维护繁琐问题。
------解决方案--------------------
1. 会导致程序编译后的二进制体积膨胀:内联
2. 会严重影响编译时间:因为只要修改一处实现,就要重新编译包含该头文件的所有源码!
3. 如果作为类库,还存在一个ABI兼容问题:加大维护难度

------解决方案--------------------
同意10楼的观点
代码如果规模上去的话 一修改头文件 导致include的cpp会重新编译连接 
  相关解决方案