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



C++ 的std::tuple::operator=() 函式用於將一個元組的值賦給另一個相同型別的元組。它允許高效地複製元組內容,確保每個元素都分配到目標元組中的對應元素。

透過使用此函式,我們可以輕鬆地管理和操作元組。

語法

以下是 std::tuple::operator=() 函式的語法。

tuple& operator= (const tuple& tpl);tuple& operator= (tuple&& tpl) noexcept;

引數

  • tpl - 它表示另一個具有相同數量元素的元組物件

返回值

此函式不返回任何值。

示例

讓我們看下面的示例,我們將把一個元組的內容賦值給另一個元組。

#include <iostream>
#include <tuple>
int main() {
    std::tuple<std::string, double> x("Welcome", 0.01);
    std::tuple<std::string, double> y;
    y = x; 
    std::cout << std::get<0>(y) << " " << std::get<1>(y) << " " <<std::endl;
    return 0;
}

輸出

讓我們編譯並執行以上程式,這將產生以下結果:

Welcome 0.01 

示例

考慮另一種情況,我們將把一個元組的內容賦值給另一個數據型別不同的元組。

#include <iostream>
#include <tuple>
int main() {
    std::tuple<int, std::string> x(1, "TutorialsPoint");
    std::tuple<double, const char*> y;
    std::get<0>(y) = static_cast<double>(std::get<0>(x));
    std::get<1>(y) = std::get<1>(x).c_str(); 
    std::cout << std::get<0>(y) << " " << std::get<1>(y) << std::endl;
    return 0;
}

輸出

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

1 TutorialsPoint

示例

在下面的示例中,我們將使用 operator=() 函式將元組賦值給自己,並觀察輸出。

#include <iostream>
#include <tuple>
int main()
{
    std::tuple<std::string, double> x("TP", 1.12);
    x = x;
    std::cout << std::get<0>(x) << " " << std::get<1>(x) << " " << std::endl;
    return 0;
}

輸出

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

TP 1.12

示例

以下是一個示例,我們將使用 operator=() 函式以及 tie。

#include <iostream>
#include <tuple>
int main()
{
    int x, y, z;
    std::tuple<int, double, char> a(12, 0.01, 'c');
    std::tie(x, y, z) = a;
    std::cout << "x: " << x << ", y: " << y << ", z: " << z << std::endl;
    return 0;
}

輸出

以上程式碼的輸出如下:

x: 12, y: 0, z: 99
廣告

© . All rights reserved.