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 06:40 am (UTC)
From: [identity profile] levgem.livejournal.com
повбыбав бы

Date: 2015-10-16 06:52 am (UTC)
From: [identity profile] nivanych.livejournal.com
Но может быть, в новом C++ это будет ещё красивее!

Date: 2015-10-16 07:00 am (UTC)
From: [identity profile] yauheni akhotnikau (from livejournal.com)
Это как раз в новом. Функции std::begin/std::end были включены в стандарт в C++11.

Date: 2015-10-16 07:09 am (UTC)
From: [identity profile] nivanych.livejournal.com
Я про грядущий 16-й.
Ничего про него не знаю, "есличо".

(no subject)

From: [identity profile] yauheni akhotnikau - Date: 2015-10-16 07:18 am (UTC) - Expand

(no subject)

From: [identity profile] nivanych.livejournal.com - Date: 2015-10-16 08:21 am (UTC) - Expand

(no subject)

From: [identity profile] yauheni akhotnikau - Date: 2015-10-16 08:32 am (UTC) - Expand

(no subject)

From: [identity profile] nivanych.livejournal.com - Date: 2015-10-16 09:12 am (UTC) - Expand

(no subject)

From: [identity profile] yauheni akhotnikau - Date: 2015-10-16 09:15 am (UTC) - Expand

(no subject)

From: [identity profile] nivanych.livejournal.com - Date: 2015-10-16 09:17 am (UTC) - Expand

(no subject)

From: [identity profile] yauheni akhotnikau - Date: 2015-10-16 09:22 am (UTC) - Expand

(no subject)

From: [identity profile] nivanych.livejournal.com - Date: 2015-10-16 10:01 am (UTC) - Expand

(no subject)

From: [identity profile] yauheni akhotnikau - Date: 2015-10-16 10:08 am (UTC) - Expand

(no subject)

From: [identity profile] nivanych.livejournal.com - Date: 2015-10-16 10:15 am (UTC) - Expand

(no subject)

From: [identity profile] yauheni akhotnikau - Date: 2015-10-16 10:33 am (UTC) - Expand

Date: 2015-10-16 08:33 am (UTC)
From: [identity profile] sasha-gil.livejournal.com
должно быть что-то вроде

for (auto&& a: xs) std::cout << a;
std::cout << std::endl;

ну не мега-красиво, но всё же более читабельно; '&&' это пижонство, в простых случаях ненужное (но полезное, если тип xs в этом месте не вполне ясен)
Edited Date: 2015-10-16 08:35 am (UTC)

Date: 2015-10-16 07:02 am (UTC)
From: [identity profile] yauheni akhotnikau (from livejournal.com)
Так C++ники так еще со времен C++98 пишут, уже лет 17 как :)

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 автоматически реализуется для любого типа? ;)

(no subject)

From: [identity profile] thedeemon.livejournal.com - Date: 2015-10-16 07:26 am (UTC) - Expand

(no subject)

From: [identity profile] yauheni akhotnikau - Date: 2015-10-16 07:33 am (UTC) - Expand

(no subject)

From: [personal profile] develop7 - Date: 2015-10-16 07:41 am (UTC) - Expand

(no subject)

From: [identity profile] yauheni akhotnikau - Date: 2015-10-16 07:57 am (UTC) - Expand

(no subject)

From: [identity profile] theiced.livejournal.com - Date: 2015-10-16 08:30 am (UTC) - Expand

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

(no subject)

From: [identity profile] thedeemon.livejournal.com - Date: 2015-10-16 05:12 pm (UTC) - Expand

(no subject)

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

Date: 2015-10-16 07:10 am (UTC)
From: [identity profile] nivanych.livejournal.com
С++, это уникальная вещь.
Много, чему там можно поражаться ;-)

