簡體   English   中英

具有重疊范圍的 std::unique_copy

[英]std::unique_copy with overlapping ranges

template< class InputIt, class OutputIt >
OutputIt unique_copy( InputIt first, InputIt last,
                      OutputIt d_first );

如果輸入范圍和 output 范圍重疊,使用std::unique_copy是否有效? 考慮以下兩個示例案例

auto d_last = std::unique_copy(first, last, d_first);

  1. d_first <= first <= d_last <= last
  2. first <= d_first <= last <= d_last

[algorithms#alg.unique-8]中描述了std::unique_copy的先決條件:

 template<class InputIterator, class OutputIterator> constexpr OutputIterator unique_copy(InputIterator first, InputIterator last, OutputIterator result);

先決條件

  • 范圍[first, last)[result, result+(last-first))不重疊。

所以這是未定義的行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM