What will be the output of the following C++ code?
#include <iostream>
#include <memory>
#include <string>
using namespace std;
int main ()
{
pair <string*, ptrdiff_t>
result = get_temporary_buffer<string>(3);
if (result.second > 0)
{
uninitialized_fill ( result.first, result.first + result.second,
"Hai" );
for (int i=0; i<result.second; i++)
cout << result.first[i] ;
return_temporary_buffer(result.first);
}
return 0;
}
#include <iostream>
#include <memory>
#include <string>
using namespace std;
int main ()
{
pair <string*, ptrdiff_t>
result = get_temporary_buffer<string>(3);
if (result.second > 0)
{
uninitialized_fill ( result.first, result.first + result.second,
"Hai" );
for (int i=0; i<result.second; i++)
cout << result.first[i] ;
return_temporary_buffer(result.first);
}
return 0;
}A. Hai
B. HaiHai
C. HaiHaiHai
D. HaiH
Answer: Option C

Join The Discussion