170 похожих чатов

#Include <iostream> #include <algorithm> #include <array> template <typename ... _Args> class hello_world_printer{ private:

template<typename _Sequence_Argument>
constexpr auto push_one(_Sequence_Argument&& arg){
if constexpr(!std::is_integral_v<std::decay_t<_Sequence_Argument>>){
return int(arg);
} else{
return char(arg);
}
}

std::array<char, sizeof...(_Args)> arguments;
public:
constexpr hello_world_printer(_Args... args)
: arguments({push_one(args)...})
{}

constexpr auto get() const noexcept{
return arguments;
}

template<typename _Ch, typename _Tr, typename _Tuple, std::size_t ... _Is>
static constexpr void print_impl( std::basic_ostream<_Ch, _Tr>& ostream, const _Tuple& t, std::index_sequence<_Is...>){
((ostream << (_Is == 0 ? "" : ", ") << std::get<_Is>(t.get())), ...);
}
};

template <typename _Ch, typename _Tr, typename ... _Args>
constexpr std::ostream& operator << ( std::basic_ostream<_Ch, _Tr>& ostream, const hello_world_printer<_Args...>& printer){
ostream << '('; hello_world_printer<_Args...>::print_impl(ostream, printer, std::index_sequence_for<_Args...>());
return ostream << ')';
}

int main(){
std::cout << hello_world_printer('H', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd') << std::endl;
return EXIT_SUCCESS;
}

10 ответов

20 просмотров

Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!

Лол, что.

как-то маловато кода для нормального физзбазза

floy.- Автор вопроса
floy.
ну можете предложить и свою версию :)

int main() { return []() -> int { puts("Hello world!\n"); return 0;} (); }

LordJollu
int main() { return []() -> int { puts("Hello ...

int print_hw = []() -> int { puts("Hello world!\n"); return 0;} (); int main() { return 0; }

floy.- Автор вопроса
다니엘(줄리아)
https://godbolt.org/z/9j88fMx47

смешнявка получилась

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
2
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта