[C++] Vector który przechowuje inny vector


(Ryś) #1

Witam! chciałbym aby wektor v2, przechowywał w v2[0] wszystkie łańcuchy w wektorze v, jak to mogę zrobić??,

#include 

#include 

#include 

#include 


using namespace std;


int main()

{

    vector v;

    ifstream in("bezNazwy1.cpp");

    string tekst;

    while(getline(in, tekst)

    v.push_back(tekst);

    vector v2;

}

(Sawyer47) #2

Możesz zrobić wektor wektorów, system szablonów pozwala na wielopoziomowe zagnieżdżanie:

vector< vector >

Nie można tylko napisać

vector> bo >> zostanie źle zinterpretowane przez parser (jako operator >>)

(pebal) #3

Jest to jedno z dziwacznych ograniczeń standardu. W Visual C++ nie trzeba wstawiać spacji.


(Ryś) #4

Może trochę źle zadałem pytanie, chodziło mi o to, czy mogę odrazu wyświetlić zawartość wektora v, a nie za pomocą pętli robić v[0], v[1]. v[2] itd.


(etam) #5

Nie. Trzeba robić pętlę.


(pebal) #6

Można.

#include 


copy(v.begin(), v.end(), ostream_iterator(cout, "\n"));