Как стать автором
Обновить
2
0

С++ разработчик

Отправить сообщение

стандартный delete не обязан делать, некоторые реализации могут это делать, чтобы иметь общий код для delete и delete[]

Если известен аллоцированный объем, то и количество объектов, для которых надо вызвать деструктор, известно.

Триггер на таблице с курсами, не дающий зарабатывать на арбитраже? Нет, что вы, это же не модно.

EP нужно регулярно обновлять, тогда ВР, а так нет - с обновлениями Win11 появляются самые разные глюки из-за EP. Один из недавних - распахнутые полностью окна приложений (не в режим полного экрана) закрывали панель задач.

Опечатка в названии: "а также создателем Sprinx Андреем Аксёновым"

Какая ещё болонская система? РФ из неё официально выходит, возвращаясь к "простой советской ..." системе со специалитетом, который между бакалаврами и магистрами в болонской, таким, чтобы закончившие его хоть и получали дипломы о высшем образовании, имели проблемы с дальнейшим обучением за границей, требующим подтверждения магистрского уровня.

https://habr.com/ru/articles/171033/ - вот эту статью можно почитать.

У nullptr свой тип nullptr_t! В чём сложность для одного отдельно взятого типа сделать "специализацию" под платформу?

А ничего, что С появился на 9 лет раньше, чем Intel 8086, и нулевые указатели стали сразу же применять для обозначения отсутствия указываемого, поэтому в вашей истории первые два пункта перевёрнуты с ног на голову? NULL никто не резервировал, это макрос из stddef.h. Зарезервированным нулевой указатель стал только в С++11 в виде nullptr. Опять же выделять блок памяти 64кб для того, чтобы доступ к адресам около нуля приводил к ошибкам, на x86+ процессорах, где и появилась Windows, никак не требуется. Достаточно правильным образом написать обработчик процессорного исключения при доступе к отсутствующей в адресном пространстве пользовательского процесса странице.

Эта статья - близкий к тексту пересказ вот этого доклада: https://highload.ru/moscow/2023/abstracts/10669, но под другим названием. Ни в случае доклада, ни в случае статьи содержимое не соответствует названию.

Попробовал пройти квест. Уже на одном из самых начальных уровней "Помочь владельцу стадиона" в качестве правильного указан неверный ответ. Правильный ответ, выбранный мной ─ "ошибка компиляции". Причина ошибки компиляции: использование cout без std::, при этом ни using namespace std, ни using std::cout в коде нет. А в квесте предполагается, что программа скомпилируется и что-то будет выведено.

Тут, скорее, с каршерингом сравнивать надо, который в полтора-два раза дешевле такси и получается, а вовсе не с собственной машиной.

В вопросе 18 второй ответ корректен не всегда, а только в случае, если данный контейнер действительно инвалидирует итератор после push_back, поэтому я выбрал ответ 1. Мы ничего не знаем ни про контейнер, ни про вызывающего эту функцию, там, например, может быть std::vector c capacity достаточным, чтобы поместить все новые элементы, гарантируя, что push_back не инвалидирует итераторы. Кроме того, это вообще очень странный вопрос, т.к. похоже, что это вообще что-то не из std, т.к. вроде бы итератор format внезапно имеет is_stereo в качестве члена, иначе его бы разыменовывали через ->, а не через точку.

Лямбды появились только в С++11, а у меня, например, появилась возможность их использовать в рабочих проектах только со сменой работодателя 5 лет назад, до того полтора десятка лет вел кроссплатформенные разработки и часть использовавшихся компиляторов поддерживала только С++03, и боли больше было даже не из-за отсутствия лямбд, а из-за отсутcтвия variadic templates и constexpr.

В номере 9 использован абсолютно классический подход для множества выходов за пределы if блока через замену его на while или for и использование break, видел такое в коде много раз, так что ничего необычного.

Вообще никакого сравнения с Hetzner ваши предложения не выдерживают. Там железные серверы в разы дешевле ваших VPS. Берём первое предложение Hetzner с их аукциона, запросив HDD, а не SSD: 36 евро, CPU Intel Core i7-7700 RAM 32 GB Drives 2 x 4.0 TB Enterprise HDD. Ваш конфигуратор позволяет выставить максимальный объём диска 600Гб, при этом цена с одним CPU ядром уже 10К руб/мес т.е. в ~3 раза дороже за в 6 раз меньший объём диска (полагая, что на Hetzner будет RAID1).

Нет. Компилятор должен только обеспечивать, что корректная программа без UB будет исполняться в соответствии с гарантиями стандарта языка. За пределами гарантий он может что-то делать или не делать, так что неопределённость может не только быть замечена и, например, эксплуатироваться для оптимизации кода, но и не замечена и оставаться на усмотрение создателей процессоров и/или операционных систем, авторов реализации стандартной библиотеки и т.д. и т.п.

UB на то и UB, что нет никаких гарантий, в том числе гарантий того, что их найдёт компилятор. А раз так, то какой смысл показывать неизвестную долю от неизвестного количества UB?

У Лафоре код с UB, для начала его нельзя читать. Вместо него "Язык программирования C++. Базовый курс" - Стенли Липпман или "Язык программирования C++. Лекции и упражнения." - Стивен Прата.

Игры к реальности приближаются. В нынешних играх бывает потеря ресурсов, как затраченных на попытку достижения одного нового уровня технологий, так и даже откат до полного нуля при неудаче, так что там надо пробираться через рандомные вероятности успеха, чтобы добраться до условных желаемых известных 7 нм или до +50% к дальности выстрела суперпукалки.

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Зарегистрирован
Активность