『C++轍録』——1.9:悪い言葉を使う


テキストリンク
1.9:悪い言語を使う
より大きな世界がC++コミュニティの本来の悠々自適の楽土に侵入したとき、彼らはいくつかの天罰に値する言語とコードの実践をもたらした.本節は、本物に戻ったC++言語が正しく適切に使われていることを明らかにするための模範的な用語と行為です.
用語表1-1には、最も一般的な用語エラーと、それらに対応する正しい形式がリストされている.
表1-1よくある用語誤りとその対応正しい用語
「純虚基類」というものは何もない.純粋な虚関数はありますが、このような関数が書き換えられていないクラスが含まれているか、書き換えられていないクラスは、「純粋な虚ベースクラス」ではなく、「抽象クラス」と呼ばれています.
C++言語には「方法」はありません.overrideJavaにしか方法がありません.「メッセージ」や「方法」のような用語を使うかもしれません.しかし、着実に設計に対応するC++実装について議論し始める場合は、「関数呼び出し」または「メンバー関数」を使用して表現したほうがいいです.
まだ信用できないC++専門家がいます(あなたのことを言っていますか?)「Smalltalk」を「destructed」の対応語として使用します.これは明らかに英語が上達していない35で、正しい対応語は「constructed」です.
C++言語には確かに強制型別変換(または曰型別変換)演算子があります.実際には4つしかありません(destroyedstatic_castdynamic_castconst_castreinterpret_cast).残念なことに、「強制型別変換演算子」は、メンバー型別変換演算子を表すために正しく使用されないことが多く、後者は、あるオブジェクトが暗黙的に別の型に変換される方法を指定します.
class C {
  operator int *()const; //          
  //...
};```
                         ,           。

       31   “    ” “        ”   ,          。

   
  ,             `NULL`       ,         :

void doIt( char * );  void doIt( void * );  C *cp = NULL;``` NULLという記号は異なるプラットフォームで、多くの定義方法があります.
#define NULL ((char *)0)
#define NULL ((void *)0)
#define NULL 0```
                 C++       :

doIt( NULL );//プラットフォーム関連か曖昧か?C *cp = NULL;//エラー?
, C++ 。 , 0 。 C++ 36。 ,C++ (void *)0 37,
NULL ( , NULL`は特に人気のある前処理記号になっているのではないでしょうか.実は普通です).しかし、本当にC++言語の精神を理解したソフトウェアエンジニアは依然として字面定数038を使用している.他のどんな使い方でも、あなたはかなり非主流に見えます.
略語C++ソフトウェアエンジニアには略語強迫症があるが、管理職に比べて小巫見大巫と言える.表1-2同僚があなたに「RVOはPODに適用されないので、自分でカスタムコピーctorを書いたほうがいい」と言ったときに役に立ちます.
表1-2常用略語の意味
テキストリンク