[迷信] sizeofは定数式 公開日:2021年6月13日 C/C++迷信集プログラミング技術情報 C言語やC++のsizeof式は、オペランドの型情報を元にオペランドの評価結果のサイズをバイト数で返します。評価結果の値がどうなるかは関係ありません。C++の型には静的な型と動的な型(ポインタまたは参照が実際に指している […] 続きを読む
[迷信] scanfでキーボードから入力 公開日:2021年6月13日 C/C++迷信集プログラミング技術情報 これは迷信というより、本来は入門向けに難しい話をカットして説明するときの方便のようなものだったはずです。しかし、入門レベルのときはそれでよくても、入門者から次の段階に進む頃までその状況を引きずるべきではありません。また、 […] 続きを読む
[迷信] getsは単純にfgetsに置き換えられる 公開日:2021年6月13日 C/C++迷信集プログラミング技術情報 何かと悪名高いgets関数ですが、確かにバッファオーバーランを防げないなど、安全性に欠けるところがあります。そこで、これを何とかするために、gets関数を記述していた箇所を単純にfgets関数に置き換えればそれで問題が解 […] 続きを読む
n日後の日付 公開日:2021年6月12日 C++サンプル集プログラミング技術情報 例えば、本日から1000日後の日付を求めたいことはよくあると思います。そんなとき、つい、月ごとの日数のテーブルを作って、閏年の判定を行って、といった処理を組み合わせて計算してしまいがちです。しかし、実際にはそんな面倒なこ […] 続きを読む
[迷信] 文字列から整数への変換にはatoi 公開日:2021年6月12日 C/C++迷信集プログラミング技術情報 ごく普通のナル終端文字列”123″を整数値の123に変換するとき、あなたはどんな方法を用いるでしょうか? 学校の課題でもないかぎり、1文字ずつ取り出して数字かどうかを判別し、数字なら取り出した文字 […] 続きを読む
[迷信] 入力データ格納用配列のサイズはBUFSIZ 公開日:2021年6月11日 C/C++迷信集プログラミング技術情報 fgets関数などで一行分の文字列を読み込む場合など、サイズが分からないデータを格納するための配列の要素数はどのようにしているでしょうか? 実際に入力されるデータの長さは分からないまでも、プログラムが必要としている長さの […] 続きを読む
[迷信] コンストラクタで自身をゼロクリア 公開日:2021年6月10日 C/C++迷信集プログラミング技術情報 世の中には怖いもの知らずというか、とんでもないコードを書く人たちがいます。例えば、 [crayon-6740ef9559db8166096066/] のようなコードです。さすがにこれはクラッシュする可能性が高いので、実行 […] 続きを読む
[迷信] 一重引用符の中には一文字しか書けない 公開日:2021年6月9日 C/C++迷信集プログラミング技術情報 一重引用符 ‘ で囲まれた文字定数または文字リテラルには、一文字しか書けないと考えている方が少なくないようです。例えば、’abc’のような書き方をすると、コンパイルエラーになるか未定義 […] 続きを読む
[迷信] コンパイルエラーが出るのでアクセス指定子を修正 公開日:2021年6月9日 C/C++迷信集プログラミング技術情報 C++を使ってチームで開発していると、一度ぐらいは必ず遭遇したことがある恐怖の間違いがあります。それが、コンパイルエラーを取り除くためにアクセス指定子を修正すればよいという考え方です。具体的にどういうことか見ていきましょ […] 続きを読む
[迷信] データ列のソートにはqsort関数を使うべし 公開日:2021年6月9日 C/C++迷信集プログラミング技術情報 ソートのアルゴリズムにはいろいろありますが、中でもクイックソートは比較的高速なアルゴリズムです。その名前からも分かるように、qsort関数はクイックソートの実装であることを示唆しています。実際には、規格上はqsort関数 […] 続きを読む