Sadece eğlence için, ben hayal basit sıralama algoritması uygulayan Ben hareket semantik ile performansını artırmak istedik:Hareketli elemanlar
template<typename Iterator>
void treesort(Iterator begin, Iterator end)
{
typedef typename std::iterator_traits<Iterator>::value_type element_type;
// move data into the tree
std::multiset<element_type> tree(std::make_move_iterator(begin),
std::make_move_iterator(end));
// move data out of the tree
std::move(tree.begin(), tree.end(), begin);
}
Ama bu ben bile, önemli bir biçimde performans etkilemedi std::string
s sıralama.
std::move
ve
std::copy
Burada da aynı şeyi yapacağız, dışarıdan sabittir hatırladım
Sıraladığınız dizeler hakkında biraz daha bilgi verebilir misiniz? Test kodunuzu belki de oynamamızı ister misiniz? – templatetypedef
Sadece 'qsort' kullanarak çok daha iyi hale getirilebileceğini bildiklerinizi optimize etmeye çalışıyorsunuz gibi görünüyor. Bunu yapmanın amacı nedir? Hareket anlambilimi hakkında bilgi sahibi olmak? – svick
@svick Evet, asıl sorum şu: Onlara artık ihtiyaç duymamaları durumunda, öğeleri bir ilişkisel konteynırdan nasıl taşıyabilirim? Eminim genel soru benim aptal Treeort örneğimi aşıyor. :) Sorunun başlığını değiştirdim ve allocator bitini kaldırdım, teşekkürler. – fredoverflow