thedeemon: (office)
[personal profile] thedeemon
Микола, бачив як С++ники xs.writeln пишуть?
std::copy(std::begin(xs), std::end(xs), std::ostream_iterator<unsigned char>(std::cout));
std::cout << std::endl;

навеяно

Date: 2015-10-16 07:07 am (UTC)
From: [identity profile] thedeemon.livejournal.com
Ну да. Но если в 2015 году это по-прежнему идиоматичный и правоверный способ, это.. впечатляет.

Date: 2015-10-16 07:12 am (UTC)
From: [identity profile] yauheni akhotnikau (from livejournal.com)
А что, в D функция writeln автоматически реализуется для любого типа? ;)

Date: 2015-10-16 07:26 am (UTC)
From: [identity profile] thedeemon.livejournal.com
Автоматически для любого выглядящего как range. Как в вашем посте, где begin и end были определены.
И для многих других тоже автоматически работает (всех структур, например).
Edited Date: 2015-10-16 07:29 am (UTC)

Date: 2015-10-16 07:33 am (UTC)
From: [identity profile] yauheni akhotnikau (from livejournal.com)
Можно только порадоваться за D, где этому уделяют столько внимания.

Date: 2015-10-16 07:41 am (UTC)
develop7: (dero)
From: [personal profile] develop7
во-первых, RSI придумали то ли тру́сы, то ли жидорептилоиды; во-вторых, есть же макросы!

Date: 2015-10-16 07:57 am (UTC)
From: [identity profile] yauheni akhotnikau (from livejournal.com)
Во-первых, про этот трюк с std::copy и std::ostream я узнал лет 15 назад, с тех пор использовал раза три или четыре и ни разу не в продакшене.
Во-вторых, маросы -- это вы с C или Rust-ом перепутали. В C++ есть шаблоны, на которых благопристойный writeln пишется с полпинка. Только вот, как показывает история, в стандарте он пока никому не понадобился.

Date: 2015-10-16 08:30 am (UTC)
From: [identity profile] theiced.livejournal.com
ну потому что "стандарт" (я не могу без кавычек писать про документ в котором сотни undefined behavior) "пишут" (в кавычках потому что хуем) пидорасы (без кавычек).

Date: 2015-10-16 05:02 pm (UTC)
From: [identity profile] psilogic.livejournal.com
мы пишем fwrite :)

Date: 2015-10-16 05:12 pm (UTC)
From: [identity profile] thedeemon.livejournal.com
Я сам привык к printf, а cout вообще нигде не использовал.

Date: 2015-10-16 05:19 pm (UTC)
From: [identity profile] psilogic.livejournal.com
во-во

я STL всерьез не воспринимаю

потому, что одно из двух: либо НЕЛЬЗЯ применять идеологию copy-on-assign, либо НАДО иметь smart pointer в пределах той же либы.

а так выглядит как чудовищных размеров недоделка

Profile

thedeemon: (Default)
Dmitry Popov

December 2025

S M T W T F S
 12 3456
789101112 13
14151617181920
21222324252627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 31st, 2026 02:47 pm
Powered by Dreamwidth Studios