Дорогие читатели, команда PVS-Studio представляет вашему вниманию интервью с Андерсом Шау Кнаттеном, автором книги "C++ Brain Teasers: Exercise Your Mind". В этой статье вы познакомитесь с его новой книгой по C++, откроете для себя увлекательные способы изучения стандартов языка и рассмотрите некоторые распространённые ошибки, которые допускают C++ разработчики, а также узнаете немного о биографии Андерса. Надеемся, вам понравится!
Рубрика «Cpp»
Отладка вашего «процессора» вместе с Андерсом Шау Кнаттеном, автором книги «C++ Brain Teasers: Exercise Your Mind»
2024-12-05 в 8:56, admin, рубрики: book, Cpp, interview, quizПочему в С++ массивы нужно удалять через delete[]
2022-07-27 в 12:18, admin, рубрики: array, c++, Cpp, delete, pvs, pvs-studio, static code analysis, Блог компании PVS-Studio, ПрограммированиеЗаметка рассчитана на начинающих C++ программистов, которым стало интересно, почему везде твердят, что нужно использовать delete[] для массивов, но вместо внятного объяснения – просто прикрываются магическим "undefined behavior". Немного кода, несколько картинок и взгляд под капот компиляторов – всех заинтересованных прошу под кат.
Способы переписать логические параметры в С++
2022-03-05 в 14:00, admin, рубрики: c++, Cpp, IT-стандарты, skillfactory, Блог компании SkillFactory, код, Программирование, С++, с++17, С++20, с++23, Совершенный код, структуры, читабельностьПрограммисты читают код намного чаще, чем пишут его, поэтому важно писать понятный, последовательный, однозначный код. Автор книги С++17 in detail написал о способах избегать путаницы. Делимся его материалом к старту курса по разработке на С++.
Tweet-a-pot, или Как я через Twitter кофе варил
2021-07-31 в 15:18, admin, рубрики: arduino, Cpp, DIY, diy или сделай сам, python, skillfactory, twitter, Блог компании SkillFactory, кофе, кофеварка, переменный ток, Разработка под Arduino, суббота, Электроника для начинающихМы уже писали о том, как сделать умный термостат, чтобы отапливать дом, и рассказывали, как, потратив всего 5 долларов, из подручных материалов собрать спектрометрЧитать полностью »
Сага о типизации и тайпчекинге для JavaScript
2021-02-09 в 8:16, admin, рубрики: c++, Cpp, javascript, kotlin, TypeScript, Блог компании Яндекс, команда яндекс.маркета, типизацияПривет! Хочу поделиться своими мыслями по, казалось бы, простой теме — типизации. В частности, поговорить о тайпчекинге в JavaScript.
Часто люди воспринимают типизацию как эдакую серебряную пулю, которая защищает от всех проблем. Но это не так, часто ожидания от типизации неоправданны, а простота таких инструментов, как TypeScript, обманчива и слишком переоценена.
Это не типичная статья из серии «Изучаем TypeScript», а, как мне кажется, фундаментальная история. Мы начнем с основ, поговорим о данных, о способе их хранения, а затем перейдем к типизации и посмотрим, как она влияет на работу программы.
C++ в Практикуме. Как обучить студентов плюсам, не отпугивая
2021-01-26 в 10:44, admin, рубрики: c++, Cpp, Блог компании Яндекс.Практикум, Карьера в IT-индустрии, обучение, обучение программированию, Программирование, типизация, учебный процесс, Учебный процесс в ITКачественное образование — это не просто формальный диплом именитого вуза или парочка сертификатов о пройденных курсах. Это прежде всего новые навыки и уверенное желание применять их на практике. Такое возможно, если человек на самом деле хорошо учился и если его хорошо учили. Ведь даже самую интересную дисциплину можно преподавать так, что студентам будет откровенно скучно.
Как можно и как нельзя использовать нулевой указатель в С++
2020-07-30 в 12:23, admin, рубрики: c++, clang, Cpp, gcc, MSVC, null, promwad, нулевые указатели, Программирование, Производство и разработка электроники, Разработка под Linux, С++
Некоторым этот банальный вопрос уже набил оскомину, но мы взяли 7 примеров и попытались объяснить их поведение при помощи стандарта:
struct A {
int data_mem;
void non_static_mem_fn() {}
static void static_mem_fn() {}
};
void foo(int) {}
A* p{nullptr};
/*1*/ *p;
/*2*/ foo((*p, 5));
/*3*/ A a{*p};
/*4*/ p->data_mem;
/*5*/ int b{p->data_mem};
/*6*/ p->non_static_mem_fn();
/*7*/ p->static_mem_fn();
Microsoft: Rust является ‘лучшим шансом’ в отрасли программирования безопасных систем
2020-06-14 в 7:30, admin, рубрики: C, c++, Cpp, development, Rust, Safety-critical system, безопасность, Программирование, системное программированиеНезависимо от того, сколько вложений компании-разработчики могут потратить на инструментарий и обучение своих разработчиков, «C++, по своей сути, не является безопасным языком», сказал Райан Левик (Ryan Levick) 'cloud developer advocate' из Microsoft на виртуальной конференции AllThingsOpen в прошлом месяце, объясняя в виртуальной беседе почему Microsoft постепенно переходит с C/C++ на Rust для создания своего инфраструктурного программного обеспечения. И вдохновляет других гигантов индустрии программного обеспечения задуматься о том же.
Rust превосходит по производительности C++ согласно результатам Benchmarks Game
2019-12-16 в 16:46, admin, рубрики: benchmarkgames, benchmarks game, C, c++, Cpp, Rust, высокая производительностьВ начале этого месяца случилась маленькая победа. Согласно последним результатам популярного бенчмарка, сравнивающего производительность языков программирования, Rust занимает второе место, разместившись между C и С++:
Для сравнения производительности используется геометрическое среднее времени выполнения 10 различных программ. Согласно последним результатам Rust превзошел С++ в 6 задачах из 10.
Под катом некоторое детали и мнение о дальнейших перспективах.
Читать полностью »
Самые частые грабли при использовании printf в программах под микроконтроллеры
2019-07-10 в 10:45, admin, рубрики: C, c++, Cpp, debug, gcc, ld script, linker, stm, Компиляторы, компоновщик, микроконтроллеры, отладка, программирование микроконтроллеров, системы сборкиВремя от времени в моих проектах приходится применять printf в связке с последовательным портом (UART или абстракция над USB, имитирующая последовательный порт). И, как обычно, времени между его применениями проходит много и я успеваю напрочь забыть все нюансы, которые требуется учитывать, чтобы он нормально работал в крупном проекте.
В данной статье я собрал свой собственный топ нюансов, которые возникают при использовании printf в программах под микроконтроллеры, сортированный по очевидности от самых очевидных к полностью неочевидным.
Читать полностью »