0

C++ でのこのステートメントは何を意味しますか。タイプリストについて読んで出会いました。

typelist の演算子 ">" が何を表しているのかわかりませんか? これまでに C++ テンプレートでこれを使用したことはありませんか?

template 
struct typelist
{
    typedef H head;
    typedef T tail;
};


typedef typelist > >
    floating_point_types;

短い説明をありがとう!これは可変個引数テンプレートですか?

4

1 に答える 1

5

コードフラグメントが間違っているようです。名前とコンテキストから、次のように見えるように意図されていたと思います。

template <typename H, typename T>
struct typelist
{
    typedef H head;
    typedef T tail;
};


typedef typelist<float, typelist<double, long double> >
    floating_point_types;

元のコードは HTML ドキュメントに貼り付けられたように見えるため、'<...>' のシーケンスが削除されています。

もちろん、C++ 2011 では、このようなことを行う必要はありません。代わりに可変個引数テンプレートを使用することもできます:

template <typename... T> struct typelist {};

typedef typelist<float, double, long double> floating_point_types;
于 2012-11-11T17:25:25.790 に答える