2012年2月15日 星期三

gcc compiler options

http://gcc.gnu.org/onlinedocs/gcc-4.2.2/gcc/Option-Summary.html#Option-Summary

C++ tips - inclusion rule

C++ INCLUDE Rule : Use forward declaration when possible

Suppose you want to define a new class B that uses objects of class A.
  1. B only uses references or pointers to A. Use forward declaration then : you don't need to include . This will in turn speed a little bit the compilation.
    class A ;
      
      class B {
        private:
          A* fPtrA ;
        public:
          void mymethod(const& A) const ;
      } ;
      
  2. B derives from A or B explicitely (or implicitely) uses objects of class A. You then need to include 
    #include 
      
      class B : public A {
      
      } ;
      
      class C {
        private:
          A fA ;
        public:
          void mymethod(A par) ;   
      }