EZ-NET

UPDATES

更新日 内容
2013-02-18 美味しんぼ 福島の真実編 3 を読んで。
美味しんぼ「福島の真実」編の第三話では、2011年11月の人々の様子が次第に明らかになってきましたね。いつの間に今は、こんなに落ち着きばかりが取り戻されているのだろうと、ちょっと考えてしまいました。
2013-02-16 C++ の istream の関数を使って値を読み込む。
C++ の入力ストリームでは、ストリーム抽出演算子を使って値を取るのが有名ですが、用意されている関数を使って細かな抽出操作もできるようになっています。
2013-02-16 C++ で自由に移動できるストリームバッファを作成する。
C++ のストリームで使うストリームバッファを自作したとき、それをストリームの seekp 関数や seekg 関数で自由に移動させるためには、ストリームバッファクラスで seekpos 関数や seekoff 関数をオーバーライドする必要があります。
2013-02-15 C++ で自由に移動できるストリームバッファを作成する。
C++ のストリームで使うストリームバッファを自作したとき、それをストリームの seekp 関数や seekg 関数で自由に移動させるためには、ストリームバッファクラスで seekpos 関数や seekoff 関数をオーバーライドする必要があります。
2013-02-15 C++ で独自クラスをストリーム出力に対応させる。
C++ で作成したクラスにストリーム挿入演算子を実装して、ストリームへ値を直接出力できるようにする方法です。
2013-02-15 std::ostream で独自のバッファにストリーム出力する。
C++ で sprintf を使うというのもちょっとらしくないような気がして、自分で確保したバッファに std::iostream を使ってデータを出力する方法を調べてみました。
2013-02-14 C++ のクラステンプレートの使い方。
C++ では、クラステンプレートを使って、ひとつの実装で任意の型を扱えるテンプレートクラスを定義することができます。同じ処理で型だけ違うクラスを作りたいときにたいへん重宝します。ポインタ型の場合は別の定義を適用することもできます。
2013-02-13 C++ 関数テンプレートの使い方。
C++ では、関数テンプレートを使って、任意の型を引数に取るテンプレート関数を定義することができます。同じ処理で型だけ違う関数を作りたいときにたいへん重宝します。
2013-02-13 美味しんぼ 福島の真実編 2 を読んで。
美味しんぼ「福島の真実」編の第二話では、いよいよ福島に現地入り、2011 年 11 月の現状が淡々と描かれ始めましたね。それを見てたら、自分もその頃ガイガーカウンターを買って近所を計測していた記憶が蘇ってきました。
2013-02-12 C++ で例外処理を実装する。
C++ で例外エラーを発生させたり、それを捕捉して処理を行う方法を整理してみました。発生し得る例外の明記や、明記されていない例外が発生した場合についても触れています。
2013-02-11 Xcode で C++11 を使えるようにする。
Xcode の Objective-C++ や純粋な C++ では C++11 規格のほとんどが使えますけど、少し古いプロジェクトの場合、C++11 を有効化するコンパイルオプションが指定されていない場合がありました。
2013-02-11 Windows 8 の Media Center を使いたい。
Windows 8 から、テレビ視聴ソフト Media Center が有料オプションになりました。使い心地は気に入っていたのでさっそく買ってみたのですけど、対応している地デジチューナーが見つからない、見つかっても上手く行ってくれなくて、なかなか Windows 8 でテレビを見るのも大変ですね。
2013-02-10 C++ の前置演算子と後置演算子の違い。
C++ には前置演算子と後置演算子とが用意されている場合があります。これらはもちろん働きに少し違いがあるのですが、一般的に前置演算子の方が効率よく使える場合が多いようです。ここではその違いについて見て行きます。
2013-02-10 C++ でクラスに独自のイテレータを実装する。
C++ にはイテレータという繰り返し処理を支援する仕組みが用意されています。イテレータを自作のクラスに実装すれば、std::for_each などのイテレータを前提とした関数で自分のクラスが使えます。
2013-02-09 C++11 でキーを重複して持てる連想配列を使用する。
C++11 では、キーと値をセットで管理する連想配列を簡単に利用できるテンプレートクラスが用意されています。今回は同じキーを複数個登録できる std::unordered_multimap クラスについて見て行きます。
2013-02-08 連想配列 std::unordered_map を使用する。
C++11 では、キーと値をセットで管理する連想配列を簡単に利用できる std::unordered_map というテンプレートクラスが用意されています。今回はその基本的な使い方について触れてみます。
2013-02-08 Windows で GPT 保護パーティションを削除する。
ハードディスクの内容を消去しようと思って「ディスクの管理」を開いたら、パーティションが GPT 保護パーティションになっていて削除できないことがありました。そんなときの削除方法について調べてみました。
2013-02-08 C++ クラスに独自のキャスト演算子を実装する。
C++ のクラスでキャスト演算子を実装すると、そこで指定した型へクラスの値をキャストできるようになります。
2013-02-07 C++11 の乱数を使う。
C++11 では標準で高度な乱数を使えるようになっています。使い方も慣れれば簡単なので、これなら気軽に乱数を使えそうですね。
2013-02-05 C++ で std::bind を使って関数を特殊化する。
C++ の std::bind 関数を使うと、既存の関数の引数を固定したり省略した関数を作って使えます。限定的に関数を使わせたいときに、これまでのような自前での実装が要らなくなって便利です。
2013-02-05 PHP5 のコールバック関数で参照渡しの引数を受け取る場合。
PHP5 で関数へ参照渡しで引数を渡す方法が仕様変更されていたようで、call_user_func 関数を使って呼び出すコールバック関数に渡す方法もちょっと変わっていました。それについて追記しておきます。
2013-02-05 PHP5 で文字列内に変数の値を展開する。
PHP でプログラムを組んでいると、変数を使って文字列を作ることがよくあると思います。そんなとき、いつも使うやり方だけではなくて、別の方法も気にしてみると、もう少し楽にコードが書けるかもしれません。
2013-02-03 美味しんぼ 福島の真実編 1 を読んで。
BIG COMIC スピリッツの先週号で、美味しんぼ「福島の真実」編が始まりましたね。原発事故で放射能が日本各地に飛び散ってから 2 年足らず、未だにその様子が垣間見えないように感じます。そんな中にスタートしたこの漫画、ここから何が見えてくるのか、楽しみです。
2013-02-02 C++11 でスマートポインタを使用する。
C++11 に規定された 3 つのスマートポインタを使うと C++ でもメモリ管理の負担を大幅に軽減できて便利です。
2013-02-02 C++ で正規表現を使用する。
C++11 では標準で正規表現が利用できるようになりました。正規表現パターンを使った検索や置換がシンプルに記載できて使いやすいです。
2013-02-01 C++11 で UTF 形式の文字列リテラルを定義する。
C++11 では UTF 形式の文字列リテラルを使えるようになりました。
2013-02-01 C++11 で raw 文字列を使ってエスケープ文字を省略する。
C++11 で規定された raw 文字列を使うことで、円サインや引用符などをエスケープ記号を使わずにシンプルに記載できるようになります。改行もダイレクトに入力できます。
2013-01-31 C++ で変数を参照型に明示的にキャストする。
C++ では std::ref 関数を使うことで、変数を明示的に参照にキャストすることができます。
2013-01-31 C++11 の Tuple で複数個の型をまとめて扱う。
C++11 で規定されている Tuple を使うと、任意個の型をひとつにまとめて、関数の戻り値などに使えるようになります。構造体と違って好きなタイミングで柔軟に使えるところが便利です。
2013-01-30 C++11 で変数の型情報を実行時に取得する。
C++11 では typeid を使って変数の型情報を実行時に取得できるようになりました。C++ でも実行時にそんな情報を得られるなんて時代が変わった感じがしますね。これと dynamic_cast を上手く使えば、だいぶ柔軟な実行時型判定ができそうです。