Size: a a a

cxx.Дискуссионная

2020 May 26

MG

Mark Gulyaev in cxx.Дискуссионная
Alexander Zaitsev
просто я не совсем понимаю, зачем они нужны при наличии ссылок
а, тут я встречаю два подхода:
1. видел в гугловом стайл-гайде (и у нас на работе тоже есть любители такого подхода) — это out параметры по указателю а не по ссылке передавать.
2. Видел у Саттера доклад, где он предлагал raw pointer передавать вместо ссылки только для тех случаев, когда nullptr допустимое значение
источник

AZ

Alexander Zaitsev in cxx.Дискуссионная
там невозможно их использовать, когда совсем лютая дичь начинается. И тогда они уже обмазываются unsafe и всё
источник

AZ

Alexander Zaitsev in cxx.Дискуссионная
Mark Gulyaev
а, тут я встречаю два подхода:
1. видел в гугловом стайл-гайде (и у нас на работе тоже есть любители такого подхода) — это out параметры по указателю а не по ссылке передавать.
2. Видел у Саттера доклад, где он предлагал raw pointer передавать вместо ссылки только для тех случаев, когда nullptr допустимое значение
ну вот тип Саттеровское предложение и есть норм вариант просто. а наличие null - ну такое себе. не помню, когда такое нужно было вообще
источник

AZ

Alexander Zaitsev in cxx.Дискуссионная
ну и почему-то все забывают, что уже давно есть компилятор, который проверяет лайфтаймы кое-как - clang-lifetime
источник

AZ

Alexander Zaitsev in cxx.Дискуссионная
источник

MG

Mark Gulyaev in cxx.Дискуссионная
Mark Gulyaev
а, тут я встречаю два подхода:
1. видел в гугловом стайл-гайде (и у нас на работе тоже есть любители такого подхода) — это out параметры по указателю а не по ссылке передавать.
2. Видел у Саттера доклад, где он предлагал raw pointer передавать вместо ссылки только для тех случаев, когда nullptr допустимое значение
мне персонально (и вроде Титус Винтерс — надеюсь правильно имя написал — писал недавно, что они отошли от этого правила) идея передавать по указателю out parameter кажется излишней, потому что нуу.. зато вот это может быть nullptr, неудобно.

Поэтому я действительно стараюсь либо референсы использовать, либо unique_ptr
источник

MG

Mark Gulyaev in cxx.Дискуссионная
Mark Gulyaev
мне персонально (и вроде Титус Винтерс — надеюсь правильно имя написал — писал недавно, что они отошли от этого правила) идея передавать по указателю out parameter кажется излишней, потому что нуу.. зато вот это может быть nullptr, неудобно.

Поэтому я действительно стараюсь либо референсы использовать, либо unique_ptr
а, ну либо по значению передавать кстати.
источник

AZ

Alexander Zaitsev in cxx.Дискуссионная
Mark Gulyaev
мне персонально (и вроде Титус Винтерс — надеюсь правильно имя написал — писал недавно, что они отошли от этого правила) идея передавать по указателю out parameter кажется излишней, потому что нуу.. зато вот это может быть nullptr, неудобно.

Поэтому я действительно стараюсь либо референсы использовать, либо unique_ptr
так делают в любом современном С++. и именно из-за этого проблемы именно с memory сведены к минимуму (или не встречаются вовсе)
источник

CU

Columbus Utrigas in cxx.Дискуссионная
а че хром в ютубе видосы на цпу декодирует?
источник

AZ

Alexander Zaitsev in cxx.Дискуссионная
зато когда хромиум выкладывает стату о проблемах с memory и о ней трубят везде, почему-то люди не дочитывают до момента о том, как у них сейчас принята работа со всем этим :)
источник

AZ

Alexander Zaitsev in cxx.Дискуссионная
Columbus Utrigas
а че хром в ютубе видосы на цпу декодирует?
это зависит от ОС
источник

CU

Columbus Utrigas in cxx.Дискуссионная
там же VP9 вроде, а у меня есть поддержка его ускорения у видяхи
источник

AZ

Alexander Zaitsev in cxx.Дискуссионная
на линуксах не работает аппаратное ускорение нормально
источник

CU

Columbus Utrigas in cxx.Дискуссионная
Alexander Zaitsev
это зависит от ОС
Винда 10
источник

AZ

Alexander Zaitsev in cxx.Дискуссионная
хм, на винде вроде как должно нормально работать
источник

A

Alex Ф-ф-фэils!🌠︙... in cxx.Дискуссионная
Ofee
А как ты делал? Я сначала начал объявлять MIN/MAX значения, потом подумал, что явно что-то не так делаю и пошёл гуглить что-нибудь про рефлексию...
Сейчас поищу гист
источник

Т8

Т-34 85 in cxx.Дискуссионная
Alexander Zaitsev
там невозможно их использовать, когда совсем лютая дичь начинается. И тогда они уже обмазываются unsafe и всё
Ну, тогда они бы решили проблему - и нет проблем с памятью, и нет оверхеда в рантайме. Вопрос лишь в том, стоит ли тащить туда новый язык, если достаточно заюзать shared_ptr?
источник

/dev/urandon ¯\_(ツ)_... in cxx.Дискуссионная
Alexander Zaitsev
изоляция одной либы от другой
И как это поможет в случае конфликтующих weak-export символов? (hint, в расте оно тоже всё сломает к хуям)
источник

CU

Columbus Utrigas in cxx.Дискуссионная
Alexander Zaitsev
на линуксах не работает аппаратное ускорение нормально
Там же есть нормальные vaapi
источник

CU

Columbus Utrigas in cxx.Дискуссионная
От Интел и невидии реализации точно есть
источник