[迷信] freeにNULLを渡すとクラッシュする 公開日:2021年6月3日 C/C++迷信集プログラミング技術情報 まずは次のコードをご覧ください。 [crayon-6740d6ff5b134969411157/] 上のコードを見て何の違和感も感じないようであれば、あなたは迷信にとらわれている可能性があります。論より証拠ですので、JI […] 続きを読む
[迷信] 実数型とは浮動小数点型のことである 公開日:2021年6月2日 C/C++迷信集プログラミング技術情報 C言語やC++の入門書や入門サイトの多くは、float型やdouble型などの浮動小数点型を、整数ではなく「実数」を表現するための型として紹介しています。そして、これら浮動小数点型のことを「実数型」と呼んでいることも少な […] 続きを読む
[迷信] コンパイラはプログラマの心を察してくれる 公開日:2021年6月2日 C/C++迷信集プログラミング技術情報 これを迷信集に入れるべきかどうか迷ったのですが、口にこそ出さないものの、実際にこのように信じているとしか考えられないプログラマが少なからず存在することは事実です。彼らは、あたかもブロークンな英語のように、正しい文法で書こ […] 続きを読む
[迷信] argv[0]はプログラム名 更新日:2021年6月15日 公開日:2021年6月2日 C/C++迷信集プログラミング技術情報 main関数がargcとargvの2つの仮引数を受け取る場合、argv[0]がプログラム名を表す文字列を指すというのは入門書にも載っています。しかし、常にそうかというと、実はそうではありません。今回はフリースタンディング […] 続きを読む
[迷信] absは常に非負の値を返す 公開日:2021年6月1日 C/C++迷信集プログラミング技術情報 abs関数というのは絶対値を求める関数です。C言語ではint型の引数を受け取りint型の値を返します。C++では、int版以外に、long版、float版、double版、long double版、std::comple […] 続きを読む
[迷信] ‘A’~’Z’の値は連続している 公開日:2021年5月31日 C/C++迷信集プログラミング技術情報 今回はソースコードから見ていくことにしましょう。 [crayon-6740d6ff5b403948435927/] やろうとしていることは簡単です。標準入力から1文字読み込み、アルファベットの大文字であれば小文字に変換し […] 続きを読む
[迷信] 1バイトは8ビット 公開日:2021年5月30日 C/C++迷信集プログラミング技術情報 最近の大多数のコンピュータは、アドレスを8ビットごとに振っています。また、ASCIIコードが7ビットということもあり、それに符号ビットを付加した8ビットが文字データの単位として扱われています。 そういった事情もあってか、 […] 続きを読む
[迷信] 0xe-0xeはゼロ 公開日:2021年5月30日 C/C++迷信集プログラミング技術情報 今回はかなり難しい話です。まずは、次のコードをご覧ください。 [crayon-6740d6ff5b54b577433627/] このプログラムをコンパイルし実行すると、出力されるのは”A”でしょう […] 続きを読む
[迷信] double の出力書式は”%lf” 公開日:2021年5月30日 C/C++迷信集プログラミング技術情報 この迷信ないしは事実誤認はあまりにも根が深く、あまりにも多くのプログラマが間違いを犯し続けていました。遂には標準規格の方が折れて、迷信を追認することになったという”暗い歴史”があります。 prin […] 続きを読む
[迷信] 今どきint型が16ビットの処理系なんて無い 更新日:2021年6月6日 公開日:2021年5月29日 C/C++迷信集プログラミング技術情報 C言語やC++の代表的な整数型はint型です。このint型が16ビット以上であることはよく知られています。正確には、その表現範囲が少なくとも-32767~+32767ということになります(-32768~ではない点に注意) […] 続きを読む