Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
Boost.勉強会 #8 大阪へいってきました。 そして闇の軍団に囲まれながら喋ってきました。 カスタムメモリマネージャと高速なメモリアロケータについて View more presentations from alwei 内容はメモリを管理しつつ様々な恩恵を受けられるカスタムメモリマネージャの話と非常に高速に動作するメモリアロケータの話です。 ゲームでは割りと一般的な話ですが、あまり他の業界のプログラマには知られていないのかなと思い、今回の発表内容にしました。 更に今回の発表中にVimを使ったライブコーディング的な実演も挟みました。 その時に使ったコードもGitHubで公開しています。 【MemoryMaster】 実はまだこのメモリマネージャとメモリプールは問題が多いので実用は出来ないです。 具体的に言うと、 例外を使っていない スレッドセーフじゃない MakeMemoryPoolはコ
Boost.String Algorithmにあるsplit便利ですね。 今まで自分で作ってました。 #include <iostream> #include <vector> #include <string> #include <boost/algorithm/string.hpp> #include <boost/foreach.hpp> #define foreach BOOST_FOREACH using namespace std; using namespace boost::algorithm; int main() { string s = "a b c"; vector<string> result; split(result, s, boost::is_space()); // スペースで区切る foreach (const string& item, result)
Boost.Anyを使えば、次のようなコードが書ける。 int main() { std::vector<boost::any> v ; for (int i = 0 ; i != 20 ; ++i) { switch(rand()%5) { case 0 : // int型の値 v.push_back(int(123456)) ; break ; case 1 : //円周率でも入れてみよう v.push_back(float(3.14f)) ; break ; case 2 : //精度が高くても大丈夫だろう v.push_back(double(3.141592)) ; break ; case 3 : //std::stringはどうかな v.push_back(std::string("hello,world")) ; break ; case 4 : //vectorなんていれ
昨日力尽きて書けなかった boost::any の実装話。 Boost C++ library は,C++ の便利クラスを集めたライブラリです。リリースされてから随分経つので,ご存知の方も多いはず。その中にある,boost::any クラスは,「any 型」というどんな型でも放り込める型を提供してくれる夢のようなクラスです。 使い方については,丁寧な説明を作ってくださっている方がたくさんいらっしゃるので,ぐぐってみてください。ここでは中身の話だけ。C++ でどうやって「なんでも型」を作っているのか見てみます。先に言ってしまうけれど,この設計は美しいと思う。 つことで,ソースコードです。キャスト周りや周辺のおまけメソッドは省略。体裁を修正しています。 class any { public: // structors any() : content(0) { } template<typena
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く