Сайт использует сервис веб-аналитики Яндекс Метрика с помощью технологии «cookie». Пользуясь сайтом, вы даете согласие на использование данной технологии.
ЕДИНСТВЕННОЕ ключевое слово C, не имеющее эквивалента в C++
В языке C есть ключевое слово «restrict», а в C++ — нет. Ключевое слово restrict в C — единственное ключевое слово, не имеющее аналога в C++. Оно обещает компилятору, что объекты, доступные по указателю, не будут доступны (ни для чтения, ни для записи) никаким другим способом, кроме как через указатель restrict. Это обещание компилятору открывает больше возможностей для оптимизации, включая удаление избыточных операций чтения и потенциальное разрешение автоматической векторизации, что может привести к уменьшению размера и ускорению кода. Однако при неправильном использовании ключевое слово restrict может стать источником некоторых труднообнаружимых ошибок, поскольку они могут проявляться только на высоких уровнях оптимизации, а не в тестовых или отладочных сборках. Однако основные компиляторы C++ поддерживают restrict нестандартным образом, поэтому, если вы готовы писать код, специфичный для вашего компилятора, вы всё равно сможете воспользоваться преимуществом restrict, даже если он не является частью стандарта C++. Ошибка: В примере fib_upto_n проверка на n==0 должна выполняться перед записью в dst[0], а проверка на n==1 — перед записью в dst[1]. Это исправлено по ссылке на GitHub. Сам не понимаю, почему я вообще написал именно так, но вот что я получаю за отсутствие тестов :). Это никак не повлияло на видео, поскольку я использовал n=10. ― mCoding с Джеймсом Мёрфи ( Исходный код: Обозреватель компилятора: Ключевое слово «restrict»: Ограничение на StackOverflow: ПОДДЕРЖИТЕ МЕНЯ ⭐ --------------------------------------------------- Patreon: / mcoding Paypal: Другие пожертвования: Крупнейшие спонсоры и благотворители: Лора М., Джеймсон, Джон М., Питер Г., Вахнеки, Sigmanificient БУДЬТЕ АКТИВНЫ В МОЁМ СООБЩЕСТВЕ 😄 --------------------------------------------------- Discord: / discord Github: Reddit: / mcoding Facebook: / james.mcoding ГЛАВЫ --------------------------------------------------- 0:00 Введение 0:58 Объяснение strict 3:42 Пример сложения векторов 6:28 Пример корректности fib 9:06 Лучшие практики, memcpy и memmove 10:21 strict в C++ 12:41 Спасибо