User Tools

Site Tools



This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
journal:fall2019:mgardne8:week11 [2019/11/06 23:41]
journal:fall2019:mgardne8:week11 [2019/11/07 00:19]
mgardne8 [NOVEMBER 6, 2019]
Line 5: Line 5:
 Something new I learned about this week within C++; Something new I learned about this week within C++;
-`Range-based for Statement`+*Range-based for Statement*
 +Microsoft c++ documentation describes them as follows:
 +Use the range-based for statement to construct loops that must execute through a "range", which is defined as anything that you can iterate through—for example, std::vector, or any other C++ Standard Library sequence whose range is defined by a begin() and end().
 +They are used in the following format:
 for ( for-range-declaration : expression ) for ( for-range-declaration : expression )
-    statement+statement 
 +I am glad to find that there exists something like this within C++ as it is a lot like pythons 'for x in y' and this is something that I love, and made me sad to live without. 
 +I used this recently in an assignment for Han's c++ class in  conjunction with vectors as follows:
 +        for( vector<int> v : vect )
 +        {
 +                total = accumulate( v.begin(), v.end(), total );
 +                count = count + v.size();
 +        }
 +This allowed me to iterate over all the objects within a vector of vectors that contain ints, summing them up and counting the number of elements. (To calculate an average).
 +This has the added benefit of 'just working' even when all the vectors within the main vector vary in size.
 +Additionally I nested these style of for loops to create a compact and efficient way of outputting the data for the project. 
 +        for( string name : names )
 +        {
 +                cout   << endl << name << endl << "    Grades: ";
 +                for( int grade : )
 +                        cout   << grade << " ";
 +                cout   << endl << "    Average: " << average(;
 +                cout   << endl << "    LetterG: " << get_let( << endl;
 +                i++;
 +         }
journal/fall2019/mgardne8/week11.txt · Last modified: 2019/11/07 00:19 by mgardne8