Засада. Как вы думаете, какая C++ (11) функция может быть быстрее при достаточно развесистом классе Foo?
size_t DirectSize(Foo && foo) {
auto v = std::vector{std::move(foo)};
return v.size();
}
size_t IndirectSize(Foo && foo) {
auto v = construct_vector(std::move(foo));
return v.size();
}
при условии, что construct_vector() - это
(
Read more... )
Comments 76
Reply
Reply
Reply
Но вообще в C++ тёмных мест, которые нужно понимать и запоминать, раз в двадцать больше. И до каких-то вообще можно суметь не добраться за всю C++'шную карьеру.
Reply
Вторую можно сделать быстрее
Reply
Reply
(The comment has been removed)
Мув семантик не понимается инитиалайзерлистом и он всегда копию делать будет
Reply
Reply
Reply
Reply
Reply
Reply
Я не думаю, что за эти 8 лет Си++ резко выбился в 5ку.
Да, конечно, даже с поправками 11-го года - это уже можно считать немного другим языком, а продолжающимся изменениям - конца не видно (подумать только, у меня сейчас компилятор поддерживает некоторые улучшения из Си++17!).
Но всё же тогда Лев был - категоричен и упорствовал!
И тут я читаю, что он задаёт вопросы по пюсам, куда катится мир!!! ;-)
Reply
Надо искать компании, которые в 2005 педалили что-то на С++, а в 2016 собираются делать из той же области, но уже не на С++. Отдельные люди не считаются. А если кто-то никогда и не выбирал писать что-то новое на С++, то у него очень мало авторитета для заявления об утрате С++ позиций.
https://channel9.msdn.com/posts/C-and-Beyond-2011-Herb-Sutter-Why-C
Reply
Reply
Leave a comment