Examveda

What will be the output of the following C++ code?
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main () 
{
    vector<int> first (5, 10);
    vector<int> second (5, 33);
    vector<int>::iterator it;
    swap_ranges(first.begin() + 1, first.end() - 1, second.begin());
    cout << " first contains:";
    for (it = first.begin(); it != first.end(); ++it)
        cout << " " << *it;
    cout << "\nsecond contains:";
    for (it = second.begin(); it != second.end(); ++it)
        cout << " " << *it;
    return 0;
}

A. first contains: 10 33 33 33 10
second contains: 10 10 10 33 33

B. first contains: 10 33 33 33 10
second contains: 10 10 10 33 10

C. first contains: 10 33 33 33 30
second contains: 10 10 10 33 10

D. first contains: 10 10 10 33 30
second contains: 10 10 10 10 10

Answer: Option A


Join The Discussion

Related Questions on C plus plus miscellaneous

What is the difference between '++i' and 'i++' in C++?

A. None of the above

B. They both have the same effect

C. '++i' increments the value of 'i' before returning it, while 'i++' increments the value of 'i' after returning it

D. '++i' increments the value of 'i' after returning it, while 'i++' increments the value of 'i' before returning it