書きこみ専用インターフェースの作り方

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
dom

書きこみ専用インターフェースの作り方

#1

投稿記事 by dom » 7年前

書きこみ専用領域のラッパークラスとしてWriteOnlyArrayを作りたいと考えています。
使用法として例えば以下のように考えています。

コード:

template <class T>
class WriteOnlyArray {};

class Point {
    double x, y;
};

WriteOnlyArray<Point> array; // 適当に初期化済み
Point p;
double d;

// 以下のようなコードを書けるようにしたい
//(1)
array[idx] = p;  // OK
p = array[idx];  // コンパイルエラー

// (2)
array[idx].x = d;  // OK
d = array[idx].x;  // コンパイルエラー
上記の(1)の場合は大丈夫なのですが、(2)の場合の実装案が思い浮かびません。
正直無理な気がしているのですが何かあればと思い質問させていただきました。

YuO
記事: 941
登録日時: 9年前
住所: 東京都世田谷区

Re: 書きこみ専用インターフェースの作り方

#2

投稿記事 by YuO » 7年前

(1) は WriteOnlyArray クラステンプレートに関する話ですが,
(2) は Point クラスに関する話です。

(2) を実装するのは Point クラス側の責務になります。

閉鎖

“C言語何でも質問掲示板” へ戻る