foreach en C++ int tableau

Je suis novice en C++ et je suis en train d'écrire le code suivant.
J'avais besoin de parcourir tous les addons dans ma fonction d'appel - testFunction. Je sais que cela fonctionne en C#, mais ce code ne fonctionne pas. Quelqu'un peut s'il vous plaît signaler la bonne façon de le faire en C++?

#include "stdafx.h"
#include <iostream>
#include "resource.h"

int testFunction(char* tester);
int _tmain()
{
    int mainProd=2;
    int Addons[]={7,8,9,10};

    testFunction(mainProd,Addons);


}
void testFunction(int mainProd,int addons[])
{
    for(int x = 0 ; addons.length;++x) ---- Not working 
    {
        std::cout<< addons[x];
    }
}

J'ai essayé de mettre en œuvre des vecteurs ci-dessous des suggestions par des gars

#include "stdafx.h"
#include <iostream>
#include "resource.h"
#include <vector>

void testFunction(std::vector<int> addons);

int _tmain(int argc, _TCHAR* argv[])
{

    std::vector<int>  Addons ;
    for(int i = 0 ;i<10;++i)
    {
        Addons.push_back(i);
    }
     testFunction(Addons);
}

void testFunction(std::vector<int> addons)
{
    for(int i =0 ; i<addons.size();++i)
    {
        std::cout<<addons.at(i);
    }
}
D'où vous est venue l'idée que .length pourrait fonctionner? Peut-être vous avez besoin de chercher une un meilleur livre?
Quel est votre favori C++ livre dire?
fordward déclarer la version correcte de testFunction trop.
passage par référence le vecteur afin d'éviter d'inutiles copys void testFunction(const std::vector<int> &addons) // note the 'const' and the '&'
for(int i =0 ; i<addons.size();++i) est mauvais style pour une itération sur un vecteur. Utilisation begin et end à la place.

OriginalL'auteur junni lomo | 2013-01-15