Сообщение Re: разница между transform и and_then от 11.08.2025 20:40
Изменено 11.08.2025 21:44 serg_joker
Re: разница между transform и and_then
Здравствуйте, sergii.p, Вы писали:
SP>тут в последнее время любят поднимать тему нелогичности в языке. Я продолжу эту славную традицию
Строго говоря, тут нелогичность в библиотеке, а не в языке, но вопрос всё равно хороший.
У меня не получилось ни найти обсуждение/обоснование в интернете, ни придумать своё.
Мне кажется, ходом мысли для transform могло бы быть нечто вроде: если мы из функтора, переданного в transform, возвращаем ссылку, то автор кода может ожидать, что дальнейший chaining будет работать именно с этим объектом, а не копией, что не так в силу того, что optional<T&> запрещён.
С другой стороны, автор кода функтора для and_then, который возвращает ссылку на optional также может возлагать тщётные надежды на отсутствие копии...
нипанятна... ждём-с экспертов.
SP>тут в последнее время любят поднимать тему нелогичности в языке. Я продолжу эту славную традицию
Строго говоря, тут нелогичность в библиотеке, а не в языке, но вопрос всё равно хороший.
У меня не получилось ни найти обсуждение/обоснование в интернете, ни придумать своё.
Мне кажется, ходом мысли для transform могло бы быть нечто вроде: если мы из функтора, переданного в transform, возвращаем ссылку, то автор кода может ожидать, что дальнейший chaining будет работать именно с этим объектом, а не копией, что не так в силу того, что optional<T&> запрещён.
С другой стороны, автор кода функтора для and_then, который возвращает ссылку на optional также может возлагать тщётные надежды на отсутствие копии...
нипанятна... ждём-с экспертов.
Re: разница между transform и and_then
Здравствуйте, sergii.p, Вы писали:
SP>тут в последнее время любят поднимать тему нелогичности в языке. Я продолжу эту славную традицию
Строго говоря, тут нелогичность(по крайней мере, логичного обоснования пока нет) в библиотеке, а не в языке, но вопрос всё равно хороший.
У меня не получилось ни найти обсуждение/обоснование в интернете, ни придумать своё.
Мне кажется, ходом мысли для transform могло бы быть нечто вроде: если мы из функтора, переданного в transform, возвращаем ссылку, то автор кода может ожидать, что дальнейший chaining будет работать именно с этим объектом, а не копией, что не так в силу того, что optional<T&> запрещён.
С другой стороны, автор кода функтора для and_then, который возвращает ссылку на optional, также может возлагать тщётные надежды на отсутствие копии...
нипанятна... ждём-с экспертов.
SP>тут в последнее время любят поднимать тему нелогичности в языке. Я продолжу эту славную традицию
Строго говоря, тут нелогичность(по крайней мере, логичного обоснования пока нет) в библиотеке, а не в языке, но вопрос всё равно хороший.
У меня не получилось ни найти обсуждение/обоснование в интернете, ни придумать своё.
Мне кажется, ходом мысли для transform могло бы быть нечто вроде: если мы из функтора, переданного в transform, возвращаем ссылку, то автор кода может ожидать, что дальнейший chaining будет работать именно с этим объектом, а не копией, что не так в силу того, что optional<T&> запрещён.
С другой стороны, автор кода функтора для and_then, который возвращает ссылку на optional, также может возлагать тщётные надежды на отсутствие копии...
нипанятна... ждём-с экспертов.