「C++/Guidelines/変更を可能にしたい場合のみconstを外す/Code」の編集履歴(バックアップ)一覧はこちら

C++/Guidelines/変更を可能にしたい場合のみconstを外す/Code」(2010/03/01 (月) 23:39:21) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

//cpp/linenumber const char * const massage = "hello."; void print(const Foo * const foo) { } void print(const Foo& foo) { } const std::vector<int>::const_iterator it = vec.begin(); class int_array { public : // ... const std::size_t& size() const { return data_.size(); } // constなオブジェクトのための[]演算子 const int& operator[] (const std::size_t pos) const { return data_[pos]; } // 非constなオブジェクトのための[]演算子 int& operator[] (const std::size_t pos) { return const_cast<int&>( static_cast<const int_array&>(*this)[pos] ); } private : std::vector<int> data_; };
//cpp/linenumber const char * const massage = "hello."; void print(const Foo * const foo) { } void print(const Foo& foo) { } const std::vector<int>::const_iterator it = vec.begin(); class int_array { public : // ... const std::size_t& size() const { return data_.size(); } // constなオブジェクトのための[]演算子 const int& operator[] (const std::size_t pos) const { return data_[pos]; } // 非constなオブジェクトのための[]演算子 int& operator[] (const std::size_t pos) { return const_cast<int&>( // []の戻り値からconstをキャストで外す static_cast<const int_array&>(*this)[pos] // constを*thisに付けてconstな[]を呼び出す ); } private : std::vector<int> data_; };

表示オプション

横に並べて表示:
変化行の前後のみ表示: