簡體   English   中英

如何使用 c++ 中的循環初始化集合?

[英]How can i initialize a set using loop in c++?

我需要知道可以使用循環初始化一個集合以及如何初始化?
我應該在這段代碼中做什么?

#include <iostream>
#include <set>
using namespace std;
int main()
{
  set <char>s;
  for (auto it = s.begin(); it != s.end();it++){
      cin >>*it;
  }
  return 0;
}

我將假設您想要遍歷所有用戶輸入。 請注意,我展示的最簡單的方法將忽略空格。

#include <iostream>
#include <set>
int main()
{
    std::set<char> s;
    char c; // input from user
    while (std::cin >> c) { // read until end of input
        s.insert(c);
    }

    // do something with s, I guess?
}

這: std:cin >> c將在用戶完成輸入時失敗,這將終止循環。 我再重復一遍: std::cin >>跳過空格 如果您還想讀取用戶輸入的任何空白字符,我也可以展示一種方法。

迭代器只允許您訪問已經在std::set (或其他容器)中的項目,並且在std::set的情況下,一旦它們在那里,您就不能分配給它們。

另請注意using namespace std; 被廣泛認為是不好的做法

暫無
暫無

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

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