如何將std :: vector轉換爲std :: tuple? 我C++:將向量轉換爲元組
class T { };
int cnt = 3;
vector<T*> tv;
for (int i = 0; i < cnt; ++i) {
tv.push_back(new T());
}
我想
auto tp = std::tie(*tv[0], *tv[1], *tv[2]);
我怎樣才能得到這個TP? 如果cnt足夠大,我不能手動編寫此tp。
std::vector<
ConvConnection<
decltype(inputLayer),
decltype(*C1[0]),
decltype(*Conn1Opt[0]),
RandomInitialization<arma::mat>,
arma::mat
>* > Conn1(6);
for (size_t i = 0; i < 6; ++i) {
Conn1.push_back(new ConvConnection<
decltype(inputLayer),
decltype(*C1[0]),
decltype(*Conn1Opt[0]),
RandomInitialization<arma::mat>,
arma::mat
>(inputLayer, *C1[i], *Conn1Opt[i], 5, 5));
}
這是代碼。這裏只是6,但我也需要一些大小超過100的向量。我需要將這個向量轉換爲元組。
如果手動寫入過大或過於繁瑣,請編寫另一個生成它的程序。如果你想在運行時確定元組的大小,你不能。 – molbdnilo 2015-02-09 13:24:36
爲什麼你需要一個元組?不會'std :: array'工作? –
dasblinkenlight
2015-02-09 13:26:59
一個無題nitpick:你應該有更好的變量/類名稱。沒有理由'cnt'不能寫成'count'。什麼是ConvConnection? 'Conn1Opt'?在2015年,你的源文件仍然適合你的硬盤驅動器,其中有一些額外的字符,其他開發人員看你的代碼後會感謝你:) – Julian 2015-02-09 16:04:30