Информация об изменениях

Сообщение Re[11]: Почему CLion и VS не предупреждают? от 04.05.2023 8:44

Изменено 04.05.2023 8:47 serg_joker

Re[11]: Почему CLion и VS не предупреждают?
Здравствуйте, so5team, Вы писали:

TB>>мусор типа оператора new, кстати нахрена он нужен после 11 года?

S>... то разве что для создания объектов с private/protected конструкторами.
Да и тут во многих случаях (если я правильно понимаю, речь про make_shared/make_unique) необязательно. Но я тоже, бывает делаю через new в таких случаях.

ну или если конкретный тип умного (или неумного) указателя может быть разным в шаблоне. Вроде такого(иллюстративно):

template<typename PTR>
PTR Dup(const PTR& srcPtr)
{
  // can't use `make_unique`/`make_shared`
  return PTR{new std::remove_cvref_t<decltype(*srcPtr)>{*srcPtr}};
}


Ну и наверняка что-то ещё реальное есть.
Re[11]: Почему CLion и VS не предупреждают?
Здравствуйте, so5team, Вы писали:

TB>>мусор типа оператора new, кстати нахрена он нужен после 11 года?

S>... то разве что для создания объектов с private/protected конструкторами.
Да и тут во многих случаях (если я правильно понимаю, речь про make_shared/make_unique) необязательно. Но я тоже, бывает, делаю через new в таких случаях.

ну или если конкретный тип умного (или неумного) указателя может быть разным в шаблоне. Вроде такого(иллюстративно):

template<typename PTR>
PTR Dup(const PTR& srcPtr)
{
  // can't use `make_unique`/`make_shared`
  return PTR{new std::remove_cvref_t<decltype(*srcPtr)>{*srcPtr}};
}


Ну и наверняка что-то ещё реальное есть.