C İÇİN gelişmiş döngüler | Netgez.com
SORU
4 Aralık 2011, Pazar


C İÇİN gelişmiş döngüler

C Java dan geçiş yapıyorum ve C örneğin Java'da kullanılan döngüler için: gelişmiş olup olmadığını merak ediyordum

int[] numbers = {1,2,3,4,5,6,7,8,9,10};
for (int item : numbers) {
  System.out.println("Count is: "   item);
}

Bu "kısayol" C olabilir ? aynı

CEVAP
4 Aralık 2011, Pazar


C derleyici destekliyorsa, 11, Bu, Evet. Aralığı tabanlı çağrısında bulundu.

std::vector<int> v;

// fill vector

for (const int& i : v) { std::cout << i << "\n"; }

C stili diziler ve işlevleri olan herhangi bir tür begin() end() dönüş kullanımına uyar. Örnek:

class test {
    int* array;
    size_t size;
public:
    test(size_t n) : array(new int[n]), size(n)
    {
        for (int i = 0; i < n; i  ) { array[i] = i; }
    }
    ~test() { delete [] array; }
    int* begin() { return array; }
    int* end() { return array   size; }
};

int main()
{
    test T(10);
    for (auto& i : T) {
        std::cout << i;   // prints 0123456789
    }
}

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • 24 Канал

    24 КанаÐ

    5 ÅžUBAT 2006
  • 2ndfloor91

    2ndfloor91

    17 Kasım 2007
  • adrianisen

    adrianisen

    25 Kasım 2009