読者です 読者をやめる 読者になる 読者になる

meryngii.neta

今日も新たな"ネタ"を求めて。

boost::tieのネスト

C++ Boost

アキラさんの記事を読んでboost::tieのことを思い出し、もしかしてこいつはネストできるのかと気になったので調べてみた。

#include <boost/tuple/tuple.hpp>

int main()
{
	using namespace boost;
	
	int i; double d; const char* s;
	tie(tie(i, d), s) = make_tuple(make_tuple(123, 123.4), "abc");
}

残念ながらこのコードはエラーになった。どうやらtieは引数に左辺値を要求しているらしく、内側のtieが返した右辺値を外側のtieが受け取ってエラーになるようだ。