Было бы интересно услышать подробное объяснение темы, как влияет ключевое слово `static` на определения функций в безымянных неймспейсах. Я раньше был уверен, что никак, ведь безымянный неймспейс уже предполагает internal linkage -- но на стековерфлоу видел посты, где отдельные личности доказывали, что использование слова static в таких функциях всё равно снижает нагрузку на линкер. Интересно, что говорит на эту тему стандарт и как де факто ведут себя популярные компиляторы при наличии или отсутствии `static` перед такими функциями.
Спасибо, крутой доклад, но это конечно очень сложно для понимания. До 45 минуты примерно понимал что да как исходя из рассказа, после 45 нить рассуждения оборвалась у меня в голове)
Очень хороший доклад, рекомендую. Но хотелось бы сказать что бы самих видео про С++ были бы по больше (кроме докладов, например уроков, о мест его применение и т. д. для поднятия популярности плюсов, как для других языков. Спасибо!!!
С++ не нуждается в рекламе, его изучают и им пользуются. Все высокопроизводительные библиотеки Python и других языков написаны на С/С++. Уроков по С++ для новичков в сети предостаточно (еще больше англоязычных), а эти конференции и доклады направлены для прояснения тонких вещей языка или освещения лучших решений определенных проблем (до них еще нужно дорасти).
Спасибо большое за доклад! Всё чётко и по делу! Один вопрос. Если из constexpr следует inline, зачем тогда в некоторых ситуациях необходимо использовать связку inline constexpr? В докладе объясняется, что они "про разное". Зачем тогда для литеральных типов использовать constexpr вместо const?
45:18 - кажется extern не нужен, потому что при явной инстанциации (на самом деле, при любой) мы создаём уже саму сущность функции, а ещё объявление и так extern. То есть как было в начале и в табличке.
если extern не нужен, то почему код без extern не собирается? godbolt.org/z/r7rzMx Докладчик говорит о том, что с помощью extern можно избавиться от инстанцирования, и поэтому extern в примере нужен.
На 10:47 автор перепрыгнул на новую сущность (переменные, объявленые с const) без объяснения вида linkage и storage duration для них. На этом я потерял нить рассуждений.
В С++ 20 список th-cam.com/video/G_jcBrrYPAs/w-d-xo.html уже из 34 пунктов, стандарт закончен :) Ну и ссылка en.cppreference.com/w/cpp/language/constant_expression
Редкий случай. когда доклад о простом но очень важном и притом очень доступно. Автору респект.
Шикарнейший доклад, побольше бы таких
Интереснейший доклад, все супер понятно и по полочкам. Титанический труд 👍🏼
Шикааарно! Хорошая работа, которая действительно в помощь. Супер
Спасибо за отличный доклад!
Отличный доклад!
Спасибо
Было бы интересно услышать подробное объяснение темы, как влияет ключевое слово `static` на определения функций в безымянных неймспейсах. Я раньше был уверен, что никак, ведь безымянный неймспейс уже предполагает internal linkage -- но на стековерфлоу видел посты, где отдельные личности доказывали, что использование слова static в таких функциях всё равно снижает нагрузку на линкер. Интересно, что говорит на эту тему стандарт и как де факто ведут себя популярные компиляторы при наличии или отсутствии `static` перед такими функциями.
Спасибо, крутой доклад, но это конечно очень сложно для понимания. До 45 минуты примерно понимал что да как исходя из рассказа, после 45 нить рассуждения оборвалась у меня в голове)
Очень хороший доклад, рекомендую. Но хотелось бы сказать что бы самих видео про С++ были бы по больше (кроме докладов, например уроков, о мест его применение и т. д. для поднятия популярности плюсов, как для других языков.
Спасибо!!!
С++ не нуждается в рекламе, его изучают и им пользуются. Все высокопроизводительные библиотеки Python и других языков написаны на С/С++. Уроков по С++ для новичков в сети предостаточно (еще больше англоязычных), а эти конференции и доклады направлены для прояснения тонких вещей языка или освещения лучших решений определенных проблем (до них еще нужно дорасти).
Спасибо большое за доклад! Всё чётко и по делу! Один вопрос. Если из constexpr следует inline, зачем тогда в некоторых ситуациях необходимо использовать связку inline constexpr? В докладе объясняется, что они "про разное". Зачем тогда для литеральных типов использовать constexpr вместо const?
Что за доклад Тимура про инициализацию?
th-cam.com/video/2jJumNzcp6Y/w-d-xo.html
@@MikhailMatrosovСпасибо!
весело в конце
45:18 - кажется extern не нужен, потому что при явной инстанциации (на самом деле, при любой) мы создаём уже саму сущность функции, а ещё объявление и так extern. То есть как было в начале и в табличке.
Не кажется, так и есть) жаль что докладчик в шаблонах не шарит(
если extern не нужен, то почему код без extern не собирается?
godbolt.org/z/r7rzMx
Докладчик говорит о том, что с помощью extern можно избавиться от инстанцирования, и поэтому extern в примере нужен.
@@mapron1 нет, жаль что ты в шаблонах не шаришь(
хотя ладно, на самом деле не жаль, пофиг вообще
На 10:47 автор перепрыгнул на новую сущность (переменные, объявленые с const) без объяснения вида linkage и storage duration для них. На этом я потерял нить рассуждений.
На gcc (GCC) 10.2.1 20200723 фишка с анонимными спейсами не работает, все равно получаем ошибку redefinition of 'Local'
Довольно неожиданно. А можно ссылку?
Тони - пуля в зубах?
В С++ 20 список th-cam.com/video/G_jcBrrYPAs/w-d-xo.html уже из 34 пунктов, стандарт закончен :) Ну и ссылка en.cppreference.com/w/cpp/language/constant_expression