【发布时间】:2015-07-20 23:56:21
【问题描述】:
目前我有这个代码主干:结构向量v[myStruct]。它的大小是 3。我将这些结构命名为 myStruct_A、myStruct_B 和 myStruct_C。每段代码几乎相同,只是以名称作为后缀。
SomeMap someMap_A;
for (auto& pair : myStruct_A.hashMap) {
SomeStruct someStruct = foo(pair);
someMap_A[someStruct.key] = someStruct.value;
anotherStruct_A[someStruct.nameX] = someStruct.bundle;
}
someVector.push_back[someMap_A];
所有三个 A、B、C 都需要做上述事情。这里的问题是,如果使用函数,我不知道如何分隔和指定名称。我需要获取基于所有这三个myStructs 输出的几个数据向量。
【问题讨论】:
-
后缀是什么?如果您将结构作为参数传递,您不会关心它在函数中的命名方式。
-
它们具有相同的数据类型。只是名字不同而已。我现在能想到的是为每个结构使用
pair,并将其名称用于第二个条目。但这似乎很愚蠢...... -
@LeleDumbo 你是对的......只要我按顺序添加它们,我不在乎名字。当我从向量中提取最终结果时,我可以直接命名它们。
-
据我所知,这里只需要一个普通函数,一个带有引用参数的函数。而且像你说的那样使用一对确实很愚蠢,而且行不通。
-
@Tas 这是示例代码,将在代码审查中作为题外话关闭