On-line: гостей 0. Всего: 0 [подробнее..]
Программисты всех стран, объединяйтесь!

АвторСообщение



ссылка на сообщение  Отправлено: 28.07.12 20:09. Заголовок: Как напечатать 10 раз "Hello World"


Подобного рода задачи, как, например, "Как напечатать 10 раз "Hello World"", рассчитаны конечно не на проверку того, можете ли вы написать простейшую программу на С++, а на проверку вашей изобретательности. То есть эта задача на оригинальность: кто сможет предложить самое оригинальное решение.
Одно из таких забавных решений, которое появилось благодаря лямбда-выражениям я и хочу продемонстрировать. Сразу же оговорюсь, что идея принадлежит не мне. Я лишь написал лямбда-выражение на свой вкус.

#include <iostream> 
#include <functional>

int main()
{
std::function<size_t ( size_t )> hello =
[&] ( size_t i ) -> size_t
{
if ( i-- ) { std::cout << "Hello World\n"; return hello( i ); }
return ( 0 );
};

return hello( 10 );
}



Спасибо: 0 
ПрофильЦитата Ответить
Новых ответов нет


Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 10
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет