プロが教えるわが家の防犯対策術!

 こんばんは。今回初めて此方のカテゴリに質問させて頂きます。
 今暇つぶしにtr1::tuple<T1, T2, ..., TN>の中を書いています。

http://www.open-std.org/jtc1/sc22/wg21/docs/pape …

--------------------------------------------------------------
pdfの[6.1.3]より(少し省略しています)
--------------------------------------------------------------
template<T1, T2, ..., TN>
class tuple
{
public:

↓このコンストラクタのP1~PNが、どの様な型に成るのかが不明瞭です。
explicit tuple(P1, P2, ..., PN);

--------------------------------------------------------------

pdfの[6.1.3.1]辺りにP1~PNの事について、書いてはあるのですが・・・今一掴めません。

例えば、

tr1::tuple<char, int, const char(&)[3]>

と書いた場合、コンストラクタのP1, P2, P3はどう言う型になるのでしょうか。
テンプレートメタプログラムが解る方、ご教示お願いします。

A 回答 (1件)

> where Pi is Ti if Ti is a reference type, or const Ti& otherwise.



なので、

tr1::tuple<char, int, const char(&)[3]>

の仮引数の型は、

const char&, const int&, const char(&)[3]

ではないでしょうか?
    • good
    • 0
この回答へのお礼

 御礼が遅れてしまい大変失礼致しました。
 ご回答いただき感謝いたします。

 英文が得意ではない為「参照の場合は参照外しをする」と思い込んでいたので 

 const char(&)[3] が const char[3] 

 になってしまい、混乱していました。

 ご教示いただきまして、無事に通過できました。
 また機会が御座いましたら宜しくお願い致します。
 有難う御座いました。

お礼日時:2008/08/17 13:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!