#include <iostream> #include <cstdint> #include <new> using namespace std; // Mode struct representing a firmware mode/level struct Mode { int level; }; int main() { int firstLevel, secondLevel; cin >> firstLevel >> secondLevel; alignas(Mode) uint8_t buffer[sizeof(Mode)]; Mode* modePtr = new (buffer) Mode{firstLevel}; modePtr->~Mode(); modePtr = new (buffer) Mode{secondLevel}; cout << modePtr->level; modePtr->~Mode(); return 0; }
Test Cases
Test Results
Input
3 9
Expected Output
9