Reinitialize Object In-Place

#include <iostream>
#include <cstdint>
#include <new>

using namespace std;

// Write your struct and placement new logic here
struct Mode{
    int level;
};

alignas(Mode) uint8_t mem_buff[sizeof(Mode)];

int main() {
    int firstLevel, secondLevel;
    cin >> firstLevel >> secondLevel;

    // Write your in-place reinitialization logic here
    Mode* mp = new (mem_buff) Mode;
    mp->level = firstLevel;

    mp->~Mode();

    mp = new (mem_buff) Mode();
    mp->level = secondLevel;

    cout<<mp->level;

    mp->~Mode();

    return 0;
}

Solving Approach

 

 

 

 

 

 

Upvote
Downvote
Loading...

Input

3 9

Expected Output

9