我创建了一个类型的地图map<T, const T&>.对于当前的示例目的,让我们说T:
class Bar {
public:
Bar(int x) {this->x = x;}
int x;
};
Run Code Online (Sandbox Code Playgroud)
接下来,我创建一个地图并插入Bar一些整数键.
Bar bs[] = {Bar(1), Bar(2), Bar(3)};
map<int, const Bar&> my_map;
for (int i = 0; i < 3; i++) {
const Bar &b = bs[i];
cout << "Setting map." << i
<< " with x = " << b.x << endl ;
my_map.insert(std::make_pair(i, b));
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,一切看起来都很好,并按预期b.x打印值1; 2; 3.接下来,我们将检索这些值.
for (int i = 0; i …Run Code Online (Sandbox Code Playgroud)