std::make_pair
时间: 2023-07-08 21:41:08 浏览: 117
`std::make_pair` 是一个模板函数,用于创建一个 `std::pair` 类型的对象。它有两个模板参数,分别代表 `std::pair` 对象的第一个元素和第二个元素的类型。它的函数原型如下:
```c++
template< class T1, class T2 >
constexpr std::pair<V1,V2> make_pair( T1&& t, T2&& u );
```
它接受两个参数 `t` 和 `u`,分别是 `std::pair` 对象的第一个元素和第二个元素的值,返回一个 `std::pair` 类型的对象,其中第一个元素的值是 `t`,第二个元素的值是 `u`。它通常用于简化代码,避免直接构造 `std::pair` 对象时需要手动指定模板参数。
相关问题
c++11 map std::make_pair插入
在 C++11 中,`std::map` 是关联容器,用于存储键值对,其中每个键都是唯一的。如果你想使用 `std::pair` 插入元素,可以使用 `insert()` 函数结合 `std::make_pair()` 来创建一个新的键值对。
`std::make_pair()` 是一个工厂函数,它接受两个模板参数(通常是两个类型),并返回一个包含这两个参数的新 `std::pair` 对象。例如,如果你有一个整数类型的键和一个字符串类型的值,你可以这样做:
```cpp
#include <map>
#include <utility>
int main() {
std::map<int, std::string> myMap;
// 使用 make_pair 创建并插入一对
auto pair = std::make_pair(42, "Hello World");
myMap.insert(pair);
// 或者直接插入键值对
myMap[42] = "Another value";
return 0;
}
```
在这个例子中,`myMap` 现在包含了键为 42,值为 "Hello World" 的元素。
std::make_pair 头文件
`std::make_pair` 函数位于 `<utility>` 头文件中。
你可以通过以下方法在 C++ 代码中使用它:
```cpp
#include <utility>
int main() {
int a = 10;
double b = 3.14;
auto myPair = std::make_pair(a, b);
return 0;
}
```
在上面的示例中,`std::make_pair` 函数用于创建一个 `std::pair` 对象,并将 `a` 和 `b` 作为其成员初始化。
请注意,`std::make_pair` 是一个模板函数,可以接受任意类型的参数,并自动推断出正确的类型。
阅读全文