Reinitialize Object In-Place

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

using namespace std;

// Write your struct and placement new logic here
typedef struct {
    int level;
} Mode;
int main() {
    int firstLevel, secondLevel;
    cin >> firstLevel >> secondLevel;

    // Write your in-place reinitialization logic here
    alignas(Mode) static uint8_t buffer[sizeof(Mode)];

    Mode* fmode = new (buffer) Mode;
    fmode->level = firstLevel;
    fmode->~Mode();

    Mode* smode = new (buffer) Mode;
    smode->level = secondLevel;
    cout << smode->level;
    smode->~Mode();
    return 0;
}

Solving Approach

 

 

 

 

 

 

Upvote
Downvote
Loading...

Input

3 9

Expected Output

9