==========================================
-Weffc++ (C++ and Objective-C++ only)
Warn about violations of the following style guidelines from Scott Meyers' Effective C++ book:
· Item 11: Define a copy constructor and an assignment operator for classes with dynamically allocated memory.
· Item 12: Prefer initialization to assignment in constructors.
· Item 14: Make destructors virtual in base classes.
· Item 15: Have "operator=" return a reference to *this.
· Item 23: Don't try to return a reference when you must return an object.
Also warn about violations of the following style guidelines from Scott Meyers' More Effective C++ book:
· Item 6: Distinguish between prefix and postfix forms of increment and decrement operators.
· Item 7: Never overload "&&", "||", or ",".
When selecting this option, be aware that the standard library headers do not obey all of these guidelines; use grep -v to filter out those warnings.
-Woverloaded-virtual (C++ and Objective-C++ only)
Warn when a function declaration hides virtual functions from a
base class.
-Wsign-promo (C++ and Objective-C++ only)
Warn when overload resolution chooses a promotion from unsigned or
enumerated type to a signed type, over a conversion to an unsigned
type of the same size. Previous versions of G++ would try to
preserve unsignedness, but the standard mandates the current
behavior.
-Wextra
This enables some extra warning flags that are not enabled by
-Wall.
沒有留言:
張貼留言