変数宣言が可能な std::tie シーズン2
@ std::tupleの使い勝手悪いと言っている各位 http://t.co/1HgIyw0q (http://t.co/dtfZEFLg を一部修正)
2012-03-25 02:00:14@decimalbloat えー,これすでに宣言済みの変数への代入と変数宣言を混在できないんですかぁー? 使い勝手悪ぅーい.
2012-03-25 03:08:51@decimalbloat ちなみにこれ, template のむき出しのコンマに対して安全なんですか?
2012-03-25 03:13:15「C++ を便利にするマクロできたよー」と言っている人が居たとして,そのマクロの引数として型名が取られる場合,そこに std;;pair<int, int> あたりを突っ込むとそこそこ撃墜できます.
2012-03-25 03:16:34@decimalbloat 多分知っているとは思いますけれど,マクロの引数として回している間は関数の引数としてくるんでしまって,使う段になった時にそこから取り出すのが常套手段ですね.
2012-03-25 03:18:36っていうか TIE((X)(Y)(Z), TUPLE) の構文で良いならそこまで難しい要素無いような? (実装する前から大口を叩いて後で後悔するパタン)
2012-03-25 03:26:51@Cryolite PP_SEQだとよきに図らってくれないのでC++11対応したTUPLE_REMとTUPLE_EATでやれば大丈夫です.
2012-03-25 03:31:28@decimalbloat ふむ. variadic TUPLE_REM/TUPLE_EAT で簡単になんとかなりますね,確かに.
2012-03-25 03:33:05@decimalbloat 宣言と代入の混在は copy-initialization 使えば何とかなりませんか? これだと型名を書く位置に auto 使うだけで TIE_AUTO が要らなくなりますし.
2012-03-25 03:37:13ただし copy-initialization 使うと型を明示的に書いた場合に direct-initialization と semantics が変わる(けど,まー,元々 std::tie は代入なんだしそれでいーんじゃね,的な)
2012-03-25 03:39:19