Make pair c что это

от admin

How to effectively deal with bots on your site? The best protection against click fraud.

Во многих языках программирования вы можете добавить одно или несколько значений в некоторую структуру данных, такую ​​как список, словарь и массив. Но пробовали ли вы когда-нибудь складывать значения парами, как словари? Функция make_pair() языка C++ используется для добавления двух значений в пару внутри объекта пары. Итак, у нас будет пример функции make_pair() в C++. Давайте начнем с Ubuntu 20.04 и создадим файл C++ в терминале. Откройте файл в редакторе Nano.

$ нано makepair. копия

Пример 01:

Давайте начнем с первого примера того, как создать пару без использования функции make_pair() в нашем коде. Код был запущен с включением библиотеки заголовков iostream и утилиты. После этого было добавлено пространство имен C++, то есть «std». Функция main() начинается с объявления нового парного вектора «P», имеющего оба значения целочисленного типа. Парный объект «P» использовался для добавления значений в пару с использованием ключевых слов «first» и «second». Оба значения, добавленные в пару, являются целочисленными типами. Оператор cout вызывает парные значения, отображаемые в оболочке, с парным объектом «P».

с использованием пространство имен станд. ;

пара < инт , инт > п ;

Файл makepair.cc был скомпилирован с помощью компилятора Ubuntu G++ и выполнен с помощью команды «./a.out». Пара была отображена на оболочке, как показано.

Пример 02:

Вот пример использования функции make_pair для создания пары из двух значений. Итак, мы обновили один и тот же файл. Библиотеки заголовков, пространство имен и объявление функции main() такие же, как в приведенном выше примере. Мы объявили пару «P», имеющую оба значения типа символа. Используя функцию make_pair(), мы добавили два значения типа символа в пару «P» по присваиванию. Это самый простой способ использования метода make_pair в C++. Значения будут сохранены в точном местоположении пары. Оператор cout предназначен для получения парных значений из пары «P» по ключевым словам «first» и «second» и отображения их в оболочке в виде пары, разделенной запятой. Здесь программа завершена.

с использованием пространство имен станд. ;

пара < уголь , уголь > п ;

п = make_pair ( ‘Р’ , ‘М’ ) ;

Мы скомпилировали и выполнили файл кода с помощью команды g++ и ./a.out на терминале. Он выводит парные значения, разделенные командой, как показано на изображении.

Пример 03:

Вот еще один способ использования функции make_pair в C++ для получения значений. Поэтому код начинался с тех же библиотек, стандартного пространства имен и функции main(). Мы просто объявили и инициализировали пару строковых переменных C++ в одной строке с помощью итератора «pair». Эта строка также содержит прямое присвоение первого и второго значений пары с помощью функции make_pair() здесь. Два строковых значения были вставлены в пару «P». Оператор cout снова здесь, чтобы отобразить эти парные значения в оболочке, разделенные командой и вызываемые парным объектом «P» с первым и вторым ключевое слово.

с использованием пространство имен станд. ;

пара < строка, строка > п = make_pair ( «Привет» , «Линукс» ) ;

Пока компиляция прошла успешно, мы выполнили код. В результате отображается вывод парных значений строкового типа в оболочке, разделенных запятой.

Пример 04:

Давайте рассмотрим последний пример для этой статьи. Мы снова использовали те же заголовочные файлы и пространство имен. Функция main() мало похожа и немного отличается от приведенных выше примеров. Он был инициализирован двумя парами строковых типов, P1 и P2, напрямую получая строковые значения с помощью функции «make_pair()». P1 и P2 имеют разные строковые значения в первом и втором аргументах. Первый оператор cout указывает, что мы будем отображать значения обеих пар, P1 и P2, прежде чем поменять их местами. Следующие два оператора cout отображают значения пар P1 и p2 отдельно через первое и второе расположение. Четвертый оператор cout сообщает нам, что мы собираемся поменять местами значения обеих пар друг друга, т. е. p1 на p2. Использование метода «своп» для замены P1 на P2. Следующий оператор cout отображает переставленные значения пар.

с использованием пространство имен станд. ;

пара < строка, строка > Р1 = make_pair ( «Привет» , «Линукс» ) ;

пара < строка, строка > Р2 = make_pair ( «Хорошо» , «Пока» ) ;

