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

Сообщение Re[4]: cref<> in<> от 04.02.2023 21:23

Изменено 04.02.2023 21:41 rg45

Re[4]: cref<> in<>
Здравствуйте, Sm0ke, Вы писали:


S>Зачем вам нужен make_cref()? Напомню, что такой cref предназначен лишь для входных параметров функции.


1. Из чего следует, что cref нельзя использовать так, как показал я?
2. Что случится плогого, если доработать его таким образом, чтоб он гарантированно обеспечивал константную ссылку и соответствовал своему названию?
3. Чем плох std::cref и сопутсвующие сущности?
Re[4]: cref<> in<>
Здравствуйте, Sm0ke, Вы писали:


S>Зачем вам нужен make_cref()? Напомню, что такой cref предназначен лишь для входных параметров функции.


1. Из чего следует, что cref нельзя использовать так, как показал я?
2. Что случится плогого, если доработать его таким образом, чтоб он гарантированно обеспечивал константную ссылку и соответствовал своему названию?

S>Это просто чтобы не писать const type & — а для наглядности. Но какой в этом тогда смысл?

S>Его определение можно по желанию переписать для trivial типов через std::conditional, чтобы они по const копии передавались, а не по ссылке.
S>Например зачем char передавать по конст ссылке?

Ну то есть он нужен только для того, чтоб мешать программистам объявлять типы формальных параметров функций. Офигенно полезная утилита