Date: 2015-10-16 08:20 am (UTC)
From: [identity profile] zeit-raffer.livejournal.com
Язык делают люди. Так что это не язык странный, а люди, которые его делают. Почему они не сделали что-то вроде cout << xs? А им Заратустра не позволяет!

Date: 2015-10-16 08:24 am (UTC)
From: [identity profile] nivanych.livejournal.com
Вот видел же Влад тов. Страуструпа на какой-то конференции, но постеснялся спросить про монады в C++ ;-)

(no subject)

From: [identity profile] zeit-raffer.livejournal.com - Date: 2015-10-16 08:52 am (UTC) - Expand

Date: 2015-10-16 08:34 am (UTC)
From: [identity profile] yauheni akhotnikau (from livejournal.com)
Вы твердо уверены в том, что operator<< для любых xs должен быть определен в стандарте?

(no subject)

From: [identity profile] zeit-raffer.livejournal.com - Date: 2015-10-16 08:44 am (UTC) - Expand

(no subject)

From: [identity profile] yauheni akhotnikau - Date: 2015-10-16 08:49 am (UTC) - Expand

(no subject)

From: [identity profile] zeit-raffer.livejournal.com - Date: 2015-10-16 09:00 am (UTC) - Expand

(no subject)

From: [identity profile] yauheni akhotnikau - Date: 2015-10-16 09:13 am (UTC) - Expand

(no subject)

From: [identity profile] zeit-raffer.livejournal.com - Date: 2015-10-16 09:23 am (UTC) - Expand

(no subject)

From: [identity profile] yauheni akhotnikau - Date: 2015-10-16 09:27 am (UTC) - Expand

(no subject)

From: [identity profile] theiced.livejournal.com - Date: 2015-10-16 11:57 am (UTC) - Expand

(no subject)

From: [identity profile] yauheni akhotnikau - Date: 2015-10-16 12:01 pm (UTC) - Expand

(no subject)

From: [identity profile] theiced.livejournal.com - Date: 2015-10-16 12:32 pm (UTC) - Expand

(no subject)

From: [identity profile] yauheni akhotnikau - Date: 2015-10-16 12:36 pm (UTC) - Expand

(no subject)

From: [identity profile] theiced.livejournal.com - Date: 2015-10-16 02:37 pm (UTC) - Expand

(no subject)

From: [identity profile] thedeemon.livejournal.com - Date: 2015-10-16 12:48 pm (UTC) - Expand

(no subject)

From: [identity profile] yauheni akhotnikau - Date: 2015-10-16 01:33 pm (UTC) - Expand

(no subject)

From: [identity profile] thedeemon.livejournal.com - Date: 2015-10-16 05:00 pm (UTC) - Expand

(no subject)

From: [identity profile] yauheni akhotnikau - Date: 2015-10-16 05:06 pm (UTC) - Expand

(no subject)

From: [identity profile] theiced.livejournal.com - Date: 2015-10-16 02:35 pm (UTC) - Expand

(no subject)

From: [identity profile] thedeemon.livejournal.com - Date: 2015-10-16 04:48 pm (UTC) - Expand

(no subject)

From: [identity profile] theiced.livejournal.com - Date: 2015-10-16 10:24 pm (UTC) - Expand

(no subject)

From: [identity profile] fi_mihej.livejournal.com - Date: 2015-10-18 08:01 pm (UTC) - Expand

(no subject)

From: [identity profile] thedeemon.livejournal.com - Date: 2015-10-19 04:51 am (UTC) - Expand

(no subject)

From: [identity profile] yauheni akhotnikau - Date: 2015-10-19 06:33 am (UTC) - Expand

(no subject)

From: [identity profile] fi_mihej.livejournal.com - Date: 2015-10-19 11:25 am (UTC) - Expand

Date: 2015-10-16 09:20 am (UTC)
From: [identity profile] diam-2003.livejournal.com
Мне вдруг стало интересно: что, неужели пинать С++ кому-то ещё интересно, или это такое хобби исключительно у поклонников Rust, D и прочих C++ killer-ов :) ?

