В статье выясним, можно ли с точки зрения стандарта языка C++ тривиальным вызовом push_back продублировать элемент std::vector. Отвечая на простой вопрос, столкнемся с более интересными: что собой представляет внутренний мир вектора, как "протухают" итераторы при реаллокации, какие ограничения добавляют гарантии безопасности относительно исключений...
Рубрика «стандарт»
Кратко об OData
2022-07-24 в 6:27, admin, рубрики: crud, data, data mining, odata, open data protocol, веб-сервисы, данные, открытые данные, поисковые технологии, протокол, Разработка веб-сайтов, стандартПривет! Недавно, пришлось работать на проекте с внешним API. Работал, я, к слову, всегда либо с простым REST, либо с GET/POST only запросами, но в этом нужно было работать с API Timetta. Он использует OData и что же это такое?
Содержание
C2x: будущий стандарт C
2020-05-21 в 12:04, admin, рубрики: C, c++, C2x, Блог компании Badoo, Программирование, системное программирование, стандарт
Я ловлю в далёком отголоске,
Что случится на моём веку.
(«Гамлет», Борис Пастернак)
Признаться, пишу на чистом C я не так уж и часто и за развитием языка уже давно не слежу. Но тут произошло два неожиданных события: С вернул себе звание популярнейшего языка программирования по версии TIOBE и случился анонс первой за долгие годы действительно интересной книги, посвящённой этому языку. Поэтому я провёл несколько вечеров за изучением материалов о C2x — следующей версии C.
Самыми, на мой взгляд, интересными нововведениями я и хочу поделиться с читателями Хабра.
Имитационная модель процесса обработки материала резанием на токарном станке с ЧПУ
2020-02-19 в 14:10, admin, рубрики: CAD/CAM, fanuc, gcode, simulator, WebGL, верификация, код, математика, обеспечение, обработка, обучение, программа, Программирование, проектирование, симулятор, система, Софт, стандарт, станок, технология, токарный, управление, формообразование, цикл, чпуВведение
Методология разработки имитационных моделей и симуляторов по различным техническим дисциплинам в основном ориентирована на снижение уровня абстракции учебного материала. Наряду с теоретическим учебным материалом наглядное имитационное моделирование того или иного технологического процесса или операции позволяет учащемуся в более полной мере освоить преподаваемый материал с максимальным приближением к естественным условиям. При этом имитационные модели и симуляторы могут рассматриваться только как вспомогательный инструмент учебного процесса. Основное назначение данной категории образовательных ресурсов – базовое (начальное) ознакомление с принципами работы сложных технических объектов в условиях отсутствия возможности использования реального промышленного оборудования, либо в целях предварительного повышения компетенции учащегося перед прохождением производственной практики.
Читать полностью »
C++20 утверждён! Чего ждать и к чему готовиться разработчикам в C++23
2020-02-19 в 6:56, admin, рубрики: abi, abi c++, c++, c++ библиотеки, C++20, c++23, concepts, contracts, coroutine, coroutines, IT-стандарты, malloc, modules, ranges, Блог компании Яндекс, Компиляторы, Программирование, стандарт, стандартизацияНа днях в Праге прошла встреча международного комитета по стандартизации C++. И-и-и-и…
C++20 готов! Осталось поставить штампик от ISO, но это чисто формальный шаг, с которым не должно быть проблем.
Поздравляю всех с этим замечательным событием! Concepts, Coroutines, Modules, Ranges, std::format, constexpr new и constexpr алгоритмы+vector+string, datetime, jthread, span, bit_cast и многие другие мелкие и большие нововведения.
Что успели добавить и поправить в последний момент, что предложили разломать и что все хотят видеть в C++23 — обо всём этом под катом.
Читать полностью »
Многопоточные ассоциативные контейнеры в C++. Доклад Яндекса
2019-04-29 в 10:40, admin, рубрики: c++, c++ библиотеки, IT-стандарты, ассоциативные контейнеры, Блог компании Яндекс, контейнеры, многопоточность, Программирование, стандарт, стандартизацияИз доклада старшего разработчика Сергея Мурылёва можно узнать о многопоточном ассоциативном контейнере для стандартной библиотеки, который разрабатывают в рамках WG21. Сергей рассказал о плюсах и минусах популярных решений этой задачи и о пути, выбранном разработчиками.
— Вы, наверное, уже догадались из названия, что сегодняшний доклад будет о том, как мы в рамках Рабочей группы 21 делали свой контейнер, похожий на std::unordered_map, но для многопоточной среды.Читать полностью »
Feature freeze C++20. Coroutines, Modules и прочее
2019-03-06 в 7:37, admin, рубрики: c++, c++ библиотеки, C++20, c++2a, constexpr, coroutine, coroutines, IT-стандарты, modules, networking, range, ranges, Блог компании Яндекс, Компиляторы, Программирование, стандарт, стандартизацияНа днях прошла встреча международного комитета по стандартизации C++ в американском городе Кона. Это была не просто встреча, а feature freeze! Никакие серьёзные новые идеи больше не могут просачиваться в стандарт, остаётся лишь пара встреч на добавление предварительно одобренных вещей, исправление недочётов и устранение шероховатостей.
Ожидать ли Модули и Корутины в C++20, будет ли там быстрая библиотека для форматирования вывода, сможет ли она работать с календарями, добавили ли std::stacktrace, начнёт ли компилятор сам вызывать std::move в ряде случаев, приняли ли std::flat_map? Всё это и многое другое ожидает вас под катом.
С++20 и Modules, Networking, Coroutines, Ranges, Graphics. Итоги встречи в Сан-Диего
2018-11-28 в 6:22, admin, рубрики: c++, c++ библиотеки, C++20, c++2a, constexpr, coroutine, coroutines, modules, networking, range, ranges, Алгоритмы, Блог компании Яндекс, Компиляторы, Программирование, стандарт, стандартизацияДо C++20 осталась пара лет, а значит, не за горами feature freeze. В скором времени международный комитет сосредоточится на причёсывании черновика C++20, а нововведения будут добавляться уже в C++23.
Ноябрьская встреча в Сан-Диего — предпоследняя перед feature freeze. Какие новинки появятся в C++20, что из крупных вещей приняли, а что отклонили — всё это ждёт вас под катом.
Ода об истинной мощности или громкие и тихие Ватты
2018-03-20 в 9:52, admin, рубрики: aes, PMPO, power, rms, spl, акустика, акустическая система, АС, Блог компании Pult.ru, звук, звуковое давление, китайская мощность, манипуляции, маркетинговая мощность, мощность, Научно-популярное, номинальная мощность, периферия, стандарт, УМЗЧ, усилитель, физика, чувствительностьУ всех, кто когда-либо сталкивался с выбором звуковой аппаратуры возникал вопрос о мощности, а если точнее, о громкости, например, акустической системы или ресивера. Предположу, что многие слышали от “заботливых” продавцов или замечали в рекламных материалах информацию о мощности в 30, 50 или, например, 100 Вт. Когда такое доводится слышать (видеть) мне, я крепко задумываюсь, о какой именно мощности идёт речь. Системы из поднебесной, например, якобы “выдают” заоблачные тысячи Ватт, при этом звучат тише десятиваттных трактов от других производителей.
Из-за ориентирования на значения мощности усилительной техники и акустических систем возникает много неразберихи, которая мешает покупателям приобретать, а продавцам продавать звуковую аппаратуру. Под катом я расскажу о существующих стандартах мощности, а также о том, какие маркетинговые ухищрения помогают некоторым производителям заявить “высокую” формальную мощность, при достаточно скромных реальных характеристиках.
Читать полностью »
Защита от креативного злоупотребления HSTS
2018-03-19 в 20:21, admin, рубрики: apple, HSTS, HTTP Strict Transport Security, RFC 6797, safari, webkit, браузеры, информационная безопасность, стандарт, суперкуки, трекингHTTP Strict Transport Security (HSTS) — это стандарт безопасности, который позволяет веб-сайту объявить себя доступным только по безопасным соединениям, а браузерам передаётся информация для редиректа. Веб-браузеры с поддержкой HSTS ещё и не позволяют пользователям игнорировать ошибки сертификатов на серверах.
Apple использует HSTS, например, на iCloud.com, так что каждый раз при попытке перейти по незащищённому адресу http://www.icloud.com из адресной строки браузера или по ссылке происходит автоматический редирект на https://www.icloud.com. Это отличная функция, которая предотвращает простые ошибки, например, по выполнению финансовых операций на канале без аутентификации.
Что здесь может быть не так?
Ну, стандарт HSTS описывает, что веб-браузер должен запоминать редирект на безопасную версию — и автоматически выполнять его от имени пользователя, если тот попытается в будущем установить небезопасное соединение. Информация для этого хранится на устройстве пользователя. И её можно использовать для создания «суперкуков», которые будут считываться межсайтовыми трекерами.
Читать полностью »