🦥Alex Fails
Нет!
там еще куча было
Andrei
1) нет пользовательского конструктора
🦥Alex Fails
Нет констр клпирования
🦥Alex Fails
Юзеоа
Andrei
2) нет виртуальных мемберов
Andrei
3) нет виртуального наследования
Алдар
виртуальное наследование ещё может добавить скрытые поля
Andrei
4) все ПРЯМЫЕ предки тривиал констрактибл
Алдар
и виртуальная функция тоже добавляет указатель)
Andrei
5) все нестатические слены тривиал констрактибл
Andrei
6) добавилось в 11
Andrei
у типа нет нестатических членов с дефолтными инициализаторами
🦥Alex Fails
5) все нестатические слены тривиал констрактибл
Ты мне скажи,тчем те не понравилось утверждение, что все типы языка Си - pod'ы?
Andrei
Тупо типы из языка Си
тут ты скорее сказал pod = а не pod >=
🦥Alex Fails
Да
🦥Alex Fails
А типы языка си - это подмножество подов
Andrei
не берусь сказать сходу, но видимо, да.
🦥Alex Fails
Все типы си - подыЮ но не все поды - типы как в си
🦥Alex Fails
не берусь сказать сходу, но видимо, да.
Надо по чек-листу проверить
🦥Alex Fails
кстати, в гцц в си-части можно прикручивать что-то типа деструкторов
Andrei
чем make_shared лучше чем обычное создание?
опять же мейерса, несколько new и все дела
Andrei
как работает функция std::move?
тупо статик каст к t&&
🦥Alex Fails
опять же мейерса, несколько new и все дела
в общем, как пройду аттестация на кафедре - дочиьаю его книгу
Алдар
как работает dynamic_cast?
Алдар
и когда он работает, когда не работает?
Алдар
Какие вы знаете типа кастов в С++?
Andrei
это получше вопросы
Andrei
про pod вопросы на знание стандарта
Алдар
как shared_ptr работает с иерархиями наследования?
Алдар
Какой порядок создания и разрушения объекта в С++?
Алдар
Что такое список инициализации и зачем он нужен?
Алдар
ключевое слово const, как оно применяется в С++?
Andrei
у shared_ptr есть один конструктор забавный
Andrei
aliasing конструктор
🦥Alex Fails
у shared_ptr есть один конструктор забавный
Это про него была статья на хабре? (Про скрытый конструктор shared_ptr)
Andrei
Он не скрытый, просто о нём редко говорят.
Алдар
https://www.youtube.com/watch?v=1OEu9C51K2A
Алдар
Страуструп рекомендует юзать простые указатели если не собираешься менять владение
Алдар
Отсюда следует что нужно постоянно думать про овнершип и не переживёт ли юзер владельца
Andrei
Если в этом есть сомненеие тогда shared_ptr
Алдар
добавляет лишний счётчик
Алдар
то о чём я говорил, при использовании С++ в любом случае надо думать о памяти
Алдар
даже если есть умные указатели
Nikolay
А там еще не сделали гэрбейч коллектор
Алдар
При этом всё равно раст будет безопаснее
Алдар
потому что проверяет всё на уровне типов и компилятора, как раз то к чему стремиться монструозный С++
Andrei
Блин.
Andrei
Нет.
Andrei
Господи
Andrei
Чудес не бывает.
Andrei
Раст просто гвоздями прибивает лайфтайм объекта в куче к объекту стека.
Andrei
И всё.
Andrei
Раст просто сужает твои возможности
Andrei
никто не запрещает тебе на плюсах писать точно так же.
Andrei
Причем, я например так и делал.
Andrei
И на работе
Andrei
писал code guideline
Andrei
для всей команды
Andrei
где одно из правил было не использовать shared_ptr
Andrei
потому что они размывают владение
Andrei
Только unique
Алдар
omg как без shared_ptr то обходитесь?
Andrei
по секрету
Andrei
так же как все топовые фирмы которые пишут критически важный софт на плюсах
Andrei
никто не будет в серверном коде более\менее серьёзным использовать shared_ptr
Алдар
постоянно передаёте unique_ptr и возвращаете?
grinchfox
это наркомания
Алдар
не упоминай про вещества
Andrei
Куда передаем и возвращаем?
grinchfox
ну тоесть не обязательно раскидывать на право и на лево lock free структуры и безопасные указатели просто потому что можешь
grinchfox
таким образом можно просто на java или C# пересесть где все за тебя сделано, но без особой производительности
Andrei
сравнение вообще не в тему
grinchfox
ну ок
Алдар
в джаве очень уродливые дженерики
Andrei
В расте никакого отличия от плюсов нет
Andrei
вместо shared_ptr там Rc
Andrei
который разве что иммутабельные