Запитання з тегом «std-pair»

30
Який еквівалент пари C ++ <L, R> на Java?
Чи є вагома причина, чому її немає Pair&lt;L,R&gt;на Яві? Що було б еквівалентом цієї конструкції C ++? Я вважаю за краще уникати повторного втілення свого власного. Здається, що 1.6 надає щось подібне ( AbstractMap.SimpleEntry&lt;K,V&gt;), але це виглядає досить складно.
671 java  tuples  std-pair 



9
Який переважний / ідіоматичний спосіб вставити у карту?
Я визначив чотири різні способи вставки елементів у std::map: std::map&lt;int, int&gt; function; function[0] = 42; function.insert(std::map&lt;int, int&gt;::value_type(0, 42)); function.insert(std::pair&lt;int, int&gt;(0, 42)); function.insert(std::make_pair(0, 42)); Який із них є кращим / ідіоматичним? (А чи є інший спосіб, про який я не думав?)
111 c++  stl  insert  stdmap  std-pair 


2
Як ініціалізувати C ++ 17 векторних пар з додатковим елементом
Як в C ++ 17 як оголосити і ініціалізувати вектор пар (або кортежів) з необов'язковим елементом? std::vector&lt;std::pair&lt;int, optional&lt;bool&gt; &gt; &gt; vec1 = { {1, true}, {2, false}, {3, nullptr}}; У мене є пара, де другий елемент може бути нульовим / необов’язковим.

2
Список ініціалізаторів всередині std :: pair
Цей код: #include &lt;iostream&gt; #include &lt;string&gt; std::pair&lt;std::initializer_list&lt;std::string&gt;, int&gt; groups{ { "A", "B" }, 0 }; int main() { for (const auto&amp; i : groups.first) { std::cout &lt;&lt; i &lt;&lt; '\n'; } return 0; } компілює, але повертає segfault. Чому? Тестується на gcc 8.3.0 та на онлайн-компіляторах.
26 c++  std  std-pair 

1
std :: пара <авто, авто> тип повернення
Я грав autoу std::pair. У наведеному нижче коді функція fповинна повертати а std::pairтипів, які залежать від параметра шаблону. Робочий приклад: ПРИКЛАД 1 template &lt;unsigned S&gt; auto f() { if constexpr (S == 1) return std::pair{1, 2}; // pair of ints else if constexpr (S == 2) return std::pair{1.0, 2.0}; // …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.