您的位置:澳门402永利com > 编程应用 > 编码规范

编码规范

发布时间:2019-09-23 20:45编辑:编程应用浏览(157)

    0. 序言

    行事的急需,近年来在接手二个C++项目。自个儿在校学习时期,因为懒惰,对于C++那样的重型语言,是能躲就躲的,由此学的管中窥豹,导致今后干活时的不能。不过,攻讦所在,躲无可躲,只可以做一些见兔顾犬之事。上面包车型客车一名目好多作品,就是友好边工作边学习的笔录,算是学步时的点滴。内容会每每立异,有错误之处,敬请指教。

    1. class编纂进度中的注意事项

    1. 在编排类的时候,一般将类的发明和落到实处分开,那样有助于类的贯彻和调用。比方定义叁个名称为:

    2. 头文件中最佳用防御式注脚,目标是防卫文件的内容被频仍暗含(数11回暗含之后会并发重复定义大概每每发明的百无一用。)如:laptop.h

       1 #ifndef _PROJECT_SUBFOLDER_LAPTOP_H_ // 此处推荐使用Google编程规范:项目名_子文件路径_文件名 2 #define _PROJECT_SUBFOLDER_LAPTOP_H_ 3 // define a laptop class 4 calss Laptop // 类名首字母大写 5 { 6 public: 7     // member functions; // 成员函数一般为public属性; 8     double getVolt() const { return volt_;} //不会改变成员变量的函数申明为常函数const; 9 private:10     // member attributes;// 成员变量一般设为private;11 };12 #endif // _PROJECT_SUBFOLDER_LAPTOP_H_
      

      类的构造函数

      1,为了通用性,一般为一个类设至少两个构造函数,0参数构造函数,多参数构造函数;当使用多参数构造函数的时候,推荐使用**初始化列表**来初始化成员变量。(在函数内的叫赋值,不是初始化。赋值和初始化列表的区别是内存开销上不一样。)
      
      class Laptop{public:    Laptop(){}//默认构造函数    Laptop(double value = 0, double volt)// 多参数构造函数,注意不能将所有的值设为默认值。请思考为什么        :value_, volt_{} // 初始化列表private:    // ...}
      
      1. 尽量采纳援用传参

        引用传参比值传递的优点是效率高,开销低。另外,传引用可以数据双向传递(这在很多情况下是不希望发生的,这时可以传递**常引用**)。另外,对于内置类型,传值和传引用的效率相差不多,一般可以传值,对于构造类型,请传引用。关于**传值**,**传引用**,**传指针**之间的区别和联系,将在专门的文章里讨论。
        

        在可能的境况下,函数重回值也请尽量采用引用。这里要求留神的是,将引用作为函数再次回到值的口径是援用的宿主对象至少要在函数调用现场有人命并可知!!,否在,不可能将利用回到,因为有的变量在函数调用截止的时候就早已被回收,它的生命周期已经到了界限,再去再次回到它的引用,分明是会出错的。将采取作为函数再次回到值的三个很杰出的运用是对一部分二元操作符的重构。这里给出多少个例证:

        //例1:+=重构class Point{public:    Point(){}    Point(double x, double y)        :x_{}    void setx(double x){x_ = x;}    void sety(double y){y_ = y;}    Point & operator += (Point & b)    {        this -> x_ += b.x_;        this -> y_ += b.y_;        return this;    }private:    double x_;    double y_;};
        
        class Point{public:    //....    // 显示点p}
        
        1. 重构/重载要完美

          在类中重构或者重载函数的时候,为了使用的方便,请尽可能全面的重构/重载。比如,有一个复数类,里面重载加法运算符,这时候要考虑到用户可能会将复数与实数相见,复数与复数相加,实数与复数相加,这些都要进行重载。重构函数的时候也同样。
          
        2. 表面接口放在类的最前面,写好应用验证,包罗:接口作用的陈述输入参数的叙说输出参数的汇报

    本文由澳门402永利com发布于编程应用,转载请注明出处:编码规范

    关键词:

上一篇:没有了

下一篇:没有了