3
私は読み取りと書き込みの構造体をボイドポインターに変換するよりも、その後、次のように関数にサイズを渡すために、よりエレガントな方法を見つけようとしています:暗黙の型変換:ないクラスのメンバや構造体
void write(void* value, size_t length); //Write is some random write function
Type var;
write((void*)var,sizeof(Type));
だから私は、次のような構造体への暗黙的に任意の型を変換するメソッドを作成しようとしていた。
struct VoidPtrReplacement{
uint8_t* bytes;
size_t size;
};
そして私は(私が暗黙のうちに他からこの型に変換する方法を見つけることができ提供できタイプ)は、次のような素敵な読み書き関数を作成します:
void write(VoidPtrReplacement* value);
Type var;
write(var);
残念ながら、私は他のタイプからこの型に変換するには見つけることができる唯一の方法は、VoidPtrReplacementテンプレート構造体にするだろう。私はこの構造体を使用して作成する書き込み関数もテンプレート化する必要があるため、これは嫌です。
私の質問は:構造体やクラスの一部ではない暗黙の変換関数を作成できますか(これを行うより良い方法があれば)?
申し訳ありませんが、私はあなたがコンストラクタをテンプレートができることを認識していなかった....それはかなり便利です!ありがとう – DarthRubik