2010-11-09 19 views
7

Taşıyıcı anlamlarını kullanarak, bir dizi öğeyi bir kapsayıcıdan diğerine taşıyacak bir işlev için C++ belgelerine bakıyordum. Ancak, böyle bir işlev bulamadım. Neyi kaçırıyorum?Kaplar arasında çeşitli öğeler taşıyın mı?

Kopyalama ve açık döngüler kullanmadan aşağıdakileri nasıl yaparım?

// Move 10 elements from beginning of source to end of dest 
dest.end() <- move(source.begin(), source.begin() + 10) 

cevap

7

Sana <algorithm> içinde std::move aradığınız düşünüyorum:

std::move(source.begin(), source.begin() + 10, 
      std::insert_iterator(dest, dest.end())); 

O hariç yerine kopyalamaya karşı belirledikleri hareket-atar, sadece std::copy gibi.

+0

Bu işlev için başvuru belgeleri nerede bulabilirim? Ben googling ve C++ 0x final taslaklarına bakıyorum ... onu bulamıyorum. – ronag

+1

@ronag: n3126’da §25.3.2’ye baktım. – GManNickG

+0

Harika. Teşekkür ederim. – ronag

İlgili konular