[迷信] ソースファイルの末尾に} 公開日:2021年6月8日 C/C++迷信集プログラミング技術情報 これは迷信ではなく、よくある間違いです。この間違いの最悪なところは、書いた本人も、自分がどう書いたのかをほとんど自覚していないところにあります。実際、「ソースファイルの末尾に}」と指摘しただけでは、具体的にどういう状況な […] 続きを読む
CGIでHello, World! 公開日:2021年6月8日 C++サンプル集プログラミング技術情報 CGIというと、PerlやRubyなどのスクリプト言語で書くことが多いのですが、標準入出力さえ使えればどんなプログラミング言語でも書くことができます。もちろんC++でCGIを書くこともできます。以下に、ウェブブラウザの画 […] 続きを読む
コメントを書く 公開日:2021年6月7日 C++サンプル集プログラミング技術情報 C++では、二種類の方法でコメント(注釈)を書くことができます。 /* から始まり、*/ で終わるブロックコメント // から始まり、行末で終わる行コメント の二つです。具体的な例を見てみましょう。 [crayon-67 […] 続きを読む
最も簡単なプログラム 公開日:2021年6月7日 C++サンプル集プログラミング技術情報 C++プログラムには、少なくとも main 関数が必要になります。そのため、最も簡単なプログラムは次のようになります。 [crayon-67412862b2c17436319014/] このプログラムは本当に最低限の内容 […] 続きを読む
[迷信] ソースコード中の即値を全廃せよ 公開日:2021年6月7日 C/C++迷信集プログラミング技術情報 言語を問わず、プログラミングではマジックナンバーが嫌われる傾向にあります。しかし、マジックナンバーについて誤解しているケースも少なからず見受けられます。典型的なのは、即値=マジックナンバーという誤解です。即値とマジックナ […] 続きを読む
[迷信] プログラムは必ずmainから始まる 公開日:2021年6月7日 C/C++迷信集プログラミング技術情報 C言語やC++の入門書を読めば、プログラムはmain関数から始まると書かれています。そのこと自体は間違っていませんが、「必ず」そうかというと3つの意味で正しくありません。ひとつはスタートアップの存在であり、ひとつはフリー […] 続きを読む
[迷信] scanfではバッファオーバーランを防げない 更新日:2021年6月20日 公開日:2021年6月6日 C/C++迷信集プログラミング技術情報 これも根が深い迷信です。この迷信を根拠にscanf関数は使うべきではないという人も大勢います。おそらくこういうことでしょう。 [crayon-67412862b2df1891813072/] 確かにこれでは、ユーザーが1 […] 続きを読む
[迷信] isalpha関数の引数はchar型 公開日:2021年6月6日 C/C++迷信集プログラミング技術情報 isalpha関数に限ったことではありませんが、<ctype.h>ヘッダで宣言されるis系関数は、次のようにint型の引数を取ります。 [crayon-67412862b2f1a584041907/] このこ […] 続きを読む
[迷信] setjmpマクロの返却値は変数に代入できる 公開日:2021年6月6日 C/C++迷信集プログラミング技術情報 setjmpマクロはC言語の標準ライブラリの一部ですが、知らない方も少なくないでしょうし、知っていても使ったことがない方も多いと思います。今回は本題に入る前に少しsetjmpの解説から行うことにします。 setjmpとい […] 続きを読む
[迷信] 構造体のタグ名は下線で始める 公開日:2021年6月5日 C/C++迷信集プログラミング技術情報 C の場合、タグ名だけでは型名になれず、struct, union, enumを付けなければなりません。そのため、使い勝手を向上するために typedef 名を付けることが多いのではないでしょうか? 一方、C++ではクラ […] 続きを読む