万物の理論を計算する (TED Talks) Stephen Wolfram / 青木靖 訳 2010年2月 計算(computation)というアイデア 今日はあるアイデアについてお話しします。大きなアイデアです。おそらくこの1世紀の間に現れた最大のアイデアであると見なされるようになるでしょう。「計算」というアイデアです。このアイデアはもちろん、今日の様々なコンピュータ技術をもたらしたものですが、計算にはそれ以上のものがあります。非常に深く、強力で、根本的なアイデアなのです。私たちはその力をまだ目にし始めたばかりです。 私は過去30年を、この計算というアイデアに真剣に向き合おうとする3つの大きなプロジェクトに費やしてきました。若い時分に私は、コンピュータを道具として使う物理学者としてキャリアを始めました。その後それを掘り下げていくようになりました。やりたいと思う計算はどんなものか考え
originally written at 2003.Oct.27 subtly modified at 2003.Oct.28 前回考察Iの終わり方からして、やっぱりと思う方もいらっしゃるかと思う。 私自身もそうだ。IIを書くことにしたのは必然かもしれない。 今回はなんとなく、拙作スマートポインタの設計理念というか、BoostやLoki ライブラリに対する苦し紛れの言い訳を書き連ねるための1ページのような気がするが、 その辺はご容赦いただきたい。そんなのは読みたくないという人はこの時点で 別のページへ飛んでくだされ。さてさて、続きの話を。 (Iを読んでいない人は先にそちらをどうぞ。) さて、Boostのshared_ptrの機能はかなりよさそうに見えるが、前回書いた ような理由で、完璧とは言えないと思う。resetやgetが付いているのは auto_ptrとのコンパチを考えたせいかそうで
以下のコードでやっていることの説明. EXCEPTION_HOOK((expr))と書いておけば, (expr) という C++ の式を実行したら急に例外が来たので……というときに, call stack のようなもので殴られた跡 (この hook が仕掛けられている場所に関する情報) を boost::exception に乗せていきます. call stack の生成ぐらい言語でサポートして欲しいよね,うんうん.終わり. Microsoft Visual C++ 2010 と GCC 4.5.0 で動作を確認済みです. 工夫として, EXCEPTION_HOOK((expr))という文字列が式 expr と同等な C++ の expression として透過的に機能するように見せかけてあります.つまり,たとえば std::string s("42"); int i = EXCEPTIO
参考: デストラクタを呼ばずに再構築 - melpon日記 - HaskellもC++もまともに扱えないへたれのページ C++ では、動的に確保したメモリ領域にオブジェクトを構築した場合、 確保した領域を解放する前に、デストラクタを呼び出す必要があります: // 何らかの理由で new 以外の方法でメモリ確保する必要がある場合 // メモリ確保し、オブジェクトを構築する(todo:例外安全) void* const vp = allocate_memory( sizeof(T) ); T* const p = ::new(vp) T(); // 何らかの処理 // デストラクタ呼び出し p->~T(); // 解放 free_memory( vp ); 普通に C++ を使うだけであれば、動的メモリ確保は new/delete を使えばいいし、 そもそも unique_ptr とか sha
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く