Nov19th

C++ のバックアップソース(No.2)

Top / C++

*メモ [#ef502d94]
-ラムダ式
[変数キャプチャ](引数){処理コード}
関数オブジェクト。autoで受けられる
戻り値はreturn文の型になる
-Singletonクラスの継承は(基本的に)できない
-virtualなデストラクタを持たないクラスを継承してはいけない
-std::vector領域確保関連
--http://dvdm.blog134.fc2.com/blog-entry-62.html
--resize()
領域確保+オブジェクト生成
--reserve()
領域確保
--size()
オブジェクトとして初期化されている個数
--capacity()
領域確保されている数
これ以上にpush_back()しようとすると領域を取りに行く(現在の2倍)ため処理時間がかかる


-stringstreamの文字列リセットはss.str("")

-VC++ではtemplateの実装をヘッダに書かなくてはならない

-std::string::size()とstd::string::length()の動作に差はない

-スーパークラスのコンストラクタの明示的呼び出しは初期化子を使って行う

-namespaceブロックでtypedefされた型名は、その空間内扱いになる

*未解決問題 [#vd894fb5]
-Singletonの継承
-boost::shared_ptr<T>のPtr<T>への隠蔽(?) [#ze8ea4bf]
--基本
---templateのtypedefはできない
--defineの場合
---名前空間抜ける
---変数宣言時にエラー
--継承の場合
---コンストラクタによる動作が制限
---privateデストラクタが呼べない⇒Singleton時に困る


*リンク [#f3186737]
-スマートポインタを使ったSingletonパターン
http://d.hatena.ne.jp/wordi/20111229/p1
-template typedefができないので、その代用
http://d.hatena.ne.jp/bettamodoki/20121130/1354261873
-戻り値としてboost::shared_ptrを使う
http://d.hatena.ne.jp/faith_and_brave/20080123/1201078947
-配列からvectorへの変換
http://pokotsun.mydns.jp/?p=4163
-スタティックライブラリの作り方 for VC++
http://d.hatena.ne.jp/mitsu_chie/20090306/1236324630
-C++でオブジェクトのクラス名(型名)文字列を実行時に取得する
http://snowycode.blogspot.jp/2010/05/c_23.html
-マルチバイト文字列とワイド文字列
http://mkubara.com/index.php/マルチバイト文字列とワイド文字列
-PImplパターン
http://site.oukasei.com/?p=142
-std::cinのステートリセット
http://www.kab-studio.biz/Programing/Codian/iostream/05.html
-TinyXML-2 使い方
http://www44.atwiki.jp/bokuyo/pages/186.html
-Win32APIで階層化されたディレクトリを一度に作る
http://d.hatena.ne.jp/s-kita/20100709/1278688024
-現在時刻を取得する
http://7ujm.net/C++/time.html