まず、私は自分の特定の問題をあちこち探してきましたが、答えを見つけることができませんでした。だから、私がしたいのは<<
、私ができるように演算子をオーバーロードすることです:
myObj = new MyObj();
unsigned int v = 2;
myObj << v;
このクラスを使用すると、これでそれが可能になることを覚えておいてください。
class MyObj{
private:
char *data;
int count;
public:
MyObj(){ data = new char[64]; count = 0; }
//This "is" the overloaded << method
template <typename T>
T& operator<<(T val){
*(T*)(data + count) = val;
count += sizeof(T);
}
}
効果はこれと同じである必要があります(データがパブリック属性であると仮定します):
myObj << v;
と同じである必要があります
*(unsigned int*)(myObj.data + myObj.count) = v;
myObj.count += sizeof(v);
それを行う方法について何かアイデアはありますか?I / Oまたはビット演算子をオーバーロードする方法しかありませんが、このようなものは何でもあります。
ありがとうございました!