インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
特定の C++ プログラミング・ガイドラインに基づく警告を有効にします。
Linux* および macOS*: | -Weffc++ |
Windows*: | /Qeffc++ |
なし
オフ |
診断を有効にしません。 |
このオプションは、Scott Meyers 著『Effective C++』のプログラミング・ガイドラインに基づく警告を有効にします。このオプションを指定すると、コンパイラーは次のガイドラインに基づいて警告を出力します。
#define ではなく、const と inline を使用する。(ユーザーコードのみ。システム・ヘッダー・コードには適用されません。)
<stdio.h> ではなく、<iostream> を使用する。
malloc と free ではなく、new と delete を使用する。
C 形式ではなく、C++ 形式のコメントを使用する。システムヘッダーにある C コメントは診断されません。
デストラクターでポインターメンバーに対して delete を使用する。コンパイラーは、delete を使用していないすべてのポインターを診断します。
ポインターを含むクラスにユーザー・コピー・コンストラクターと代入演算子が存在する。
コンストラクターでメンバーへの割り当てを行わずに、初期化を使用する。
初期化リストの順序とコンストラクターにおける宣言リストの順序が一致している。
基本クラスに仮想デストラクターが存在する。
operator= が *this を返す。
増分と減分のプリフィクスが const オブジェクトを返す。
&&、||、および , 演算子の多重定義を行わない。
このコンパイラー・オプションは、次の 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*: なし
Eclipse*: [Compilation Diagnostics (コンパイル診断)] > [Enable Warnings for Style Guideline Violations (スタイル・ガイドライン違反の警告を有効にする)] (-Weffc++)
Xcode*: [Diagnostics (診断)] > [Report Effective C++ Violations (Effective C++ 違反のレポート)]
なし