投稿者: 高木信尚
[迷信] 非局所オブジェクトは外部結合
今回のタイトルはやや分かりにくいかもしれません。「非局所オブジェクト」というのは、関数の外で宣言したオブジェクトのことです。いわゆる「グローバル変数」とほぼ同じと考えてください。 さて、関数の外で宣言された「非局所オブジ […]
[迷信] 識別子に使える文字は英数字と下線のみ
多くのC言語やC++の入門書の最初のほうには、変数名や関数名などの識別子に使える文字として、アルファベットの大文字・小文字、数字、下線(アンダースコア、アンダーバー)だけが使えると書いています。確かに初期のC言語の規格は […]
[迷信] 引用符で囲んだヘッダ名はカレントディレクトリから探索する
あるディレクトリ(~/srcとします)に、foo.cとbar.hという二つのソースファイルがあったとします。bar.hは、foo.cから次のようにインクルードしています。 [crayon-6740f03824b1a098 […]
[迷信] 割付けたメモリはプログラマが自分で解放しなければならない
動的に割付けたメモリは自分で解放しなければならない、ファイルをオープンすれば自分でクローズしなければならない、その他獲得したリソースは自分で解放しなければならないなど、これらは必ずしも間違ってはいません。実際、C言語では […]
[迷信] オブジェクトの動的生成に失敗するとメモリリークする
今回は「[迷信] コンストラクタから例外を送出してはならない」の続編ともいうべき内容です。コンストラクタで失敗した場合の通知方法には例外を用いるのが最良ですが、いろいろなケースを考えると不安になる方も多いようです。今回取 […]
[迷信] コンストラクタから例外を送出してはならない
昔、比較的有名な某所で「コンストラクタからの例外送出」が「禁じ手」として紹介されていることもあり、コンストラクタから例外を送出すべきではないと考える人はいまだに少なくないようです。 その根拠となっているのは、コンストラク […]
[迷信] アルゴリズム関数内で関数オブジェクトはコピーされない
まずは次のコードをご覧ください。 [crayon-6740f03824f03560588041/] 簡単に上のコードの説明をします。countupクラスは、コンストラクタで与えられた値を初期値として、関数呼出し演算子を用 […]
[迷信] とりあえずmemsetで初期化
局所変数、特に集成体を宣言した後、実際に必要かどうかに関わらず、必ずmemset関数でゼロクリアする人は大勢います。しかし、そんなコードを見かけたら、それを書いた人のコードはすべて疑ってかかった方がよいかもしれません。 […]