C++ wyświetlanie lini "od końca"

#include 

#include 

#include 

#include 

using namespace std;

int main() {

  vector v;

  ifstream input("slowa.txt");

  string l;

  while(getline(input, l))

    v.push_back(l); 

  for(int i=v.size(); i > 0; i--)

    cout << i << ": " << v[i] << endl;

}

i np. slowa.txt wygląda tak:

slowo 

coś

coś_innego

i chcę to wyświetlić:

3: coś_innego

2: coś

1: slowo

W normalnej kolejnosci ( for(int i=0; i < v.size() ; i++) ) wszystko jest bez problemu, a tak to mam naruszenie ochrony pamięci przy wykonywaniu.

Proszę o jakąś poradę

Przecież jeśli kontener ma N elementów, to są one indeksowane 0 … N-1. Tak więc:

for(int i=v.size()-1; i >= 0; --i)


// edit

// albo reverse_iterator, ale wtedy tracisz numer indeksu...

for( vector::reverse_iterator i = v.rbegin(), e = v.rend(); i != e; ++i)

Masz rację… rzeczywiście… solved. Dzięki.

Ale wtopa(;