Intel® oneAPI DPC++/C++ Compiler Developer Guide and Reference
A newer version of this document is available. Customers should click here to go to the newest version.
Weffc++, Qeffc++
Enables warnings based on certain C++ programming guidelines.
| Linux: | -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
None