トップページ > プログラム > 2015年07月02日 > AiijB2ck

書き込み順位&時間帯一覧

12 位/196 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000000033



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
C++相談室 part117 [転載禁止]©2ch.net
ふらっと C#,C♯,C#(初心者用) Part115©2ch.net

書き込みレス一覧

C++相談室 part117 [転載禁止]©2ch.net
948 :デフォルトの名無しさん[sage]:2015/07/02(木) 23:22:54.12 ID:AiijB2ck
>>946
規格票読んでよ

ISO/IEC14882:2003
§25.1 Non-modifying sequence operations
§25.1.1 For each

ISO/IEC14882:2011
§25.2 Non-modifying sequence operations
25.2.4 For each

どちらも変更しないアルゴリズムに分類されている
変更できるのは規格では保証されてない
でも変更しても未定義の動作とは書いてないので
変更出来るかもしれないし、出来ないかも知れないと取るべき
C++相談室 part117 [転載禁止]©2ch.net
950 :デフォルトの名無しさん[sage]:2015/07/02(木) 23:27:41.27 ID:AiijB2ck
ちなみにgccの該当するヘッダを見てみると

template<typename _InputIterator, typename _Function>

_Function for_each(_InputIterator __first, _InputIterator __last, _Function __f) {

// concept requirements __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>) __glibcxx_requires_valid_range(__first, __last);

for (; __first != __last; ++__first) __f(*__first); return _GLIBCXX_MOVE(__f);

}

としか書かれてないから要素のコピーではなく要素そのものをデリファレンスしてるよね
処理系によるとしか言えない
ふらっと C#,C♯,C#(初心者用) Part115©2ch.net
918 :デフォルトの名無しさん[sage]:2015/07/02(木) 23:39:26.50 ID:AiijB2ck
変わらないんじゃないの?実測するしかないけど
abstructとvirtualの違いだよね?abstructは全てvirtualであるためなのか
virtualを付けるとコンパイルエラーになる

それからインターフェースのBaseを呼び出す事が出来ない

インターフェースは多重継承みたいな事をしたい時に使ってるけど


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。