?

Log in

No account? Create an account

Previous Entry | Next Entry

Бнопня по C++

Засада. Как вы думаете, какая 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() — это функция, определённая в другом модуле?

Poll #2054853 Быстрота, милота

Какая функция может быть быстрее?

DirectSize
9(40.9%)
IndirectSize
13(59.1%)


Вопрос специально сформулирован несколько расплывчато. Хочу мнений!

Comments

thesz
Oct. 27th, 2016 02:36 pm (UTC)
Re: Бнопня по C++
Вопрос был не в том, на каких языках вы разрабатывали, и что.

Вопрос был в том, понятно ли вам, что создание новых объектов в C++ и разделение старых между разными версиями структуры данных и приводит к увеличению усилий при программировании на С++ (внешне) неизменных структур по сравнению с изменяемыми структурами.

Итак, понятно ли вам это? Если не понятно, то что я должен объяснить или продемонстрировать?
mpd
Oct. 27th, 2016 02:54 pm (UTC)
Re: Бнопня по C++
Вопрос мне - понятен.
Утверждение о увеличении усилий - мне не кажется очевидным.
Объяснять и демонстрировать - ничего не надо, т.к. я постараюсь сам в этом убедиться со временем, чтобы сформировать своё представление, а пока мне не хватает опыта, я - сдаюсь.
Огромнейшее спасибо за прилагаемые усилия по моему просвещению!

Profile

lionet
Lev Walkin
Website

Latest Month

December 2016
S M T W T F S
    123
45678910
11121314151617
18192021222324
25262728293031
Powered by LiveJournal.com
Designed by yoksel