Ряд Фибоначи в цикле, помогите понять

Alf, а на сколько это очевидно?

В Стандарте указаны подобные моменты
Для эксперимента:

#include <iostream>
void foo ( const int & )
{
    std::cout << "foo ( const int & )" << std::endl ;
}

void foo ( int & )
{
    std::cout << "foo ( int & )" << std::endl ;
}

int main()
{
    struct A { int x; };
    const A* a = new A();
    //A* a = new A();
    decltype(a->x) x3;
    decltype((a->x)) x4 = x3;
    foo(x3) ;
    foo(x4) ;
}

И синтаксис

auto foo ( const T & x , const T & y ) - > decltype ( x+y ) 
{}

облегчает жизнь.

Лямбда-функции Идея хорошая, но опять реализация подкачала.
Нелогичный и неудобоваримый синтаксис. Впрочем указатели на
функции в нетривиальных случаях ни чуть не лучше...

Почему? Вроде бы всё логично + меньше головной боли с функторами.

С одной стороны вещь вроде полезная. Но с другой стороны очень
опасная в плане её неправильного понимания и применения.

Автомобиль тоже полезная вещь и опасная, если неправильно им пользоваться, но это никак никому не мешает.

Я вообще плохо понимаю этот приём: вводить в язык новые
синтаксические конструкции за реализацию которых отвечают
библиотечные шаблоны (в данном случае initializer_list<T>). Т.е.STL становится частью языка?

Ну если таким образом можно инициализировать массивы и POD-типы, то почему не предоставить возможность реализовать тоже самое в своем классе?

Редкостное по красоте собрание костылей, замешанное на
шаблонах и завязанное на STL. После прочтения пары статей на
Хабре, лично у меня нет никакого желания использовать этот
механизм.

Тьма разработчиков по всему миру использовали boost::thread, и были довольны. Вот он и перекочевал перекочевал в STL почти полностью. Почитайте книгу от автора библиотеки: http://www.ozon.ru/context/detail/id/17636939/ а не статьи на Хабре :)

For-цикл по коллекции

вот это для меня лишь синтаксический сахар, но он должен быть в языке.

Ключевые слова, которые как бы и не ключевые. Маразм крепчал?

например, final достаточно часто используется в качестве имени переменной, наверное, поэтому не стали вводить ключевое слово, хотя черт его знает зачем, надо у Страуструпа посмотреть, скорее всего он это объясняет :)

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.