Описание тега std-pair

A std::pair is an ordered, heterogeneous sequence of exactly two objects (it is a special case of std::tuple).
3 ответа

C++ std::pair, std::vector & memcopy

Безопасно ли memcopy myvect.size()*sizeof(foo) байтов из адреса памяти первого элемента std::vector<std::pair<T1, T2> > myvect в массив struct foo{ T1 first; T2 second; } если массив выделен с тем же количеством элементов, что и размер в…
05 янв '10 в 22:18
4 ответа

C++, шаблонизировать T в std::pair <T, short>

Я хотел бы шаблонизировать "первый" тип std::pair, используя следующую конструкцию template &lt;typename T&gt; struct TPair { typedef std::pair &lt;T, short&gt; Type; }; и создать вектор таких пар. template &lt;typename T&gt; struct TPairs { typedef…
22 янв '12 в 11:23
2 ответа

Спецификация по умолчанию вектора C++ пар строк как недопустимый параметр функции на gcc-4.1.2?

Это прекрасно вписывается как параметр в объявление функции на VS64 x64 (MSVC++ 2010), но не на RHEL5 (gcc 4.1.2): const std::vector&lt;std::pair&lt;std::string, std::string&gt; &gt;&amp; = std::vector&lt;std::pair&lt;std::string, std::string&gt; &g…
5 ответов

C++ std::transform вектор пар-> сначала в новый вектор

Извините за немного начинающий вопрос. Есть вектор и вектор пар typedef std::vector &lt;int&gt; TItems; typedef std::vector &lt; std::pair &lt;int, int&gt; &gt; TPairs; Есть ли способ преобразовать все первые элементы в паре в другой вектор за один …
01 фев '12 в 10:18
4 ответа

C++: вектор <pair <vector <int>,int> >

Это то, что я хочу сделать... vector &lt; pair&lt;vector&lt;int&gt;,int&gt; &gt; var_name (x, pair &lt;vector&lt;int&gt;(y),int&gt;); Где x - размер вектора var_name, а y - размер вектора внутри пары. Вышеприведенный оператор не работает, потому что…
13 июн '11 в 18:00
1 ответ

C++: элегантный способ печати всех пар в списке

Я определяю списки как это: std::list &lt; pair&lt;string, int&gt; &gt; token_list; Я хочу распечатать все элементы списка, поэтому я пишу это: std::copy(std::begin(token_list), std::end(token_list), std::ostream_iterator&lt;pair&lt;string, int&gt; …
13 май '18 в 07:47
2 ответа

Использование std::move на pair.first делает недействительным pair.second?

У меня есть следующий код в моем проекте на данный момент: std::vector&lt;int&gt; vectorOfFirsts; std::set&lt;double&gt; setOfSeconds; std::list&lt;std::pair&lt;int,double&gt;&gt; cachedList; // do something to fill the list for (const auto&amp; pai…
24 мар '16 в 08:37
5 ответов

Сортировка std:: vector<std:: pair <std:: string, bool >> по строке?

Как я могу отсортировать это vector сравнивая pair.first который является std::string? (без предоставления статической функции сравнения, ни использования повышения).
05 янв '11 в 23:17
1 ответ

Когда хорошо использовать std::pair?

У меня сложилось впечатление, что всегда лучше определить свою собственную структуру, чтобы я мог использовать значимые имена полей вместо first а также second, Одно место, где стандарт использует std::pair для доступа к элементам std::map, first эт…
29 окт '13 в 10:30
1 ответ

Значение по умолчанию для пары STL

Я пытаюсь заставить работать следующую карту: enum ttype { shift, reduce } map &lt;string, pair&lt;ttype, int&gt; &gt; lookup; Так что это работает нормально, но мне нужен способ проверить, не был ли найден ключ. Так, например, что-то с эффектом: co…
12 ноя '12 в 03:06
1 ответ

Вектор, который может содержать три типа данных, используя std::pair

vector&lt; pair&lt;pair&lt;int, string&gt; &gt;, string&gt; v; Также упомяните, как получить к ним доступ, используя "первый" и "второй". Возможно ли это сделать или "объединение" или "структура" - единственный способ создать вектор, который может с…
06 янв '17 в 18:09
4 ответа

Как уменьшить ключ для определенного ребра в priority_queue<PI, vector <PI>, больше<PI>>, пытаясь реализовать алгоритм prim?

#include &lt;bits/stdc++.h&gt; using namespace std; #define fast ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define LL long long int #define pb push_back #define mp make_pair #define PI pair&lt;int,int&gt; #define PL pair&lt;LL,LL&gt; #def…
2 ответа

Как make_pair неявно выводит типы?

Хорошо известно, что make_pair выводит типы. Вот почему это существует, и это удобно. Теперь посмотрим на этот пример: std::pair &lt;int,int&gt; foo; std::pair &lt;int,int&gt; bar; foo = std::make_pair (10,20); bar = std::make_pair (10.5,'A'); //ok:…
25 фев '13 в 06:27
1 ответ

Как назначить начальный адрес для интегратора карты<pair <long long int,long long int>,long long int>

Я создал карту из пары длинных и длинных int - map&lt; pair&lt; long long int, long long int &gt;,long long int &gt;; и интегратор - map&lt; pair&lt; long long int, long long int &gt;, long long int &gt;::iterator it1; и когда я сделал it1=same.begi…
18 мар '16 в 02:44
1 ответ

C++ std::map и std::pair<int, int> в качестве ключа

У меня есть следующий код C++: struct MyStruct { int a[2]; int b[2]; }; std::map&lt;std::pair&lt;int, int&gt; , MyStruct*&gt; MyMap; Теперь я запускаю этот цикл на MyMap: for(std::map&lt;std::pair&lt;int, int&gt; , MyStruct*&gt;::iterator itr = MyMa…
23 май '13 в 04:09
4 ответа

Доступ к паре после перемещения ее на карту

Если я переместил пару на карту, но вставка не удалась, потому что ключ уже существует, могу ли я безопасно использовать пару после этого? //objects available: map, pair auto insert_pair = map.insert(std::move(pair)); if (!insert_pair.second) { //ca…
09 июл '13 в 15:27
3 ответа

remove_if на карте, пытающейся передать const как неконстантный - почему?

Вот фрагмент кода, который должен отфильтровывать элементы карты, которые удовлетворяют предикату, в новую карту (MCVE-fied): #include &lt;algorithm&gt; #include &lt;unordered_map&gt; #include &lt;iostream&gt; using namespace std; int main() { unord…
09 мар '16 в 18:48
2 ответа

Ошибки компиляции C++ с make_heap и компаратором пар

Я пытаюсь построить список соседей рядом с матрицей смежности внутри класса в C++. Я пытаюсь взять vector&lt;pair&lt;int,int&gt;&gt; и создание кучи с помощью make_heap, но это не работает. void Tour::buildMatrix() { matrix.reserve(size); neighborLi…
10 мар '18 в 08:55
2 ответа

Автоматизировать вызов метода C++

Я работаю над приложением C++11. Там у меня есть метод, который будет вызываться много раз (1000). Этот метод принимает в качестве параметров строку и указатель на функцию. Дело в том, что указатель на функцию будет принимать разные типы аргументов,…
27 июл '18 в 12:36
3 ответа

Оператор сортировки не работает в C++

У меня проблемы с использованием оператора сортировки, поскольку мне нужно отсортировать только первый элемент в паре. Код прост, но не работает: Оператор определен в: struct sort_pred { bool operator()(const CromosomaIndex &amp;left, const Cromosom…
26 авг '12 в 02:31