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;
    Mode(int level):level(level) {}
    void print() { cout << level;}
    ~Mode() { }
};
alignas(Mode) uint8_t buff[sizeof(Mode)];
int main() {
    int firstLevel, secondLevel;
    cin >> firstLevel >> secondLevel;
    Mode* m = new (buff) Mode(firstLevel);
    m->~Mode();
    // Write your in-place reinitialization logic here
    m = new (buff) Mode(secondLevel);
    m->~Mode();
    m->print();
    return 0;
}

Solving Approach

 

 

 

 

 

 

Upvote
Downvote
Loading...

Input

3 9

Expected Output

9