#include <iostream> #include <cstdint> #include <new> #include <type_traits> using namespace std; // Write your struct and placement new logic here struct SensorPacket { int id,value; }; int main() { int index, id, value; cin >> index >> id >> value; // Write your pool construction code here alignas(SensorPacket) uint8_t buffer[sizeof(SensorPacket) * 3]; SensorPacket *obj[3]; for(int i=0;i<3;i++) { obj[i] = new (buffer + i*sizeof(SensorPacket))SensorPacket{id,value}; } cout << obj[index]->id<<" "<<obj[index]->value; for(int i=0;i<3;i++) { obj[i]->~SensorPacket(); } return 0; }
Test Cases
Test Results
Input
1 50 900
Expected Output
50 900