Тип или ТИП? Вот в чем вопрос... - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток... Задался я вот тут одним вопросом, по сути своему - пустяковым, но очень интригуещем меня.. Не для кого не секрет, что в хедере

windef.h

можно найти множество абсурдных вещей, которые по непонятным мне причинам написала

Microsoft

. Например
typedef int INT;
typedef float FLOAT;
Собственно и назрел вопрос.. Когда вы пишите программы на

WinAPI

, как вы объявляете переменные: в стиле стандарта или в стиле

Microsoft

?

Решение задачи: «Тип или ТИП? Вот в чем вопрос...»

textual
Листинг программы
std::map<int, std::pair<int, int> > m;
m.insert(std::pair<int, std::pair<int, int> >(0, std::pair<int, int>(1,2)));
std::map<int, std::pair<int, int>>::const_iterator i = m.find(0);
 
или
 
typedef std::map<int, std::pair<int, int> > M;
M m;
m.insert(M::value_type(0, std::make_pair(1,2)));
M::const_iterator i = m.find(0);

Объяснение кода листинга программы

В представленном коде идет речь о работе с ассоциативным массивом (map) в языке C++.

  1. std::map<int, std::pair<int, int> > m;
    • Создается переменная типа map, которая представляет собой ассоциативный массив. Ключами в этом массиве являются целочисленные значения, а значениями - пары из двух целочисленных значений.
    • Тип std::pair<int, int> - это структура, представляющая собой пару значений типа int.
  2. m.insert(std::pair<int, std::pair<int, int> >(0, std::pair<int, int>(1,2)));
    • Метод insert используется для добавления элемента в ассоциативный массив. Он принимает в качестве аргумента пару, где первый элемент - ключ, а второй - значение.
    • В данном случае ключом является 0, а значением - пара (1,2).
  3. std::map<int, std::pair<int, int>>::const_iterator i = m.find(0);
    • const_iterator - это итератор, который позволяет перемещаться по элементам массива и обращаться к их значениям, но не изменять их.
    • Метод find используется для поиска элемента в ассоциативном массиве по его ключу.
    • В данном случае ищется элемент с ключом 0. Таким образом, в первом примере кода создается ассоциативный массив и добавляется элемент с ключом 0 и значением (1,2). Затем ищется этот элемент в массиве. Во втором примере кода используется typedef для создания нового имени (M) для типа map. Затем создается переменная типа M и в нее добавляется элемент с ключом 0 и значением (1,2). Затем ищется этот элемент в массиве.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.846 из 5
Похожие ответы