C++

p391〜p440まで

バイナリモードとテキストモード バイナリモードとテキストモードの違いは改行コードの取り扱いについてだけ。 p392:下段 テキストモードでは自動的に改行コードを環境に合わせて変換してくれる。 p392:中段 これは知らなかったかもしれない。バイナリモード…

p372〜p384まで

どうやらこれからiostream周りの解説になるらしい。あんまりC++の標準ライブラリは使ったことないのでこれからはサンプルコードをできるだけうって身につけていくようにする。 サンプル実行環境 まず、それにともなって、今回の勉強のはじめの時点で書いてい…

p385〜p390まで

ちょっと前のやつは長くなったので分離。 ファイル操作の基本 書き込み C++でファイルを扱う場合はcstdioかfstreamに含まれている機能を使用する。今回はfstream。しかし、Cに比べて簡単だこれ。Cはいちいちファイルポインタ使ってうんたらかんたらしないと…

p346〜p369まで

昨日は送別会だったので1日あいてしまった。 コンストラクタ、デストラクタの呼び出し順 基底クラスから順にコンストラクタが呼ばれる 派生クラスから順にデストラクタが呼ばれる p346:要点 知ってたけど、これも微妙に認識が甘いと思ってメモ。それがなぜ…

p314〜p345まで

今回はクラスの基本的な機能の解説。 継承 アクセス指定子をprivateにすれば基底クラスではpublicだったメンバも 派生クラスにおいてはすべてprivateになる。 また、アクセス指定子を省略するとprivateになる。 p321:下段 基本的にprivate継承、protected継…

p270〜p312まで

クラス!ざざっと! 引数つきコンストラクタ これは知らんかった・・・。 // Integerクラスを定義済み Integer array[4] = { Integer(), Integer(3), Integer(6), }; p283:クラス配列の初期化おれ、今までどうやってクラス配列初期化してきたんだろう・・・…

コンテナの余分な領域を取り除く方法

C++

シュリンクツーフィットと呼ばれる方法。 vector<Hoge>(hoge).swap(hoge); これでOK。まず、hogeの一時オブジェクトが作られるが、この一時hogeは余分な領域がない。次に一時hogeとhogeのデータがswapされる。そして、余分な領域のデータは一時hogeが解放された時</hoge>…

p258〜p268まで

今日はnew/delete。 new/delete newで確保できるメモリのある領域を正式にはフリーストアと呼ぶ。 ヒープとは実は別のものを指す用語。 実用上はヒープでも問題ないかな? メモリが確保できないときはnewがbad_alloc例外を返す。 このとき例外を捕まえなけれ…

p240〜p258まで

分割コンパイル これ知らなかったなぁ。 配列のサイズ指定などにconst定数を使っていた場合、 その値がどんな値かわからなければならないため、 const定数は自動的に内部リンケージとなる。 Cだとconst定数は外部リンケージになるらしい。確かに配列のサイズ…

なんかどこかで今C++が話題ってみた。

C++

id:earth2001yのとこだった。 http://d.hatena.ne.jp/earth2001y/20080417/p1でも中にはこんな意見もあるご様子。 http://lucille.atso-net.jp/blog/?p=469なかなか世の中、なんでもできる魔法のランプってのは見つからないもので。

p223〜p239まで

今日はもうこんな時間だけどちょっと勉強しときます。 静的ローカル変数 知ってたけど忘れてたものの一つ。 静的変数は初期化されなければ0で初期化される。 ついつい癖で明示的に0で初期化しちゃいます。お、新しい関数発見。fill_n()。ちょっと使ってみよ…

p196〜p222まで

配列の配列 配列の配列を初期化する際に、配列のサイズを省略できるのは最初の部分だけ。 int n[][5] = { // うんたらかんたら }; 構造体 メモリ上に存在している、ある型の変数のことを、その型の「実体(インスタンス)」といいます。 また、構造体は意味の…

p156〜p196まで

次はポインタ周りじゃー! ポインタと配列 配列を関数に引数として渡す場合、これでいけるのはしらなかった。 void func(int array[]); int main() { char n[10]; func(n); } 関数内でのarrayの使い方は普通のポインタと同じように使える。要するに、上のfun…

p91〜p153まで

do-while 正直1回も使ったことない。とりあえず書式メモ。 do{ // do something... }while(if...); // ここにセミコロンが入る。 ビットとバイト これまたいろんなところで言われてるけど、sizeof演算子を変数に対して使う場合、()は不要。一応メモ。 signed…

p73〜p90まで

ううー、もう12時やん。あと20分や!時間がほしい。 条件分岐 筆者もif文には括弧をとりあえずつけておく派か。自分と同じだ。 そういや、大学のときにやった離散数学はもうちょっと勉強しといたほうがよさそうだなぁ。なんとなくベン図をみながらそう思った…

p61〜p72まで

久々に再開。別にさぼってたわけじゃないですよ、ええ。しかし、今日もあんまり時間がないなぁ。 関数 p63: 関数の名前も使える文字は変数と一緒。 あと、他の人のブログでもよく書かれているけど、仮引数がparameterで実引数がargument。ほんとこれどこから…

はじめから〜2-2(p61)まで

本がでかいので、ちょっとおれの机ではエントリ書きながらコード書きながら本読みながらってのは難しい・・・。 気になったことをここにメモっていこう。 1章 とりあえず1章はざっくりと目を通す。 まぁーここらへんは大丈夫っと。 2章 2章の1の要点 変数名…

とりあえずロベールのC++入門始める前に

今回はVC2005でやろうと思ってるんですが、(本当はEmacs使いたいけど、デバック環境どんなの使えばいいかわからないなんていえない><)なんか毎回プロジェクト作り直すのもめんどくさいんで、ファイル追加していく形で入門プロジェクトを作ろうかと思った。…

C++ Coding Standards読んでます。

http://www.amazon.co.jp/C-Coding-Standards―101のルール、ガイドライン、ベストプラクティス-‐depth/dp/4894716860 こいつですね。 結構難しいことも書いてありつつ、目から鱗な部分も書いてありつつ。 まだ読み始めたばかりなんですけどね。いまんとこ30…

C++クラス設計

http://www.ogis-ri.co.jp/otc/hiroba/technical/CppDesignNote/ もしかしたら内容古いかもしれないけど今度読んでみよう。

MemoryPool

C++

http://geocities.yahoo.co.jp/gl/fuzzyfactory/view/20041209 これの2番目の記事。 MemoryPoolってのが速いらしいです。 もはや時代遅れかもしれないけど、あんまり検索しても日本語の記事でてこないんで、 ちょっと家でも勉強がてら、今度組んでみようかな…