Re[6]: auto - минусы использования?
От: B0FEE664  
Дата: 12.01.23 17:54
Оценка:
Здравствуйте, rg45, Вы писали:

V>>>Какой, хотя бы из двух, overloads() вызовется здесь? А если я третий добавлю?

σ>>А если бы было overloads(func())? 🤡

R>Я думаю, что это просто немного разные сценарии. По сложности разные. В последнем случае временный объект (ну или ссылка — не суть) создается для того, чтоб выполнить над ним ровно одно действие. Это действительно простой случай и без знания типа объекта, наверное, можно легко обойтись в большинстве случаев. В предыдущем же примере, как я понимаю, подразумевается, что над объектом могут выполняться какие-то еще другие действия, прежде чем он будет передан в функцию overloads. Вероятно также, что этот объект не будет единственным в этом фрагменте программы. То есть, предыдущй пример в целом сложнее и явное указание типов действительно облегчает чтение кода, тут я полностью согласен.


Эдак можно и про виртуальные функции сказать:
class SomeBaseClass { public: virtual auto overloads() -> void = 0; };

SomeBaseClass* var = func();
var->overloads();

И каждый день — без права на ошибку...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.