【C++】STL(Standard Template Library)相談室 6at TECH
【C++】STL(Standard Template Library)相談室 6 - 暇つぶし2ch109:デフォルトの名無しさん
06/10/26 00:23:52
>>104
> コンテナが空の場合のチェックは引用してないとこでやってるの?

たぶんそう。漏れの手元にあるのはgcc-3.4.6付属版だけど、全文はこう。
gcc-4.1.1も同じだった。

template<typename _RandomAccessIterator>
 inline void
 random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last)
 {
  // concept requirements
  __glibcxx_function_requires(_Mutable_RandomAccessIteratorConcept<
     _RandomAccessIterator>)
  __glibcxx_requires_valid_range(__first, __last);

  if (__first != __last)
   for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
    std::iter_swap(__i, __first + (std::rand() % ((__i - __first) + 1)));
 }

やっぱ rand() % X がなー。質にも値の範囲にも問題あるんじゃ?
気になるなら random_shuffle(first, last, op) 使えって感じか。
あと、inlineついてるのね。



次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch