decltype

    9

    1答えて

    // Compiled by Visual Studio 2012 struct A { bool operator ==(const A& other) const { for (decltype(this->n) i = 0; i < n; ++i) // OK {} return true; } protected

    11

    1答えて

    struct X{}; template<class T> decltype(X() == int()) f(T const&){ return true; } int main(void) { X x; f(x); } なぜ、ちょうどなぜ? operator==は、と定義されています。! MS Connectの詳細なバグレポートを提供するために、ここで何が起こ

    13

    4答えて

    クラスが継承リストにdecltypeを持つことができないのはなぜですか?例えば、私は次のコードは、RTypeからA<B>継承を行うことを期待するが、G ++ 4.6.1(-std=c++0xを使用)と、それはコンパイルされません: test.cpp:6:18: error: expected class-name before 'decltype' test.cpp:6:18: error: e

    6

    1答えて

    次の例では、メンバー関数の戻り値の型を取得するにはどうすればよいですか? template <typename Getter> class MyClass { typedef decltype(mygetter.get()) gotten_t; ... }; 問題は、もちろん、MyClassを定義する際に「mygetter」オブジェクトがないことです。 私がしようとしているのは

    4

    1答えて

    私が持っている:G ++ 4.6.1および4.7.0に 0 0 1 foo を生み出す #include <type_traits> #include <stdio.h> void f() { printf("foo\n"); } int main() { printf("%d %d %d\n", std::is_same<decltype(*&f),decl

    52

    1答えて

    私はこのような何かに見えたコードhereが見つかりました: decltype(entity) または :私は decltypeは以下のように署名されていることを言われた私が読んで、すべてのドキュメントで auto f(T& t, size_t n) -> decltype(t.reserve(n), void()) { .. } を decltype(expression) そして、第2引数は

    0

    1答えて

    C++ 11を使用して自分のコードの私の部分をマルチスレッドしたいと思います。私は後で供給発電機を使用して乱数のいくつかのフォームを持つ別のarrayを埋め別々std::threadにRNGオブジェクトのそれぞれを渡すことができるという考えで typedef std::mt19937 mersenne_twister; typedef std::uniform_real_distribution

    19

    5答えて

    二decltypeとtypeofに関する質問: decltypeとtypeof事業者との間の違いはありますか? typeofはC++ 11では廃止予定ですか?

    5

    3答えて

    decltypeの結果をC++ 11で比較する方法はありますか?つまり は、なぜこのコードは無効です: template<typename T, typename U> void func(T& t, U& u) { if(decltype(t) == decltype(u)) { // Some optimised version for this case }

    1

    3答えて

    VS2010は部分的にC++ 11をサポートしています。以下のコードをVS2010 RTMでコンパイルします。私はなぜコードCLS()が異なる意味で分析されるのか混乱している。行「decltype(CLS())obj1;」において、CLS()はクラスオブジェクトエンティティを示す。ただし、CLS obj2(CLS());行では、CLS()は関数ポインタを示し、パラメータなしでCLSオブジェクトを再