foreach w C++

28.03.2009 12:43 in c++

Zaniemówiłem, gdy zobaczyłem tego typu konstrukcję:

std::vector<int> vec;
vec.push_back(1); vec.push_back(7); vec.push_back(4);
for each (const int &vi in vec)
{
	std::cout << vi << std::endl;
}

Wygląda na to, że działa tylko pod Visual Studio - ale i tak wygląda zachęcająco w porównaniu do wersji z ::iterator.

Comments:

  1. Kurak

    Kurak:

    pod innymi kompilatorami mozna uzyc boostowego foreach.

    28.03.2009 18:21:44

  2. yarpen

    yarpen:

    ...i wciagac 300 linijek kodu :) To juz wole napisac petle z iteratorem.

    28.03.2009 23:12:37

  3. nameczanin

    nameczanin:

    Mi ostatnio kolega pokazał coś takiego:

    char* str;
    cin.getline(str, 255); //tworzy bufor str o wielkosci nie wiekszej od 255 ale przynajmniej rowny dlugosci tekstu (+ bajt zerowy)

    Może jestem czegoś nieświadom, ale na moje oko nie powinno działać.

    31.03.2009 22:18:27

  4. Marcin

    Marcin:

    Albo poczekac na C+ 0x tam jest for do iterowania po zakresie.

    01.04.2009 23:21:01

  5. Nazgob

    Nazgob:

    http://www.cplusplus.com/reference/algorithm/for_each/

    Tylko trzeba mieć funktor :)

    26.04.2009 10:51:57

Leave comment: