先日の話ですが、「戦国無双Wave」がAmazonで予約可能になりました。
やっとですか。しかも、内容的にはどうなんでしょう。微妙な気が・・・。
で、オーペレータ。簡単な話ですが、(友人に)聞かれたので答えておきます。(ここのアドレス教えてないけど。)
template< typename T >
class Hoge {
private:
std::vector< std::vector< T > > internal;
public:
std::vector< T > operator[](size_t index) {
return this->internal[index];
}
};
悲しいですね。上記の場合、returnで帰ってくるのはinternal[index]をコピーした新しいインスタンス(std::vector< T >型の)なので、思ったとおりの動作はしません。参照を返しましょう。
std::vector< T >& operator[](size_t index) {
return this->internal[index];
}
・・・なんか、すごいくだらないな。。基本過ぎる。
仕方がないので、上記のようなものとして↓をあげときます。
template< typename T >
class Hoge : public std::vector< std::vector< T > > {};
これで十分動く。
以上