cout << «Перед обменом» << конец ;

cout << «После обмена» << конец ;

После выполнения кода первые три строки показывают значения пар до обмена. В то время как последние три строки показывают значения пар, которые были заменены местами.

Вывод:

Это все об использовании функции make_pair() в C++ для одновременного добавления двух значений в парную переменную. Вы должны четко понимать, что вы не можете поменять местами два разных типа пар с помощью метода обмена. Мы реализовали четыре разных примера для лучшего понимания этой концепции.

Читать:
Как включить камеру на ноутбуке msi windows 10

C++ Utility Library — make_pair Function

It constructs a pair object with its first element set to x and its second element set to y.

Declaration

Following is the declaration for std::make_pair function.

Parameters

x, y − These are two values.

Return Value

It returns a pair object whose elements first and second are set to x and y respectivelly.

Exceptions

Basic guarantee − if the construction or assignment of type T throws.

Data races

If either (or both) T1 or T2 is an rvalue reference type of a type supporting move semantics, its corresponding argument is modified.

Example

In below example explains about std::make_pair function.

Let us compile and run the above program, this will produce the following result −

std:: make_pair

Constructs a pair object with its first element set to x and its second element set to y .

The template types can be implicitly deduced from the arguments passed to make_pair .

pair objects can be constructed from other pair objects containing different types, if the respective types are implicitly convertible.

Where the types V1 and V2 are the decay equivalents of T1 and T2 , respectively (except for reference_wrapper types, for which the corresponding reference type is used instead).

If T1 and/or T2 are rvalue references, the objects are moved and x and/or y are left in an undefined but valid state.

Make pair c что это

Initializing a Pair: We can also initialize a pair.

Syntax:

Different ways to initialize pair:

Another way to initialize a pair is by using the make_pair() function.

Another valid syntax to declare pair is:

Note: If not initialized, the first value of the pair gets automatically initialized.

Output:

Member Functions

1) make_pair(): This template function allows to create a value pair without writing the types explicitly.
Syntax:

2) swap: This function swaps the contents of one pair object with the contents of another pair object. The pairs must be of the same type.
Syntax:

For two given pairs say pair1 and pair2 of the same type, the swap function will swap the pair1.first with pair2.first and pair1.second with pair2.second.

3) tie(): This function works the same as in tuples. It creates a tuple of lvalue references to its arguments i.e., to unpack the tuple (or here pair) values into separate variables. Just like in tuples, here are also two variants of the tie, with and without “ignore”. “ignore” keyword ignores a particular tuple element from getting unpacked.
However, tuples can have multiple arguments but pairs only have two arguments. So, in the case of pair of pairs, unpacking needs to be explicitly handled.
Syntax:

Code to illustrate Functions in Pair:

Time complexity: O(1).

Auxiliary space: O(1).

operators(=, ==, !=, >=, <=) in Pair

We can use operators with pairs as well.

1) using equal(=): It assigns a new object for a pair object. Syntax:

This Assigns “pr” as the new content for the “pair” object. The first value is assigned the first value of pr and the second value is assigned the second value of pr.

2) Comparison (==) operator with pair: For the two given pairs say pair1 and pair2, the comparison operator compares the “first value and second value of those two pairs i.e. if pair1.first is equal to pair2.first or not” and “if pair1.second is equal to pair2.second or not”.

i.e if ( (pari1.first ==pair2.first) && (pair1.second==pair2.second) )

If any of the two condition is false then it returns false otherwise true.

3) Not equal (!=) operator with pair: For the given two pairs say pair1 and pair2, the != operator compares the first values of those two pairs i.e. if pair1.first is equal to pair2.first or not, if they are equal then it checks the second values of both.

4) Logical( >=, <= )operators with pair: For the given two pairs say pair1 and pair2, the =, >, can be used with pairs as well. It returns 0 or 1 by only comparing the first value of the pair. For pairs like p1=(1,20) and p2=(1,10) p2<p1 should give 0 (as it compares 1st element only & they are equal so it is definitely not less), but that isn’t true. Here the pair compares the second element and if it satisfies then returns 1 (this is only the case when the first element gets equal while using a relational operator > or < only, otherwise these operators work as mentioned above)

Похожие статьи