[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

C++に関するabekohのブックマーク (2)

  • 江添亮のC++入門

    書はプログラミングの経験はあるがC++は知らない読者を対象にしたC++を学ぶためのである。書はすでに学んだことのみを使って次の知識を説明する手法で書かれた。C++コンパイラーをC++で書く場合、C++コンパイラーのソースコードをコンパイルする最初のC++コンパイラーをどうするかというブートストラップ問題がある。書はいわばC++における知識のブートストラップを目指しただ。これにより読者はを先頭から読んでいけば、まだ学んでいない概念が突如として無説明のまま使われて混乱することなく読み進むことができるだろう。 C++知識のブートストラップを意識した入門書の執筆はなかなかに難しかった。ある機能Xを教えたいが、そのためには機能Yを知っていなければならず、機能Yを理解するためには機能Zの理解が必要といった具合に、C++の機能の依存関係の解決をしなければならなかったからだ。著者自身も苦し

    abekoh
    abekoh 2019/09/28
  • 第十一回-02 new 演算子によるメモリの動的確保

    Visual Basic でも、このような記述を何度かしてきた。 (例えばこちら) しかし、この記述は何か奇妙だと思わないだろうか?例えば、配列の要素数を 10 に変えたいと思った場合、 1 行目と2行目に含まれている2箇所の 「5」を「10」に変更せねばならず、無駄が多い。 むしろ、プログラムの美しさを考えれば以下の記述の方が自然だと思うかもしれない。 int n=5; // まずは配列の要素数を決める int array[n]; // 要素数 n の配列を宣言 (しかしコンパイルエラー!!) しかし、この記述は「int array[n];」 という行に対して以下のコンパイルエラーが出る。 この1行目にエラーの理由が書かれているが、 配列の宣言の際、配列のサイズは定数でなければいけないというルールが守られていないため、エラーが出るのである。 「int array[n];」の n は、すぐ

    第十一回-02 new 演算子によるメモリの動的確保
  • 1