なんか熱とか全然ないけど療養中
開発中はファイルから読み込み、リリース時はそれらをまとめたアーカイブファイルから読み込むというありがちなスタイルを実現するため、ファイルマッピング*1を使うのと、アーカイブから解凍してメモリ上に置くので一般化を図ろうとしたが、ファイルマッピングとか結局いろいろ解放するべきものが出てきてめんどくさくなったため(一応メンバ変数shared_ptrとデストラクタで解放してあるけど)、どっちもstd::vector
デバッグ時:CreateFile*2→GetFileSizeEx→vector::resize(size)→&vector::at(0)へ全部読み込み
リリース時:圧縮データを展開しながらvectorにpush_backなりなんなりすればいいと思うよ!!
class ResourceLoader { public: virtual void readFile(std::vector<BYTE> out, const std::wstring &fileName) = 0; };
この抽象クラスを2通りの方法で実装すればおっけー。命名規則とかよくわかんないんでJava方式とか・・・。しかしメンバ変数にはm_をつける。しかしクラス名にはCをつけない。・・・大丈夫なのか?
なんかwstringとか微妙な気がしてならない。特にエラーメッセージで足し算したいことがよくあるのに例外はみんなstring(char *)なんですけど。