溫馨提示×

c++ contains和find的區別

c++
小樊
390
2024-07-16 00:06:58
欄目: 編程語言

C++ 中的 findcontains 都是用來查找容器中是否包含指定元素的方法,但它們的用法和功能略有不同。

  1. find 方法:
  • find 方法用于在容器中查找指定元素,如果找到則返回指向該元素的迭代器,如果找不到則返回指向容器末尾的迭代器。
  • find 方法適用于大多數標準庫容器,如 std::vector, std::set, std::map 等。
  • 用法示例:
    std::vector<int> vec = {1, 2, 3, 4, 5};
    auto it = std::find(vec.begin(), vec.end(), 3);
    if (it != vec.end()) {
        std::cout << "Element found at index: " << std::distance(vec.begin(), it) << std::endl;
    } else {
        std::cout << "Element not found" << std::endl;
    }
    
  1. contains 方法:
  • contains 方法是 C++20 中引入的新方法,用于檢查容器是否包含指定元素,返回一個 bool 值表示是否找到了該元素。
  • contains 方法適用于支持 C++20 標準的容器,如 std::vector, std::set, std::map 等。
  • 用法示例:
    std::vector<int> vec = {1, 2, 3, 4, 5};
    if (std::ranges::contains(vec, 3)) {
        std::cout << "Element found" << std::endl;
    } else {
        std::cout << "Element not found" << std::endl;
    }
    

總之,find 方法返回一個迭代器,contains 方法返回一個布爾值。在使用時應根據具體的需求選擇合適的方法。

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