Size: a a a

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

2020 May 26

AZ

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

AZ

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

/dev/urandon ¯\_(ツ)_... in cxx.Дискуссионная
Alexander Zaitsev
никак. ты сам ответил на свой вопрос :)
)))))
источник

AZ

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

AZ

Alexander Zaitsev in cxx.Дискуссионная
shared_ptr нужен только там, где он нужен
источник

Т8

Т-34 85 in cxx.Дискуссионная
Alexander Zaitsev
shared_ptr == оверхед
Да, но зато точно не будет дабл фри
источник

AZ

Alexander Zaitsev in cxx.Дискуссионная
Т-34 85
Да, но зато точно не будет дабл фри
ну с unique_ptr тоже точно не будет
источник

Т8

Т-34 85 in cxx.Дискуссионная
И юз афтер фри
источник

/dev/urandon ¯\_(ツ)_... in cxx.Дискуссионная
polunin.ai
чем не реальная жизнь?
Такая реальная жизнь доступна только при ДМС со стоматологией
источник

AZ

Alexander Zaitsev in cxx.Дискуссионная
как вообще в С++ можно получить double free?
источник

/dev/urandon ¯\_(ツ)_... in cxx.Дискуссионная
polunin.ai
чем не реальная жизнь?
Ибо за такое зубы выбивают
источник

AZ

Alexander Zaitsev in cxx.Дискуссионная
use-after-free - это да, будет нереально получить. правда и с unique_ptr тоже
источник

Т8

Т-34 85 in cxx.Дискуссионная
Alexander Zaitsev
ну с unique_ptr тоже точно не будет
А там им можно заменить? Я просто не смотрел проблемный код
источник

AZ

Alexander Zaitsev in cxx.Дискуссионная
там можно получить use-after-move, но: Это катчится уже давно
источник

AZ

Alexander Zaitsev in cxx.Дискуссионная
Т-34 85
А там им можно заменить? Я просто не смотрел проблемный код
а по ссылке в статье проблемного кода и нет :)
источник

AZ

Alexander Zaitsev in cxx.Дискуссионная
я вижу у них там проблемы с out-of-bounds, но от них С++ спасает ровно также, как и Rust
источник

A

Alex Ф-ф-фэils!🌠︙... in cxx.Дискуссионная
polunin.ai
а unique нет
Смотри здесь
источник

AZ

Alexander Zaitsev in cxx.Дискуссионная
так что снова мимо. с out-of-bounds нет особо юзабельных методик борьбы нигде - либо ты пользуешь API с проверкой в рантайме диапазонов и живешь спокойно, либо ты не готов за это платить и ответственность на тебе
источник

A

Alex Ф-ф-фэils!🌠︙... in cxx.Дискуссионная
Mark Gulyaev
а, тут я встречаю два подхода:
1. видел в гугловом стайл-гайде (и у нас на работе тоже есть любители такого подхода) — это out параметры по указателю а не по ссылке передавать.
2. Видел у Саттера доклад, где он предлагал raw pointer передавать вместо ссылки только для тех случаев, когда nullptr допустимое значение
std::out_ptr<T> жду вот
источник

Т8

Т-34 85 in cxx.Дискуссионная
Alexander Zaitsev
а по ссылке в статье проблемного кода и нет :)
Юзают сырые указатели, но ноют на отсутствие безопасности в крестах... Если только им нужен шаринг и ОЧЕНЬ не хочется оверхеда, тогда могу понять
источник