English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C ++ empty()函数的作用是:检查集合容器是否为空。如果集合容器为空(size为0),则返回true,否则返回false。
bool empty() const; // 直到 C++ 11 bool empty const noexcept; //从 C++ 11 开始
没有
它返回真如果设定的容器是空的(大小为0),否则返回假。
不变。
没有变化。
容器被访问。
同时访问set的元素是安全的。
此函数永远不会引发异常。
让我们看一个简单的示例,以检查集合是否包含任何元素:
#include <set> #include <iostream> using namespace std; int main() { set<int> numbers; cout << "最初, numbers.empty(): " << numbers.empty() << "\n"; numbers = {100, 200, 300}; cout << "\n Após adicionar elementos, numbers.empty(): " << numbers.empty() << "\n"; }
Saída:
Inicialmente, numbers.empty(): 1 Após adicionar elementos, numbers.empty(): 0
No exemplo acima, o tamanho inicial do set é 0, portanto, a função empty() retorna1(true),retorna 0 (false) após adicionar elementos.
Vamos ver um exemplo simples para verificar se o set está vazio:
#include <iostream> #include <set> using namespace std; int main(void) { set<char> s; if (s.empty()) cout << "O conjunto está vazio." << endl; s = {100}; if (!s.empty()) cout << "O conjunto não está vazio." << endl; return 0; }
Saída:
O conjunto está vazio. O conjunto não está vazio.
No exemplo acima, é usado uma estrutura de condição if. Se o set estiver vazio, retorna 0 (falso) após adicionar elementos; se o set estiver vazio, retorna não vazio (verdadeiro) após adicionar elementos.
Vamos ver um exemplo simples:
#include <iostream> #include <set> using namespace std; int main () { { set<int> myset; myset = {100, 200, 300}; while (!myset.empty()) { cout << *myset.begin() << '\n'; myset.erase(*myset.begin()); } return 0; }
Saída:
100 200 300
No exemplo acima, a função empty() é usada dentro de um loop while para imprimir os elementos do set até que o set não esteja vazio.
Vamos ver um exemplo simples:
#include <iostream> #include <set> #include <string> using namespace std; int main() { typedef set<int> phoneSet; int number; phoneSet phone; if (phone.empty()) cout << "O conjunto está vazio. Por favor, insira conteúdo! \n" << endl; cout << "Digite três conjuntos de números: \n"; for (int i = 0; i <3; i++) { cin >> number; // Obter valor phone.insert(number); //Inserir dados no set } if (!phone.empty()) { cout << "\nLista de números de telefone: \n"; phoneSet::iterator p; for(p = phone.begin(); p!=phone.end(); p++) { cout << (*p << " \n \"; } } return 0; }
Saída:
O conjunto está vazio. Por favor, insira conteúdo! Insira três conjuntos de números: 1111 5555 3333 Lista de números de telefone: 1111 3333 5555
No exemplo acima, o programa primeiro usa três conjuntos de números para interagir e criar um telefone, então verifica se o telefone está vazio. Se o conjunto estiver vazio, exibe uma mensagem, caso contrário, exibe todos os números de telefone disponíveis no conjunto.