0

応用 C++ に関する本を読んでいます

データのバイナリ ストリームを収集して操作するには、バイナリ文字列クラスが必要です。これらのデータ ストリームは、画像データからオブジェクトの内容まで、あらゆるものを表すことができます。ここで著者は、それがオブジェクトストリーミングまたはオブジェクト永続化のようなものであるとも述べました。

オブジェクト ストリームとは、作成者の意味です。バイナリ文字列クラスを作成する方法の簡単な例を教えてください。

お時間をいただきありがとうございます。

4

2 に答える 2

0

オブジェクト ストリームとは、作成者の意味です。

それらは、受信コードが同等の値を持つオブジェクトを構築できるように、プログラムの一部からオブジェクトの値をエンコードする出力を送信することを意味します。これは永続性によく似ています (たとえば、後でロードできるようにオブジェクトをディスクに保存するなど)、データは必ずしも永続的な場所に置かれるわけではありませんが (そのため、電源がオフになると失われる可能性があります)、別の場所に到達します。すぐにリロード ステップを効果的に実行するコード。

たとえば、本番レベルのエラー チェックがない場合は、次のようになります。

struct X { int a; int b; };

std::ostream& operator<<(std::ostream& os, const X& x)
    { return os << x.a << ' ' << x.b; }

std::istream& operator>>(std::istream& is, X& x)
    { return is >> x.a >> x.b; }

X x1 = ...;
std::istringstream iss;
iss << x1;
X x2;
if (iss >> x)
    assert(x2 == x1);

バイナリ文字列クラスを作成する方法の簡単な例を教えてください。

する必要はありません...標準にはstd::string、バイナリデータを処理できる が含まれています。

于 2013-07-23T14:14:29.560 に答える