Date: 2015-10-16 09:28 am (UTC)
From: [identity profile] thedeemon.livejournal.com
Что значит "еще"?
С++ (11,14,17.. ad inferno infinitum) это ж новый модный язык, все время обновляется, вон конференции только прошли, где рассказывали какой он современный и крутой. Старый С++ уже, конечно, неинтересно пинать, но теперь есть для пинания новый. :)

Date: 2015-10-16 12:29 pm (UTC)
From: [identity profile] diam-2003.livejournal.com
А уж в мире Кобола-то сколько всего происходит...

(no subject)

From: [identity profile] thedeemon.livejournal.com - Date: 2015-10-16 12:49 pm (UTC) - Expand

(no subject)

From: [identity profile] diam-2003.livejournal.com - Date: 2015-10-16 04:15 pm (UTC) - Expand

(no subject)

From: [identity profile] sassa-nf.livejournal.com - Date: 2015-10-16 06:31 pm (UTC) - Expand

Date: 2015-10-16 10:07 am (UTC)
From: [identity profile] dmzlj.livejournal.com

Почему вот не застандартизуют какой-нибудь intermediate language для бэкенда?
Си им быть не может, авторы и комитеты по стандартизации позаботились о том, что бы некоторые вещи на нем были принципиально нереализуемы.

Но казалось бы, стандартизуй какой-то нормальный IR, и живи себе счастливо, пописывая хоть на Расте, хоть на Ди и собирай везде.

Date: 2015-10-16 10:16 am (UTC)
From: [identity profile] alex-akts.livejournal.com
А чем для этих целей не подходит llvm ir?

Date: 2015-10-16 10:21 am (UTC)
From: [identity profile] dmzlj.livejournal.com
Он по факту не универсален (не знаю почему), его не форсят для этой роли. Может, если бы его взяли за стандарт и начали форсить, всё было бы ок, не знаю.

Date: 2015-10-16 10:31 am (UTC)
From: [identity profile] thedeemon.livejournal.com
Clang, Rust, LDC (один из компиляторов D) - все через LLVM компилят же. Да и хаскель тоже умеет..

(no subject)

From: [identity profile] dmzlj.livejournal.com - Date: 2015-10-16 12:12 pm (UTC) - Expand

Date: 2015-10-16 10:35 am (UTC)
From: [identity profile] yauheni akhotnikau (from livejournal.com)
JVM, .NET :)
Плюс, по факту, сейчас для многих программистов таким промежуточным языком является JavaScript :)

(no subject)

From: [identity profile] dmzlj.livejournal.com - Date: 2015-10-16 12:13 pm (UTC) - Expand

(no subject)

From: [identity profile] yauheni akhotnikau - Date: 2015-10-16 12:22 pm (UTC) - Expand

(no subject)

From: [identity profile] diam-2003.livejournal.com - Date: 2015-10-16 12:39 pm (UTC) - Expand

Date: 2015-10-16 11:56 am (UTC)
From: [identity profile] theiced.livejournal.com
ещё один? хватит может, с теми что уже наделали разобраться бы.

Date: 2015-10-16 10:26 am (UTC)
From: [identity profile] sober-space.livejournal.com
дашобонсгорел

Date: 2015-10-16 09:31 pm (UTC)
From: [identity profile] sleepy-drago.livejournal.com
в играх обычно custom trace который работает как printf. так что, такой с++ пока не нужен =)

Date: 2015-10-17 03:55 am (UTC)
From: [identity profile] urod.livejournal.com
По-моему, если не заголовочный файл, то вполне достаточно:

copy(begin(xs), end(xs), ostream_iterator(cout));
cout << endl;

Или уж один раз описать шаблон на writeln и везде дальше писать уже writeln.

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. 30th, 2026 08:49 am
Powered by Dreamwidth Studios