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 buffer[sizeof(Mode)]; 

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

            Mode* ptr = new(buffer) Mode{firstLevel};
            //ptr->level = firstLevel;
            ptr->~Mode();

            ptr = new(buffer) Mode{secondLevel};
           // ptr->level = secondLevel;
            ptr->~Mode();
            std::cout <<ptr->level;

    return 0;
}

Solving Approach

 

 

 

 

 

 

Upvote
Downvote
Loading...

Input

3 9

Expected Output

9