unique_ptr Ownership Transfer

#include <iostream>
#include <cstdint>
#include <memory>
using namespace std;

int main() {

    int n; cin >> n;

    unique_ptr<uint8_t[]> buffer1(new uint8_t[n]);

    int temp;

    for(int i=0; i<n; i++){
        cin >> temp;
        buffer1[i] = static_cast<uint8_t>(temp);
    }

    unique_ptr<uint8_t[]> buffer2 = move(buffer1);

    for(int i=0; i<n; i++){
        cout << static_cast<int>(buffer2[i]);
        if(i != n-1) cout << " ";
    }
    cout << endl;

    if (buffer1 == nullptr)
        cout << "No data" << endl;
    else
        cout << "Has data" << endl;

    return 0;
}

Solving Approach

 

 

 

 

Upvote
Downvote
Loading...

Input

4 10 20 30 40

Expected Output

10 20 30 40 No data