По сцылке с ltu можно найти статью-продолжение бестселлера известного датского писателя Б. Страуструпа "Дизайн и эволюция C++", охватывающее период с 2001 года по настоящее время.
Не сильно интересующиеся процессом люди (типа меня), могут узнать много нового. Например, я наконец увидел ту фичу, до которой Страуструп мог бы додуматься и 20 лет назад, которой так сильно начинает не хватать в C++ после знакомства с любым нормальным (особенно функциональным) языком программирования -- итак, в C++ будут наконец более-менее нормальные enum типы. *Аллилуйя*. Они не будут неявно конвертится в int, у которых будет определен физический размер, которые можно будет нормально использовать в качестве параметра шаблона и имена которых будут определены внутри пространства имен, задаваемого именем enum'а (т.е. enum E { A } будет доступен как E::A). Это пока только предложение, но отец всех C++ программеров считает, что наверное его примут.
Другой интересный документ, к которому он и сам приложил руку -- это предложение включить лямбды с замыканиями в C++. Мысль неплохая, но без GC все это, естественно, будет еще одним месторождением тормозов и граблей (в виде, преимущественно, висячих ссылок).
Глючить будет так:
tr1::function<int(int)> foo() { A a; A *b = &a; return (<>(int) { *b = 3; return 0; }); } tr1::function<int(int)> a = foo(); a(1); // локальная переменная а // внутри foo() уже уничтожена, но // лямбда ее используетСравним это все с garbage-collected языками где все объекты на хипе, и убиваются когда надо.
А тормозить будет поскольку для локальных объектов которые использует замыкание, по дефолту создается копия. Сравним это с garbage-collected языками, где замыканию достаточно указателя на объект.
Ну и для тех кому не интересны технические подробности, в статье можно почитать про процесс принятия стандарта и включения в него STL, а также причитания по поводу java, особенно понравилось вот это
I see Java as a Sun commercial weapon aimed at Microsoft that missed and hit an innocent bystander: the C++ community.
Вообще яве там целых несколько страниц посвящено, видно, годы аггрессивной рекламы явы как убийцы С++ не прошли даром для бедняги Страуструпа.
Ну в общем и целом статья очень интересная и познавательная, рекомендую.
No comments:
Post a Comment