?

Log in

No account? Create an account
DnE 2005 - extended foreword to DnE Japanese edition - Valse oubliée [entries|archive|friends|userinfo]
aruslan

[ userinfo | livejournal userinfo ]
[ archive | journal archive ]
[ delicious | aruslan's delicious ]

Links
[Links:| Tags Profile Friends FG1 PP gamedev XNA FF Entries Comments Memories ]

DnE 2005 - extended foreword to DnE Japanese edition [Oct. 8th, 2005|05:58 pm]
aruslan
[Tags|, ]

http://www.informit.com/content/images/art_stroustrup_2005/elementLinks/DnE2005.pdf
Ну и http://www.research.att.com/~bs/rules.pdf, если кто еще в танке.
LinkReply

Comments:
[User Picture]From: _winnie
2005-10-09 08:27 pm (UTC)
Какие-то странные проблемы волнуют Страуструпа :/

vector < vector< int>> - проблема навсегда исчезает после первого же нахождения решения.
Хорошие компиляторы даже выдают сообщение вроде
test.cpp:4: error: `>>' should be `> >' within a nested template argument list
или менее информативное
test.cpp(4) : error C2947: expecting '>' to terminate template-argument-list, found '>>'


Начинающего программиста ждет гигантское количество таких pitfalls. Непонятно, почему Струструп актентировал внимание именно на этом.

Концепты. Абсолютно бесмысленная штука.
Какая разница, где компилятор укажет на ошибку, прямо в боевом коде или в концепте? А как он будет проверять incomplete-типы?
А чем плох if (0) { проверить, что можно скопировать/вызвать метод ++/разыменовать } для ранней диагностики?

Инициализаторы.
std::vector v = { 1, 2, 3, 4 };
Такое я встречал только в тестовом коде.
В реальных программах это встречается сверхредко - инициализация захардкоденными
значениями [b]динамического[/b] контейнера. На то они и динамические. Если что-то меняет свой размер,
то вряд ли в нём в начале работы 4-ре элемента.
А для тестов можно использовать и
v << 1 << 2 << 3 << 4;
и int i[4] = { 1, 2, 3, 4 }; std::vector< int> v(i, i+4);

Понятно, что будут решать и другие, более насущные проблемы, непонятно почему доктор так заостряет внимание именно на
этих мелочах в работах посвященных c++0x.
(Reply) (Thread)
[User Picture]From: aruslan
2005-10-11 10:20 pm (UTC)
Согласен.
Скажу больше - ты не одинок :)
(Reply) (Parent) (Thread)