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

  • FamilyFeud

    FamilyFeud

    22 AĞUSTOS 2006
  • Phymec

    Phymec

    18 Temmuz 2009
  • Sam Kear

    Sam Kear

    14 Temmuz 2007