タグ

2008年9月23日のブックマーク (3件)

  • Techniques for Scientific C++

    Todd Veldhuizen <tveldhui@acm.org> Indiana University Computer Science Technical Report # 542 Version 0.4, August 2000 This report summarizes useful techniques for implementing scientific programs in C++, with an emphasis on using templates to improve performance. Chapter 1: Introduction 1.1: C++ Compilers 1.1.1: Placating sub-standard compilers 1.1.2: The compiler landscape 1.1.3: C++-specifi

    amachang
    amachang 2008/09/23
    C++ のテクニック集。テンプレートを使った例など多数。式テンプレートすげー
  • C++ Glossary

    このページについて C++関係の話に出てくる言葉で、「読んで字の如し」 とはいかない難解語の簡単な解説を並べてみました。Glossaryというより、 むしろ略語辞典になってしまいました。巷で見かけた単語を並べているだけなので、 実際の所ほとんど使われない略語もあったりするかもしれません。 ちゃんとした用語集は Bjarne Stroustrup's C++ Glossary などをご覧になることをオススメします。 用語集 ADL (Argument Dependent name Lookup) 引数に依存した名前の探索。 Argument Based Lookup, Koenig Lookup とも呼ばれる。 #include <iostream> #include <string> ... std::string s; std::cout << s << std::endl; // os

    amachang
    amachang 2008/09/23
    C++ の難解な用語たち
  • 実引数依存の名前探索 - Wikipedia

    実引数依存の名前探索 (じつひきすういぞんのなまえたんさく、ADL)とは、C++において関数呼出時に与えられた引数の型に依存して、呼び出す関数を探索 (lookup)する仕組みのことである。英語ではKoenig lookup、argument dependent lookup (ADL)、argument dependent name lookupなどと呼ばれる。なお、Koenig lookupとは、この仕組みをAndrew Koenigが提案したことにちなむ。 ADLでは、探索される名前空間は実引数に依存する。A型のオブジェクトが関数呼出の際に実引数として用いられると、Aに関連する名前空間(Aが含まれる名前空間とAの基底クラスが含まれる名前空間の和集合)からその関数が探索される。 探索の後、見つかった宣言の集合の中から多重定義の解決が行われる。 以下に例を示す。 namespace So

    amachang
    amachang 2008/09/23
    argument dependent lookup について、 NS::T a; f(a); と書いたときに f の名前解決で NS::f が look up される可能性がある。これは、 std::cout << msg; のようにしたときに std::operator<< が呼ばれるために必要な名前解決方法である。