C++ (Qt)class Base {public: char a0; int b0; std::vector<long> c0;}; class Derived1 : public Base {public: char a1; int b1; std::vector<long> c1;}; class Derived2 : public Base { char a2; int b2; std::vector<long> c2; }; std::vector<Base *> a;
C++ (Qt)uint32 tag = stream.ReadUInt32();uint32 size = stream.ReadUInt32();switch (tag) { case 'DATA': // знаем этот тег ... case 'OBJ1': // и этот ... default: stream.seek(stream.position() + size); // неизвестные (возможно устаревшие) данные - пропускаем}