Intel® C++ Compiler 16.0 User and Reference Guide
Enables warnings based on certain C++ programming guidelines.
Linux and OS X: | -Weffc++ |
Windows: | /Qeffc++ |
None
OFF |
Diagnostics are not enabled. |
This option enables warnings based on certain programming guidelines developed by Scott Meyers in his books on effective C++ programming. With this option, the compiler emits warnings for these guidelines:
Use const and inline rather than #define. Note that you will only get this in user code, not system header code.
Use <iostream> rather than <stdio.h>.
Use new and delete rather than malloc and free.
Use C++ style comments in preference to C style comments. C comments in system headers are not diagnosed.
Use delete on pointer members in destructors. The compiler diagnoses any pointer that does not have a delete.
Make sure you have a user copy constructor and assignment operator in classes containing pointers.
Use initialization rather than assignment to members in constructors.
Make sure the initialization list ordering matches the declartion list ordering in constructors.
Make sure base classes have virtual destructors.
Make sure operator= returns *this.
Make sure prefix forms of increment and decrement return a const object.
Never overload operators &&, ||, and ,.
The warnings generated by this compiler option are based on the following books from Scott Meyers:
Effective C++ Second Edition - 50 Specific Ways to Improve Your Programs and Designs
More Effective C++ - 35 New Ways to Improve Your Programs and Designs
Visual Studio: None
Eclipse: Compilation Diagnostics > Enable Warnings for Style Guideline Violations
Xcode: Diagnostics > Report Effective C++ Violations
None