首页 > 解决方案 > 如何使用向量名称作为变量?

问题描述

我将如何使用向量名称是变量的向量函数?我所指的粗略草图:

void someFunc(int x) {
    vector<int>v0;
    vector<int>v1;
    vector<int>v2;
    switch (x) {
    case 0: //var will be assigned v0
    case 1: //var will be assigned v1
    case 2: //var will be assigned v2
    }
    var.assign(10, 1); //eg. when x == 1, it will be v1.assign(10,1)
}

标签: c++

解决方案


最简单的方法是使用指针。在 switch 语句中,您将向量分配给指针,然后您只需通过该指针访问分配的向量。那看起来像

void someFunc(int x) {
    vector<int> v0;
    vector<int> v1;
    vector<int> v2;
    vector<int>* var;
    switch (x) {
    case 0: var = &v0; break;
    case 1: var = &v1; break;
    case 2: var = &v2; break;
    }
    var->assign(10, 1); //eg. when x == 1, it will be v1.assign(10,1)
}

推荐阅读