container ineinander umwandeln



  • was ist eigentlich die beste vorgehensweise, wenn man z.B.
    einen vector in eine deque umwandeln möchte,
    oder alle element in einem set in einen vector pushen will

    ich habe bisher immer die naive variante gewählt

    for(source::iterator it = source.begin(); it != source.end(); ++it)
     target.push_back(*it);
    

    mir kommen aber zweifel, da ich denke das es dafür doch vorgefertigte algorithmen geben müsste ... ( die zB für bestimmte umwandlungen spezialisiert sind, und damit effizienter)



  • http://www.cppreference.com/cppdeque/container_constructors2.html

    The last constructor creates a dequeue that is initialized to contain the elements between start and end.

    std::vector<int> v;
    ... //füllen
    std::deque<int> d(v.begin(), v.end());
    

Anmelden zum Antworten