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


Алгебраические типы в C ++ 17
В функциональных языках алгебраические типы являются важной частью взаимодействия с пользователем и, на мой взгляд, наиболее полным и минимальным способом определения структур данных. В Coq определение полиморфного списка выглядит так: Inductive list {T} := | nil: @list T | cons: T -> @list T -> @list T. Что сообщает нам все, что нам нужно знать о списках; Они могут быть пустыми (ноль) Или они могут содержать элемент (голова) и другой список (хвост) Определение списка..

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

C ++ Hello World и милая бессердечная радуга
Это вторая часть серии статей, в которых мы создаем приложение «Hello World». Если вы опоздали на вечеринку, я рекомендую вам сначала проверить Часть 1. C ++ Hello World And A Glass of Wine, Oh My! Где мы пытаемся использовать компилятор Microsoft Visual C ++ в Linux hackernoon.com Итак, наш Босс зашел проверить, как мы продвигаемся. Они начали задаваться вопросом, почему перенос трехстрочного приложения в новую систему занимает..

Как отличить существенную сложность от случайной
Если вы ищете простой ответ, вот он. Если это вас раздражает, если вы задаетесь вопросом, какого черта эта штука такая сложная, то это случайно. Если это вызывает у вас депрессию, если вы точно знаете, какого это черта, тогда это необходимо. Если вы ищете более подробное объяснение, боюсь, у меня для вас плохие новости. Чем глубже вы вникаете в предмет, тем тоньше становятся границы. Эти термины взяты из знаменитой статьи Фреда Брукса Нет серебряной пули - сущность и случайность в..

Указатели C ++ (2)
Давайте рассмотрим: Идентификатор - это то же самое, что и имя переменной, мы можем использовать их взаимозаменяемо. Оператор адресации (&). Этот оператор получает адрес памяти переменной (значение, хранящееся в памяти). Первая строка: сохраните целое число 23 в памяти по некоторому адресу и назначьте идентификатор число (имя переменной). Вторая строка: получите адрес идентификатора num и сохраните его в переменной с именем ptr . Знайте, что у нас есть указатель,..

Мне надоел язык X
Я хочу идти быстро Я программировал недолго, но дошел до того, что мне стало немного скучно работать с Ruby, Python, Scala, PHP, C # и JavaScript (и это лишь некоторые из них). Новые языки кажутся старыми, переделанными. Проблемы более или менее похожи, и проблемы кажутся одинаковыми. Мне нужен новый вызов. Но что это значит? Для меня это означало изучение C ++ и создание вещей, которые работают действительно быстро. Это означает изучение новой области и вывод мастерства..

Как упростить отладку ошибок C ++.
Из коробки, с clang, когда вы компилируете программу, вы получаете исчерпывающие трассировки стека для ошибок времени компиляции с множеством параметров вывода . Отладка во время компиляции… Вот простой пример ванили (сокращенно для этой демонстрации) ... Не плохо. Файл, номер строки, столбец, объяснение ошибки. Более сложные ошибки покажут более подробную информацию по мере раскрутки стека. Все очень просто, давайте продолжим ... Отладка во время выполнения… Но как насчет..