在C++中,map的emplace函數用于將元素插入到map容器中,如果待插入的鍵已經存在于map中,則不會插入,否則會插入新元素。
使用emplace函數可以避免創建臨時對象或進行多余的拷貝操作,提高了插入元素的效率。
示例代碼如下:
#include <iostream>
#include <map>
int main() {
std::map<int, std::string> myMap;
// 插入鍵值對
myMap.emplace(1, "apple");
myMap.emplace(2, "banana");
myMap.emplace(3, "orange");
// 重復鍵不會插入
myMap.emplace(1, "grape");
// 輸出map中的元素
for (const auto& pair : myMap) {
std::cout << pair.first << ": " << pair.second << std::endl;
}
return 0;
}
上述代碼中,使用emplace函數插入了三個鍵值對到map中,其中鍵值對(1, “apple”)會成功插入,而鍵值對(1, “grape”)不會插入。