タグ

C++に関するtzccinctのブックマーク (3)

  • Bugs in Hello World

    Posted on March 08, 2022 Hello World might be the most frequently written computer program. For decades, it's been the first program many people write, when getting started in a new programming language. Surely, this humble starting-point program should be bug free, right? After all, hello world programs only do one thing. How could there be a bug? Hello world in C There are a lot of different way

  • 史上最高に愚かしいCのバグとは何か - YAMDAS現更新履歴

    The most stupid C bug ever | elpauer 先日は徳丸浩さんによる PHP5.3.7 の crypt 関数におけるバグの解説を読み、世界的に有名なオープンソースソフトウェアでもこんな初歩的なミスをやらかすのかとすごく親近感が湧いてしまったが、Pau Garcia Quiles が語るこれまでで最も愚かしい C のバグとは何か? 彼はテンポラリファイルを tmpfile() で作る Unix アプリケーションの移植をやっていた。 else if (code == 200) { // Downloading whole file /* Write new file (plus allow reading once we finish) */ g = fname ? fopen(fname, "w+") : tmpfile(); } マイクロソフトの tmpfile

    史上最高に愚かしいCのバグとは何か - YAMDAS現更新履歴
    tzccinct
    tzccinct 2011/09/05
  • 予約済み識別子 ‐ 通信用語の基礎知識

    言語規格や処理系で使うために予約されている名前である。 実装や規格と、プログラマーが使用する変数名等との衝突を回避するため、標準規格は規格や実装に使用できる名前の形式を規定している。 将来的に予約語になる可能性があるが、その時点では予約語ではないため、その名前の関数や変数は自由に使えてしまう。 CとC++では、若干相違がある。 C90およびC99 グローバルスコープを持ち、_ で始まる名前 _ で始まり、その次が大文字の名前 __ で始まる名前 C++ グローバルスコープを持ち、_ で始まる名前 _ で始まり、その次が大文字の名前 __ を含む名前 C++の方が予約される範囲が広く、2連のアンダースコア文字がどこにあっても予約名となる。 いずれにせよ、アンダースコアから始まる名前と、2連のアンダースコアを含む名前は避けるべきである。 だが、プログラマーはインクルードファイルのガードを作成す

    tzccinct
    tzccinct 2011/01/31
  • 1