ну шаблоны да, расовая штука, тут не поспоришь. жаль у меня у меня таки не было времени свою софтину на плюсах переписать, а то б эти буустовские штуки заюзал -- меньше б плюх лепил.
XaeroX писал: Если же красота кода мало заботит, то goto - прекрасный оператор для выхода из цикла любой вложенности. При этом этот оператор соответствует нативным машинным командам, т.е. не является сколько-нибудь вычислительно затратным.
Я даже больше скажу. Именно поэтому от нас её всячески прячут и нерекомендуют использовать, поскольку goto ломает к чертям все слои абстракции. Особенно на С++. На Си еще небольшая беда, если вы из функции выпрыгнете. А если из приватного члена класса?
Дядя Миша
ну вот мне и странно было, что через такую жопу надо делать..
в фортране это красиво сделали:
C++ Source Code:
1
outer: do i=1,100
2
inner: do j=1,1000
3
exit outer
4
enddo inner
5
enddo outer
так, в принципе, можно не только из циклов, но и из ifов и selectов выходить. по моему, очень удобно, меня несколько шокировало то, что в c-языках такой конструкции нет.
блин и ведь так всегда, в одном языке одни расовые вещи, а другом другие, а так что бы сразу всё -- хрен там.
Такое есть в JavaScript и, кажется, в джаве, выход по break и continue из вложенных циклов.
Но я боюсь, что со мной будет, если признаюсь в склонности к JavaScript'у
nemyax
Каррирование на шаблонах, а паттерн-матчинг - ну, в принципе, тоже можно на них, но вроде бы можно и просто с помощью наследования реализовать. Или даже с помощью typeid.
Но вообще говоря С++ - не функциональный язык.
То есть, лично я люблю элементы функциональщины (и шаблоны), но в меру. Мне важна императивная составляющая и возможность комбинировать подходы. Это плюсы позволяют идеально.
Добавлено 16-11-2013 в 02:34:
Цитата:
nemyax писал: Как это в коде хоть выглядит? =)
Бинды из STL в качестве простой иллюстрации подойдут?
nemyax
Пожалуй, да - только частично-применёнными будут не функции, а функторы (но это без разницы). Только это всё compile-time фичи, компилируется потом всё вместе.
Кстати, нашёл тут в википедии, что луа поддерживает замыкания (синтаксис такой же как у похапе), а вот петон, судя по всему, нет.