- 締切済み
vector<int> に Serialize を使いたい!!
VC++ の MFI で SDI をやっています。 Doc クラスにある整数のメンバ変数 CArray<int, int> nums を Serialize を使って読込・保存するには void Cなんかの名前Doc::Serialize(CArchive& ar) { if (ar.IsStoring()) { // TODO: 格納するコードをここに追加してください。 nums.Serialize(ar); } else { // TODO: 読み込むコードをここに追加してください。 nums.Serialize(ar); } } とすることができます。 ここで質問です。 もし Doc クラスにある整数のメンバ変数 vector<int> nums についても Serialize を使って同様に読込・保存するには どのように記述したら良いのでしょうか。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- jacta
- ベストアンサー率26% (845/3158)
CArchive& operator<<(CArchive&, const vector<int>&); および CArchive& operator>>(CArchive&, vector<int>&); を多重定義するということでどうでしょうか? より一般的には、 template <class T, class Allocator> CArchive& operator<<(CArchive&, const vector<T, Allocator>&); template <class T, class Allocator> CArchive& operator>>(CArchive&, vector<T, Allocator>&); でしょうね。
お礼
ありがとうございました! 初心者の自分には多重定義は難しそうなので、 もう少し成長してからトライしてみます!!