假设我有一个元组将std元组解压缩为指针?
std::tuple<A, B, C> myFavoriteTuple;
我可以这样做:
A a;
B b;
C c;
std::tie(a, b, c) = myFavoriteTuple
但如果一些元组是复制真的很贵,我真正喜欢的是采取或引用一个指向我的元组中正确点的指针。我可以这样做:
A* a = &std::get<0>(myFavoriteTuple);
B* b = &std::get<1>(myFavoriteTuple);
C* c = &std::get<2>(myFavoriteTuple);
但相比tie
语法如何真棒是显得那么跛。是否有任何其他方式来获取指向元组件的指针/引用?
请参阅Boost.Fusion –
在某些情况下,从元组移动可能是最好的想法 - ''''std :: tie(myFavoriteTuple);' – zch
Oh man,C++ 17 is很棒:'auto && [a,b,c] = myFavoriteTuple;'完成。 – Barry