Maciek
Maciek

Reputation: 19903

How do I initialize a const std::pair?

Let's say that I've got a :

#include <utility>
using namespace std;
typedef pair<int, int> my_pair;

how do I initialize a const my_pair ?

Upvotes: 20

Views: 53870

Answers (5)

Aditya Kumar
Aditya Kumar

Reputation: 154

Although this post is quite old, I encountered the same problem today and managed to resolve it as follows. I hope it will be helpful for others.

const std::array<const std::pair<std::string, int>, argument_no> infoArr = {std::make_pair("start_year", 0), std::make_pair("end_year", 0)};

Upvotes: 0

With C++11 you can also use one of the following:

const my_pair p = {2, 3};
const my_pair p({2, 3});
const my_pair p{2, 3};

Upvotes: 28

Cătălin Pitiș
Cătălin Pitiș

Reputation: 14327

const my_pair p = std::make_pair( 2, 3);

Upvotes: 21

Ivan
Ivan

Reputation: 1796

const my_pair p = my_pair(3, 2);

Upvotes: 1

anon
anon

Reputation:

Use its constructor:

const my_pair p( 1, 2 );

Upvotes: 38

Related Questions