std::make_pair Value值可以为自定义类吗
时间: 2024-01-21 20:02:41 浏览: 105
C++ map 根据value找key的实现
是的,std::make_pair的Value值可以是自定义类。std::make_pair是一个模板函数,它接受两个参数,第一个参数是Key的值,第二个参数是Value的值。这两个参数可以是任意类型,包括自定义类。
例如,假设我们有一个自定义类叫做MyClass,它有一个成员变量和一个成员函数:
```cpp
class MyClass {
public:
int data;
void printData() {
std::cout << "Data: " << data << std::endl;
}
};
```
我们可以使用std::make_pair来创建一个存储MyClass对象的pair:
```cpp
MyClass obj;
obj.data = 42;
std::pair<int, MyClass> myPair = std::make_pair(1, obj);
```
在这个例子中,我们将整数1作为Key的值,MyClass对象作为Value的值。您可以根据自己的需求使用各种不同类型的自定义类作为Value值来使用std::make_pair函数。
阅读全文