C++ Institute C++ Certified Professional Programmer CPP Question # 32 Topic 4 Discussion

C++ Institute C++ Certified Professional Programmer CPP Question # 32 Topic 4 Discussion

CPP Exam Topic 4 Question 32 Discussion:
Question #: 32
Topic #: 4

What happens when you attempt to compile and run the following code?

#include

#include

#include <algorithm>

using namespace std;

templatestruct Out {

ostream & out;

Out(ostream & o): out(o){}

void operator()(const T & val ) {

out<

}

};

struct Sequence {

int start;

Sequence(int start):start(start){}

int operator()() { return 10*(1+(start++ %3)); } };

int main() {

vector v1(10);

vector v2(10);

generate(v1.begin(), v1.end(), Sequence(1));

sort(v1.rbegin(), v1.rend());

unique_copy(v1.begin(),v1.end(), v2.begin());

for_each(v2.begin(), v2.end(), Out(cout) );cout<

return 0;

}

Program outputs:


A.

20 30 10 20 30 10 20 30 10 20


B.

30 20 10 0 0 0 0 0 0 0


C.

30 0 0 0 0 0 0 0 20 10


D.

compilation error


Get Premium CPP Questions

Contribute your Thoughts:


Chosen Answer:
This is a voting comment (?). It is better to Upvote an existing comment if you don't have anything to add.