C++

ストラウストラップのプログラミング入門(36) 21章「アルゴリズムとマップ」21.4まで

C++

『ストラウストラップのプログラミング入門』を読む。200時間ほどユクモ村に出張していて前回から間があきました。今日は21章の21.4まで。この章では、関数オブジェクトが登場します。 (p.676)21.2「最も単純なアルゴリズム:find()」 21.2では、標準ライ…

ストラウストラップのプログラミング入門(35) 20章「コンテナとイテレータ」

C++

『ストラウストラップのプログラミング入門』を読む。今日は20章です。STLが登場しました。20章は、「STLに用意された様々なコンテナの一端を知ること」と、「なぜ様々なコンテナが用意されているかを理解すること」の2つがテーマです。(たぶん・・・) コ…

ストラウストラップのプログラミング入門(34) 19章ドリル(続)

C++

『ストラウストラップのプログラミング入門』を読む。19章ドリルの続きで、完結です。前回はドリル12〜14の意図を掴みかねていましたが、faith_and_braveさんに頂いたコメントを参考に、read_val関数を下記のように使う問題だと考えることにしました。 int m…

ストラウストラップのプログラミング入門(33) 19章ドリル

C++

『ストラウストラップのプログラミング入門』を読む。19章のドリルで悩んでいます。不遜は承知ですが、ハマりすぎて19章に飽きてきました…。問題はこんな感じです。 1. template struct S { T val; }; を定義する。(中略)3. S、S、S、S、Svector >型の変数…

ストラウストラップのプログラミング入門(32) 19章「ベクタ、テンプレート、例外」(続々)

C++

『ストラウストラップのプログラミング入門』を読む。新年最初の読書日記です。前回の日記で悩んでいた、「アロケータとvector_base(自前vectorの基底クラス)を導入したコード」に関する疑問が、今夜めでたく解決しました。というわけで、今の自分の理解を…

鈍器本の自前vectorをJavaで実装(修正版)

鈍器本の自前vectorをJavaで実装したかった(敗北) - 虎塚 上の記事のコードについて、師匠から色々とツッコミをもらったので修正しました。敗北っていってるのにこの追い討ち! さすがです! (勉強になりました…)マイナス点をゼロにしただけで、前回実装で…

鈍器本の自前vectorをJavaで実装したかった(敗北)

前回の読書日記で悩んでいたら、E_mattsanから「Javaで書いてみては?」とコメントで助言をいただきました。なるほど!…結論をいうと、収穫を得る前にギブアップしてしまったのですが、迷走の記録を貼っておきます。(追記: 2011/12/31) 修正版を書きました…

ストラウストラップのプログラミング入門(31) 19章「ベクタ、テンプレート、例外」(続)

C++

『ストラウストラップのプログラミング入門』を読む。やっと今月初の読書日記です。やりましたね(?)これまで、本文に出てきたコードは全部写経し、動作することを確認してきたのですが、ここにきてハマってしまいました。19章のあちこちに散ったコード片…

汎用ポインタへのポインタを受け取る関数

C++

汎用ポインタについて某師から教えてもらったのですが、分かったような分からないような感じなので、今の理解を書いてみます。(注)以下の記述は間違いを含む可能性があるため、疑いの目で読んでくださいますよう、お願いします。 サンプルコードと疑問 次…

テンプレートを使ったコードをビルドしようとして???ってなってる

C++

コメントで返信するには、的を外している上に、長くなったので、こっちで。 (前回の読書日記) http://d.hatena.ne.jp/torazuka/20111128/cxx id:E_Mattsan さんから頂いたコメントを読んだ後、おぉあのデフォルト値を与える行のコンパイルエラーはVC特有な…

inline関数・・・

C++

余談ですが。。。りょーさんから読むことを勧めていただいたBoost::assignや、Protocol Bufferesのprotocコンパイラが生成するC++のコードを眺めると、そこここにインライン関数が使われています。 (参考)インライン関数 http://www33.ocn.ne.jp/~loreley/…

ストラウストラップのプログラミング入門(30) 19章「ベクタ、テンプレート、例外」

C++

『ストラウストラップのプログラミング入門』を読む。今日は、第19章「ベクタ、テンプレート、例外」の19.4まで。ようやくHello, templateです。19章では、前章までに作成したvectorクラスをさらに拡張します。前半(18.2節まで)では、あるサイズのvectorを…

ストラウストラップのプログラミング入門(29) 18章「ベクタと配列」(続々)

C++

『ストラウストラップのプログラミング入門』を読む。今日は、18章「ベクタと配列」の最後までです。 18.5.1「配列の要素へのポインタ」 少し前にC++では配列の添え字に負数を指定できると知り、何じゃそりゃと思っていたのですが、この章を読んで、使い道を…

ストラウストラップのプログラミング入門(28) 18章「ベクタと配列」(続)

C++

『ストラウストラップのプログラミング入門』を読む。今日は、18章「ベクタと配列」18.3.2。間が開きましたが、前回の続きです。本は読み進めず、コンストラクタとデストラクタの動きを追っただけ。リハビリ・リハビリ。 前提となるコード p.573から引用しま…

ストラウストラップのプログラミング入門(27) 18章「ベクタと配列」

C++

『ストラウストラップのプログラミング入門』を読む。今日は、18章「ベクタと配列」の18.3まで。前章のドリルで悩んでいたvectorのコピーについては、この章で本格的に扱われていました。ところで、ソ ラ ノートが他人事とは思えない今日この頃。あれほどの…

