溫馨提示×

c++ set遍歷 怎么處理空值

c++
小樊
94
2024-11-26 02:58:03
欄目: 編程語言

在C++中,std::set是一個關聯容器,它包含一組唯一的元素。默認情況下,std::set中的元素是自動排序的,而且不允許有重復的元素。

如果你想在遍歷std::set時處理空值,你需要使用一個可以存儲空值的容器,例如std::set<std::optional<T>>,其中T是你想在std::set中存儲的值類型。std::optional是一個可以表示“值存在”或“值不存在”的類型。

下面是一個使用std::set<std::optional<int>>的示例:

#include <iostream>
#include <set>
#include <optional>

int main() {
    std::set<std::optional<int>> my_set = {1, 2, std::nullopt, 4};

    for (const auto& element : my_set) {
        if (element.has_value()) {
            std::cout << "Value: " << element.value() << std::endl;
        } else {
            std::cout << "Empty value" << std::endl;
        }
    }

    return 0;
}

在這個示例中,我們創建了一個名為my_setstd::set,其中包含一些整數值和一個空值。然后,我們使用范圍for循環遍歷my_set,并使用has_value()方法檢查每個元素是否有值。如果有值,我們打印該值;否則,我們打印“Empty value”。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女