#include <iostream> #include <cstdint> #include <new> #include <type_traits> using namespace std; struct SensorPacket{ int id; int value; }; int main() { int index, id, value; cin >> index >> id >> value; alignas(SensorPacket) uint8_t pool[sizeof(SensorPacket) * 3]; size_t next_address = index * sizeof(SensorPacket); SensorPacket* pointer_pool = new (&(pool[next_address])) SensorPacket{id, value}; cout << pointer_pool->id << ' ' << pointer_pool->value; pointer_pool->~SensorPacket(); return 0; }
Test Cases
Test Results
Input
1 50 900
Expected Output
50 900