zoukankan      html  css  js  c++  java
  • 从Google C++ Coding Style里面抽出一些贴近现实的rule

    ref a class have two methods, one is #include, one is forward declaration, and the later can reduce dependence recompilation when referenced header file changes.

    Define functions inline only when they are small, say, 10 lines or less. Typically, the accessor and mutator

    place a function's variable in the narrowest scope possible, and initialize variables in the declaration. e.g.
    while (const char* p = strchr(str, '/')) str = p + 1;


    static class member variables, and function static variables, must be Plain Old Data (POD): only ints, chars, floats, or pointers, or arrays/structs of POD.
    If you need a static or global variable of a class type, consider initializing a pointer (which will never be freed), from either your main() function or from pthread_once(). Note that this must be a raw pointer, not a "smart" pointer.

    In general, constructor should merely set member variables to their inital values, any complex initialization should go in an explicit Init(). and Don't throw exception in constructor, carefully access potentially uninitialized global variables

    Disable copy and assignment operator if that is not necessary

    // This should be used in the private: declarations for a class
    #define DISALLOW_COPY_AND_ASSIGN(TypeName) \
      TypeName(const TypeName&);               \
      void operator=(const TypeName&
  • 相关阅读:
    为初学者解释下命名空间
    面向对象的思想
    SELECT查询结果集INSERT到数据表
    SQL Server事务
    Sql Server中的谓词和运算符
    SQL查询语句执行的逻辑顺序
    浏览器中的流
    CSS盒子模型
    ArcGIS提取水系并进行生态敏感性分析
    ENVI提取水系并进行生态敏感性分析
  • 原文地址:https://www.cnblogs.com/raymondshiquan/p/2074082.html
Copyright © 2011-2022 走看看