Мне бы не хотелось задавать здесь преднамеренно субъективный вопрос, но у меня нет никого, кто мог бы задать это прямо...
Я пытаюсь "привести пример" в своей команде, приняв более современные концепции С++ в новом коде, который я пишу. Мои коллеги немного застенчивы от шаблонов и жалуются на необходимость вводить unique_ptr<Foobar>
или shared_ptr<Foobar>
вместо просто Foobar*
при использовании некоторых классов, которые я недавно создал (factory методы возвращают unique_ptr
и я храню списки из этих объектов в векторах, используя shared_ptr
).
Они скрутили мою руку и убедили меня напечатать их во что-то более легкое для ввода, например FoobarUniquePtr
.
Но теперь я в беспорядке с const-correctness с этими typedefs. Я должен был бы определить дополнительные typedefs для каждого типа const и non const, а const const_FoobarUniquePtr
, похоже, не корректно выражает семантику const.
Итак, на мой вопрос, имеет ли смысл прекратить использование этих typedefs и вместо этого перетащить auto
у моих товарищей по команде, когда они жалуются на необходимость ввода шаблонных умных указателей? Я также открыт для других альтернатив.