如何创建一个std :: tuple,它包含由索引元组指定的向量中的成员?

时间:2017-02-09 14:05:24

标签: c++ stl variadic-templates

我有一些值的std :: vector,例如std::vector<std::string> v = {"a", "b", "c", "d", "e"};,然后我有一个从参数包创建的数字元组(即它可能有任何大小)。我如何创建一个向量成员的元组(这里是std :: string的元组),它使用索引元组作为向量的索引?例如,如果索引的元组具有值0,3,1,那么结果应该与我写的auto result = std::make_tuple("a", "d", "b");相同。我正在使用Visual Studio 2015。

编辑:澄清了索引的元组

1 个答案:

答案 0 :(得分:6)

这些方面的一些东西,也许是:

-- Source table: I_ZNACZNIKI_KONF
   CREATE TABLE test10."I_ZNACZNIKI_KONF" (
     "ID_ZNACZNIKA_KONF" INTEGER NOT NULL, 
     "NAZWA" VARCHAR(20) NOT NULL, 
     "WYR_TECHN" CHAR(1) DEFAULT 'N' NOT NULL, 
     "OPIS" VARCHAR(200) DEFAULT NULL
   ) WITH OIDS;

-- Source primary key: PK_I_ZNACZNIKI_KONF
   ALTER TABLE test10."I_ZNACZNIKI_KONF"
     ADD CONSTRAINT "PK_I_ZNACZNIKI_KONF" 
        PRIMARY KEY ("ID_ZNACZNIKA_KONF");

Demo