cpp06/ex01/Main.cpp

39 lines
811 B
C++

#include "Serializer.hpp"
#include "Data.hpp"
int main()
{
Data data;
Data* ptr;
uintptr_t raw;
Data* result;
// Initialiser Data
data.value = 42;
ptr = &data;
std::cout << "Original pointer: " << ptr << std::endl;
std::cout << "Value: " << ptr->value << std::endl;
std::cout << std::endl;
// Serialize
raw = Serializer::serialize(ptr);
std::cout << "Serialized: " << raw << std::endl;
std::cout << std::endl;
// Deserialize
result = Serializer::deserialize(raw);
std::cout << "Deserialized pointer: " << result << std::endl;
std::cout << "Value: " << result->value << std::endl;
std::cout << std::endl;
// Verification
if (ptr == result)
std::cout << "✓ Success: pointers are equal" << std::endl;
else
std::cout << "✗ Error: pointers differ" << std::endl;
return 0;
}