C++ Deque::operator=() 函式



C++ 的 std::deque::operator=() 函式用於將一個 deque 的內容賦值給另一個 deque。它用源 deque 的內容替換目標 deque 的內容。此函式有 3 個多型變體:使用複製版本、移動版本和初始化列表版本(您可以在下面找到所有變體的語法)。

operator= 可以正確處理自我賦值,這意味著 x = x 不會導致問題。

語法

以下是 std::deque::operator=() 的語法。

deque& operator= (const deque& x);
or	
deque& operator= (deque&& x);
or
deque& operator= (initializer_list<value_type> il);

引數

  • x - 表示相同型別的 deque 物件。
  • il - 表示一個初始化列表物件。

返回值

它返回 this 指標

異常

此函式從不丟擲異常。

時間複雜度

此函式的時間複雜度為線性,即 O(n)

示例

讓我們看下面的示例,我們將把一個 deque 賦值給另一個 deque。

#include <iostream>
#include <deque>
int main()
{
    std::deque<char> x = {'A', 'B', 'C', 'D'};
    std::deque<char> y;
    y = x;
    std::cout << "y contains: ";
    for (char elem : y) {
        std::cout << elem << " ";
    }
    return 0;
}

輸出

以上程式碼的輸出如下:

y contains: A B C D

示例

考慮以下示例,我們將執行自我賦值。

#include <iostream>
#include <deque>
int main()
{
    std::deque<int> x = {11, 22, 3, 4};
    x = x;
    std::cout << "x contains: ";
    for (int elem : x) {
        std::cout << elem << " ";
    }
    return 0;
}

輸出

以下是以上程式碼的輸出:

x contains: 11 22 3 4

示例

在以下示例中,我們將把較小的 deque 賦值給較大的 deque 並觀察輸出。

#include <iostream>
#include <deque>
int main()
{
    std::deque<char> x = {'A', 'B', 'C'};
    std::deque<char> y = {'D', 'E', 'F', 'G', 'H'};
    y = x;
    std::cout << "y contains: ";
    for (char elem : y) {
        std::cout << elem << " ";
    }
    return 0;
}

輸出

如果我們執行以上程式碼,它將生成以下輸出:

y contains: A B C 
deque.htm
廣告