タグ

c++に関するvladimir-kyotoのブックマーク (3)

  • delete[] a; どうしてdelete[]←ここに値がないのに配列を廃棄できるのですか

    初期の c++ では delete[10] a; のように要素数が必要だったんです。 だけどそれではあまりに使いづらいということで delete[] a; と書けるように工夫がされました。 よくある実装では new[] の際に何個確保したかを同時に記憶しておく手法がとられます。 new int [10] に対して、実際に確保される記憶域は struct intarray { size_t count_of_elements; int body[10]; }; (および必要なら境界整合のための padding 分をさらに追加し) new[] は内部で p=malloc(sizeof (intarray)) した上で - p->count_of_elements に要素数(この例では 10 )を記憶する - &(p->body[0]) を返却する delete[] は逆の動作、つまり - &(

    delete[] a; どうしてdelete[]←ここに値がないのに配列を廃棄できるのですか
  • C++によるデザインパターン1: Iteratorパターン - MyEnigma

    増補改訂版Java言語で学ぶデザインパターン入門posted with カエレバ結城 浩 ソフトバンククリエイティブ 2004-06-19 Amazonで探す楽天市場で探すYahooショッピングで探す オブジェクト指向における再利用のためのデザインパターンposted with カエレバエリック ガンマ,ラルフ ジョンソン,リチャード ヘルム,ジョン ブリシディース ソフトバンククリエイティブ 1999-10 Amazonで探す楽天市場で探すYahooショッピングで探す Iteratorパターン Iteratorパターンは、 あるデータの集合体に対して 共通のデータアクセスを実施するクラスを作成する デザインパターンです。 一般的なデータの集合体である 配列の場合では、forループで配列のインデックスを 一つづつ進めてデータにアクセスすることができますが、 リスト型のデータの場合、 添字で

    C++によるデザインパターン1: Iteratorパターン - MyEnigma
  • C++でWebアプリケーションを開発できる ~ 高性能フレームワーク「TreeFrog Framework」

    稿では「C++でも簡単にWebアプリケーションを開発したい!」という声にお応えして、C++によるフルスタックのWebフレームワーク「TreeFrog Framework」を紹介します。C++で開発する最大のメリットは、アプリケーションが高速かつ少ないメモリ使用量で動作することです。Webアプリケーション自体がさらに高速に動作すれば、より少ない数のサーバで多くのリクエストを処理することが可能になるでしょう。 はじめに Webアプリケーションの開発案件をみると、使われている言語はJavaPHPが特に多いように思います。C++のものはまず聞きません。C++プログラマがWebアプリケーションの開発プロジェクトに参画するとなると、新たに別の言語を習得しなければならないのが現実です。TIOBE Programming Community Indexというプログラミング言語の人気度調査において、C+

  • 1