Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++11 Лямбда-выражения и вывод результата - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массив. Найти сумму элементов, максимальный элемент, поменять местами со значением S http://www.cyberforum.ru/cpp-beginners/thread1009491.html
Посмотрите пожалуйста , в чем ошибка ? Вот задание если что:Постановка задачи. Исходный массив считать из файла *.txt (файл создать самим). Результаты вычислений и манипуляций над массивом вывести...
C++ переделать простую программку Всем привет, прог. работает, долго делал, но оказалось что прог. надо сделать с помощью map и set, и я просто не знаю как правильно переделать, может литература какая есть? помогите ... http://www.cyberforum.ru/cpp-beginners/thread1009490.html
C++ Перегрузка операторов
написал программу. проверил. вроде все правильно. но не работает. программа долjна посредством перегрузки знака = скопировать из строки S1 в строку S2 текст которых наxодится меjду (пример строки:...
Нужен совет программистов C++
Здравствуйте. Я сейчас учусь на 2-ом курсе вуза, на программиста. Вот задался таким вопросом : а что нужно знать для того , чтобы именно РАБОТАТЬ программистом (хотя бы каким-то начинающим)....
C++ Как считать имена файлов из директории? http://www.cyberforum.ru/cpp-beginners/thread1009482.html
Здорова господа!!! Есть директория, в ней находятся файлы, нужно получить массив с названиями этих файлов и еще определять где файл, а где директория. От в пхп это делается легко функция...
C++ Задачи с одномерным массивом 1)Заданы два одномерных упорядоченных массива a и b. Вывести на экран различные элементы массива a в порядке появления их в массиве b. #include <iostream> using namespace std; int main() {... подробнее

Показать сообщение отдельно
MastAKK
145 / 136 / 12
Регистрация: 13.10.2012
Сообщений: 587

С++11 Лямбда-выражения и вывод результата - C++

16.11.2013, 16:28. Просмотров 647. Ответов 18
Метки (Все метки)

Поспорил с одним человеком, что смогу следующий код:
Javascript
1
alert( ['Весна', 'Лето', 'Осень', 'Зима'][prompt('Номер месяца?')/3|0] );
на C++ сделать (тоже просто). Решил использовать лямбда-выражения и C++11. Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <vector>
#include <string>
#include <cstdio>
 
using namespace std;
 
int main()
{
    int i = cin.get();
    printf("%s", [](int i, vector<char*> s)->char*{ return s[i]; }(i, {"Spring", "Summer", "Autumn", "Winter"}));
    return 0;
}
Но выводится (null). Почему? Пытался через cout делать, но там прога вообще вылетает.

Добавлено через 2 минуты
Вот ещё одна версия кода (хотелось бы чтобы работало именно так):
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <vector>
#include <string>
#include <cstdio>
 
using namespace std;
 
int main()
{
    printf("%s", [](vector<char*> s)->char*{ return s[cin.get()]; }({"Spring", "Summer", "Autumn", "Winter"}));
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru