clang v3.2。本当にC++について何も知らなかったので、このオプションに気づくまで一時間かかった 参考: 本の虫: lambda 完全解説 http://cpplover.blogspot.jp/2009/11/lambda.html とりあえずmap, each, selectを定義して遊んでみる。 #include <iostream> #include <memory> #include <cmath> #include <vector> namespace prelude { template<class T, class F> auto map(const std::vector<T> & vec, F fun) -> std::vector<decltype(fun(vec[0]))> { std::vector<decltype(fun(vec[0]))> ret;
COM オブジェクトを扱う場合は、参照カウントの解放を意識しなければなりません。使用した COM オブジェクトの参照カウントが、正しくデクリメントされていないと意図したタイミングでプロセスが解放されません。 参照カウントのデクリメントは、System.Runtime.InteropServices.Marshal クラスにある ReleaseComObject メソッドを使用します。COM ラッパ オブジェクト (COM そのものではない) の参照が未到達になれば、ガベージ コレクションを実行して解放することができますが、こちらはあくまでも保険です。 参照カウントのデクリメント解放自体は、ReleaseComObject メソッドを呼び出すだけですので難しくはありません。面倒なのは、ReleaseComObject メソッドを実行するために、参照したものをすべて変数へ格納しておく必要がある
フリーセル解決手順のプログラムによる探索実行結果 フリーセル百万種類のゲーム全てに対してサンプルプログラムを実行したところ、おそらく勝てないと言われている 11982、146692、186216、455889、495505、512118、517776、781948 以外のゲームでは勝つことができました。 百万種類のゲームの中で 57148、563096 の二つはコンピュータにとって勝つのが難しい性質を持っています。非常に長い堂々巡りの手順が現れ、およそ四百万局面ぐらいの同一局面判定ができなければ勝てません。また最初の一枚をホームセルへ置くまでの手数が長いので、先読みを長くしなければ勝ち手順を見つけることができないのです。この二つのゲームに勝つために、最大手数を 8,192 (freecell.h : MAX_SEARCH_DEPTH)、同一局面判定上限を 4,194,304 局面 (mov
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く