04/01/16 18:07
まだ勉強中なんでツッコミ歓迎。
C++のtemplateとかoperatorって>>73,76みたいな
「きちんと面倒見るためにはそこまでしなきゃ(考えなきゃ)いけないのかよ」
ていうのが実務上嫌いなんだが、反面そこが趣味的には面白かったりする。
やっぱり簡単な使い方以外のC++はヲタク用言語という感じがぬぐえない。
で、ちょっと質問。
ランダムアクセス可能なiteratorで出力を加工することは可能かどうか。
template< class T > my_iterator {
private: T * current;
public: T & operator*(){ return *current; }
};
関係の無いところを端折ると上のように書いているんだが、例えば
public: T & operator*(){ return 1 + *current; }
は戻り値がT&だから出来ない。かといって戻り値をTにすると代入が出来ない気がする。