タグ

c++に関するninjinkunのブックマーク (7)

  • C++コミュニティーの中心でC++をDISる

    Boost.勉強会4にて発表した内容です。http://atnd.org/events/11551Read less

    C++コミュニティーの中心でC++をDISる
  • Bjarne Stroustrup Interview about C++  C++ はプログラマの給料を上げるためわざと難しく作った

    English only -----Original Message----- Subject: FW: Bjarne Stroustrup Interview about C++ (Joke I hope) Importance: Low On the 1st of January, 1998, Bjarne Stroustrup gave an interview to the IEEE's 'Computer' magazine. Naturally, the editors thought he would be giving a retrospective view of seven years of object-oriented design, using the language he created. By the end of the interview, the in

  • C++0xのマルチスレッド機能

    はじめに C++の新しい標準規格である「C++0x」の大きな新機能の1つが、マルチスレッド処理のサポートです。 従来のC++では、マルチスレッド機能は標準規格の拡張としてコンパイラごとに提供されていたため、細かな部分がコンパイラやプラットフォームによって異なっていました。しかしC++0xでは、すべてのコンパイラが同じメモリモデルに準拠し、同一のマルチスレッド機能を利用できることになります(ただし、従来同様の拡張をコンパイラが独自に提供することも可能です)。 開発者の立場からすると、マルチスレッドのコードを別のコンパイラやプラットフォームへ移植するときの手間を大きく省くことができます。複数のプラットフォーム向けの開発を行う場合でも、種々雑多なAPIや構文をいくつも頭に入れておく必要がありません。 新しいスレッドライブラリの中心を担うのは、実行スレッドを制御するstd::threadクラスです

    C++0xのマルチスレッド機能
  • ウノウラボ Unoh Labs: diff with C++

    ミートソーススパゲティを作るときは、ミートソースから作るのが信条のbokkoです。それはさておき、今日はdiffのお話です。 diff diffは指定した2つのファイルの差分を求めるコマンド、もしくはその差分そのものを指します。普段から何気なく使用しているコマンドですが、その中で使われているアルゴリズムは結構難しいです。 差分を計算するということ 差分を計算するというのは以下の3つを求めることに帰結します。 ・Levenshtein Distance(Edit Distance) ・LCS(Longest Common Subsequence) ・SES(Shortest Edit Script) 上から順に1つずつ説明していきます。 Levenshtein Distance Levenshtein Distanceは2つのシーケンスの違いを数値化したもので編集距離とも言います。これは後述

  • C++ 12年ぶりに次世代スタンダードへ - "C++0x" 策定進み草案公開へ | エンタープライズ | マイコミジャーナル

    The C++ Programming Language プログラミング言語C++は1998年に発行され2003年に改訂された国際標準ISO/IEC 14882を仕様として採用している。ISO/IEC 14882はC++の言語仕様と標準ライブラリの双方を規程しており、1998年に規程されたものは通称C++98、2003年に改訂されたものは通称C++03と呼ばれている。現在、JTC1/SC22/WG21 - The C++ Standards Committeeにおいて次期C++仕様"C++0x"の策定が進められている。最終的に12年ぶりに新しいC++が登場ということになりそうだ。 C++0xはC++98/03との互換性は確保しつつ、言語仕様と標準ライブラリの双方の規約を改訂するもので、新しい機能として並列プログラミングのサポートやプログラミングの簡素化、関数プログラミング機能の強化、ジェネ

  • おびなたのはてな日記 - C++テンプレートは計算完備

    KEMURIをチューリング完全にするためにはどうしたらいいか、あるいはどうすればチューリング完全性を判定できるのか、ヒントを探していたら「C++テンプレートはチューリング完全だよー」という論文にたどり着いた。 C++ Templates are Turing Complete(PDF) Boost::MPL みたいなものが実現できるあたり、その可能性は感じていたけどやっぱりか!!但し、チューリング完全だと、いわゆる「チューリング機械の停止判定問題」があるわけで、C++はその問題を避けるために、言語仕様では最低17回の再帰までしか保証しないことにしている。なので、厳密にはチューリング完全ではないところ、これを無制限と仮定しているのがミソ。そして、テンプレートがチューリング完全ならば、(テンプレートを使った)C++プログラムはコンパイルできるかどうか判定する事が一般的にできなくなる*1。 昨年

    おびなたのはてな日記 - C++テンプレートは計算完備
  • C++ の std::vector に v += 3, 1, 4 で push_back - てっく煮ブログ

    c++boost::assign使ってみた - Faith and Brave - C++で遊ぼう にて boost::assign の使い方が紹介されていた。 #include #include #include #include using namespace std; using namespace boost::assign; int main() { vectorint> v; v += 3, 1, 4; // !!! for(unsigned int i = 0; i return 0; } おおおおお、なんかすごい…!普通なら v.push_back(3); v.push_back(1); v.push_back(4); と書かなきゃならないところを v += 3, 1, 4; と書ける。自分の C++ の常識からするとびっくりするような書き方なのだけど、C++ では

  • 1