c++ - 如何使用向量名称作为变量?
问题描述
我将如何使用向量名称是变量的向量函数?我所指的粗略草图:
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)
}
解决方案
最简单的方法是使用指针。在 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)
}
推荐阅读
- r - 根据 R 中的测量条件将长数据帧转换为宽格式
- google-apps-script - 未找到 Google Script 函数:onEdit
- java - 让 Zuul 成为我的应用程序的唯一入口点
- jsf - 传递给函数问题的 JSF 值
- scala - 在 Scala Seq 中获取具有字段最大值的对象
- cloud-foundry - 带有 git 和 vault 的 PCF:必须在 'vault.port' 中定义 Vault 端口,而不是使用 : 语法
- python - np.empty 与 np.zeros 的速度
- vba - 筛选数据透视表数据字段
- angular - 角路由器激活路由
- python - SSL: CERTIFICATE_VERIFY_FAILED Django 在 nginx 网络服务器上通过 uwsgi 运行时出错