Developer Guide and Reference

Contents

Weffc++, Qeffc++

Enables warnings based on certain C++ programming guidelines.

Syntax

Linux:
-Weffc++
macOS:
-Weffc++
Windows:
/Qeffc++
Arguments
None
Default
OFF
Diagnostics are not enabled.
Description
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.