0

ブースト インタープロセス ライブラリのサンプルを見ると、オブジェクトは常に文字列名で構成されています。

segment.construct<Equipments>("name")("param1", "param2");

のような整数識別子でオブジェクトを構築することは可能ですか?

segment.construct<Equipments>(123)("param1", "param2");
4

1 に答える 1

1

なぜこれをしたいのですか?いずれにせよ、「少し」汚れた方法でそれを行うことができます。

segment.construct<Equipments>((char*)123)("param1", "param2");

プラットフォーム (Win32/Win64) で sizeof(char*) >= sizeof(int) である限り、ポインターは情報を失うことなく整数に安全にキャストできます。ポインター値を有効なポインターとして使用しないように注意してくださいchar*

ああ、基礎となるライブラリ コードが値を有効な char ポインタとして使用しようとしないことを確認する必要があります。

于 2010-11-03T10:02:12.890 に答える