Construct Sensor Packet Placement

#include <iostream>
#include <cstdint>
#include <new>
#include <type_traits>
using namespace std;

// Write your struct and placement new logic here
struct SensorPacket
{
    int id;
    int value;
};
int main() {
    int index, id, value;
    cin >> index >> id >> value;
    using Storage = std::aligned_storage_t<
        sizeof(SensorPacket),
        alignof(SensorPacket)
    >;

    Storage pool[3];
    SensorPacket* p = new (&pool[index]) SensorPacket{ id, value };

    cout << p->id << " " << p->value;

    // Manual destructor call
    p->~SensorPacket();
    return 0;
}

Solving Approach

 

 

 

 

 

Upvote
Downvote
Loading...

Input

1 50 900

Expected Output

50 900