Examveda

What will be the output of the following C++ code?
#include <iostream>
#include <vector>
using namespace std;
int main ()
{
    vector<int> myvector;
    int * p;
    unsigned int i;
    p = myvector.get_allocator().allocate(5);
    for (i = 0; i < 5; i++) 
        myvector.get_allocator().construct(&p[i], i);
    for (i = 0; i < 5; i++)
        cout << ' ' << p[i];
    for (i = 0; i < 5; i++)
        myvector.get_allocator().destroy(&p[i]);
    myvector.get_allocator().deallocate(p, 5);
    return 0;
}

A. 1 2 3 4 5

B. 0 1 2 3 4

C. 1 2 3 4

D. 5 4 3 2 1

Answer: Option B


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