Публикации по теме 'cpp'


Руководство по быстрой установке SystemC
Запустите свою первую программу SystemC В этой статье я описываю шаги, которые я предпринял для установки SystemC на свой компьютер с Ubuntu 20.04 LTS. Установите CMAKE с http://www.cmake.org/ 2. Установите несколько полезных дополнительных пакетов: sudo apt-get install doxygen sudo apt-get install cmake-curses-gui sudo apt install…

Истории C++: std::Optional
Некоторые менее известные возможности C++ Это может звучать как утопия, но в C++ есть тип, подходящий для случаев, когда возвращаемое значение может просто отсутствовать. Честно говоря, я не знал об этой функции и понимаю, что мне нужно обновить свои знания C++. std::optional был введен в C++ 17. Это шаблонный тип, то есть std::optional<T> , где T может быть любым…

Изучите многопоточность C ++ за 5 минут
Резюме : ускоренный курс по многопоточным конструкциям C ++ 14 в очень невыносимой форме. Новые конструкции многопоточности C ++ очень просты в освоении. Если вы знакомы с C или C ++ и хотите начать писать многопоточные программы, эта статья для вас! Я использую C ++ 14 в качестве справочника, но то, что я описываю, также поддерживается в C ++ 17. Я рассматриваю только общие конструкции. Прочитав это, вы сможете писать свои собственные многопоточные программы. Обновление (июнь..

Встроенное в C++ — Какое отношение оно имеет к правилу одного определения.
Ключевое слово inline , наверное, самое непонятое ключевое слово в C++. Я помню, когда я только начинал, большинство онлайн-источников упоминали только inline как способ подсказать компилятору заменить логику функции вместо каждого ее экземпляра; Другими словами, встраивание. Значит, это просто функция оптимизации? Что ж, в современных современных компиляторах «подсказки» по оптимизации часто опускаются. Не только потому, что компиляторы действительно хорошо умеют оптимизировать..

std::flat_map в С++
flat_maps — это новый контейнерный адаптер в C++23. Как и std::map, это ассоциативный упорядоченный контейнер, что означает, что он позволяет вам вставлять пары ключ-значение и искать ключи позже. В то время как std::map реализован с использованием сбалансированных двоичных деревьев, std::flat_map поддерживает пару отсортированных векторов, один первый для ключей, а второй для значений. Это означает, что std::map имеет лучшую асимптотическую сложность, но std::flat_map может по-прежнему..

Ежедневный бит(е) C++ | Обратные k-группы в списке
Ежедневный бит (е) C ++ # 119, Общая проблема на собеседовании: обратные k-группы в односвязном списке. Сегодня мы рассмотрим распространенную задачу интервью: обратные k-группы в односвязном списке. Дан односвязный список и натуральное число k, перевернуть каждую последующую группу из k элементов. Если есть оставшиеся узлы, их следует оставить в исходном порядке. Вы должны изменять только порядок элементов, а не их значения. Например, для списка {1,2,3,4,5} и k==2 вывод..

Подводные камни C++  —  std::move ничего не перемещает!
«Вау, C++ 11 просто великолепен! Они представили ссылки rvalue и семантику перемещения . Пока я определяю конструктор перемещения и вызываю std::move , все будет идеально! Я думаю, что ссылки std::move и rvalue могут даже вылечить рак. Да здравствует C++ и std::move !! Звучит знакомо? После прочтения глав о rvalues , lvalues , справочнике по rvalue и мощном волшебном вызове std::move , Разве это не то, что вы думали о семантике движений? Простите, что разочаровал..