ストラウストラップのプログラミング入門(26) 17章「ベクタとフリーストア」

『ストラウストラップのプログラミング入門』を読む。第17章「ベクタとフリーストア」です。この章から、第3部「データとアルゴリズム」に入りました。17〜19章では、ポインタを理解するために、vectorを再実装していきます。 読書メモ ポインタ 次の表は、…

メモ: リンクで構成されたリストへの要素追加 via 鈍器

『ストラウストラップのプログラミング入門』の17章を読んでいたら、ポインタで構成されたLinkのデータ構造が出てきました。双方向リンクドリストを作って、要素を追加しているようですが、ん・・? んんん?算数は苦手なので、絵で理解します。(17.9.3)ふ…

ストラウストラップのプログラミング入門(25) 16章「GUI」

『ストラウストラップのプログラミング入門』を読む。今日は第16章「GUI」。12章から始まったグラフィックス話の最後の章です。ウィンドウにボタンやテキストボックスなどのウィジェットを貼り付ける話や、コールバックの説明が登場します。それにしても、「…

ストラウストラップのプログラミング入門(24) 15章「関数とデータのグラフ化」

『ストラウストラップのプログラミング入門』を読む。今日は第15章「単純な関数のグラフ化」です。オーバーライドに関する理解は保留中ですが、先に進むことにしました。15章では、シンプルなグラフを色々描画します。 ここで示すグラフィックス機能よりも、…

ストラウストラップのプログラミング入門(23) 14.3.3「オーバーライド」補遺

C++

『ストラウストラップのプログラミング入門』を読む。今日は、14章の補遺です。前回の読書日記にいただいたコメントを読んで、14.3.3「オーバーライド」を読み返しました。ずっと考えていたら、オーバーライドがゲシュタルト崩壊してきたので、ちょっと文章…

メモ: 継承による関数名の隠蔽

C++

派生クラスで基底クラスと同じ名前の関数を定義すると、たとえ引数の型が違っていても派生クラスで定義した関数が呼び出される。 #include <iostream> #include "../../std_lib_facilities.h" struct B{ void f(char c) { std::cout << "B::f " << c << std::endl; } }</iostream>…

ストラウストラップのプログラミング入門(22) 第14章「グラフィックスクラスの設計」

『ストラウストラップのプログラミング入門』を読む。今日は14章「グラフィックスクラスの設計」です。14章はとても面白かったです。特に、14.4「オブジェクト指向プログラミングの利点」は、章のハイライトです。余白のアイコンの量からも、この節の濃さが…

ストラウストラップのプログラミング入門(21) 第13章「グラフィックスクラス」

『ストラウストラップのプログラミング入門』を読む。今日は第13章「グラフィックスクラス」です。12〜16章では、著者が作成したインタフェースクラス(ライブラリのラッパー)を介して、FLTKライブラリを使います。13章は、インタフェースクラスの設計の解…

ストラウストラップのプログラミング入門(19) 第11章とドリル

C++

『ストラウストラップのプログラミング入門』を読む。今日は11章「入力と出力のカスタマイズ」まで。10章と11章はセットのような感じです。 11章のコードが動かん! と思ったら動いてた… 11章のコードを写経して実行したら、意図どおりに動かず、ハマりまし…

ストラウストラップのプログラミング入門(18) 第10章とドリル

C++

『ストラウストラップのプログラミング入門』読書日記。goyokiさんが、前回の日記に引用した箇所ついて、こんな感想をつぶやいてくださっていたので、メモメモ。 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = win…

ストラウストラップのプログラミング入門(17) 第9章とドリル

C++

『ストラウストラップのプログラミング入門』を読む。今日は9章の最後まで。ドリルもやった。9章は、「プログラミング言語の機能:クラス、その他」。8章に引き続き、C++の文法を解説する章になっている。 読書めも 覚えたこと structはメンバが全部publicの…

ストラウストラップのプログラミング入門(16) 第8章とドリル

C++

『ストラウストラップのプログラミング入門』を読む。今日は8章の最後まで。ドリルもやった。8章、9章は、C++の文法の解説なので、基本的にさくさく読める。疑問を差し挟む余地がない。# まあそんな章でも、下記のように、自分は余裕でつまづくわけですが。…

ストラウストラップのプログラミング入門(11) 第5章おわり

C++

『ストラウストラップのプログラミング入門』を読む。今日は第5章の5.9からドリルまで。この本は、いわば「実装の領域に特化して深化した『Code Complete』」なのかも。 事前条件は、コメントとコードの両方で書くのか? 5.10の最後の部分に、こういうコード…

ストラウストラップのプログラミング入門(10) 第5章のつづき

C++

『ストラウストラップのプログラミング入門』を読む。今日は、第5章の5.5から5.8まで。第5章のテーマは「エラー」。 印象に残ったところ エラーチェックの処理を書く場所 呼び出し側で描くか、呼び出される側で書くか、という問題。次の説明は、呼び出される…

わんくま勉強会の鈍器本(派生?)セッションだけUst視聴

わんくま同盟 東京勉強会 #62 http://www.wankuma.com/seminar/20110827tokyo62/ 次の発表だけ聴きました。 「『ストラウストラップのプログラミング入門』で語られなかったいくつかのこと」 http://www.slideshare.net/faithandbrave/bjarne-dont-speaking …