English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ Uso e exemplo de set cend()

C++ STL Set (Conjunto)

C ++ set cend()A função é usada para retornar um iterador constante, que está ao lado do último elemento do conjunto.

Atenção:-Este é um marcador de posição. Este local não tem elementos, e o acesso tentado é um comportamento não definido.

Sintaxe

const_iterator cend() const noexcept;  //de C++ 11Começa com

umConstanteé um iterador que aponta para o conteúdo constante.

Parâmetro

Nenhum

Retorno

Ele retorna um iterador constante, que aponta para o último elemento do conjunto.

Complexo

Invariável.

Validade do iterador

Sem mudanças.

Concorrência de dados

O contêiner é acessado.

Acesso simultâneo aos elementos do conjunto é seguro.

Segurança de exceção

Esta função membro nunca lança exceções.

Exemplo1

Vamos ver um exemplo simples da função cend():

#include <iostream>
#include <set>
int main ()
{
  std::set<int> myset = {60,20,40,50,10,30};
  std::cout << "myset contém:";
  for (auto it = myset.cbegin(); it != myset.cend(); ++it)
    std::cout << ' ' << *it;
  std::cout << '\n';
  return 0;
}

Saída:

myset contém: 10 20 30 40 50 60

No exemplo acima, a função cend() é usada para retornar um iterador que aponta para o elemento seguinte ao último do conjunto myset.

Exemplo2

Vamos ver um exemplo simples de como encontrar um elemento em um conjunto:

#include <iostream>
#include <string>
#include <set>
using namespace std;
int main ()
{
    int val;
    set<int> c = {10,20,30,40,50};
 
    cout << "Insira o valor para procurar: ";
    cin >> val;
    auto result = c.find(val);  
    
    //procurar até o final do elemento do conjunto
    if (result != c.cend()) {  
        cout << "Encontrado elemento: " << *result; 
        cout << endl;  
    }  
        cout << "Elemento não encontrado." << endl;  
    }  
    
  return 0;
}

Saída:

Insira o valor para procurar: 10
Encontrar elemento: 10

Exemplo3

Vamos ver um exemplo simples de como percorrer um conjunto usando um loop while:

#include <iostream>
#include <set>
#include <string>
int main()
{
    using namespace std;
 
    set<string> myset = {"Orange", "Banana", "Apple"};
    set<string>::const_iterator it; // declara um iterador
    
    it = myset.cbegin(); // atribua-o ao início da coleção
    
    while (it != myset.cend())
    {
        cout << *it << endl; 
        // imprime o valor do elemento que ele aponta
        ++it; // e itera para o próximo elemento
    }
    cout << endl;
}

Saída:

Apple
Banana
Orange

No exemplo acima, a função cend() é usada para retornar um iterador que aponta para o elemento seguinte ao último do conjunto myset.

Exemplo4

Vamos ver um exemplo simples:

#include <iostream>
#include <set>
#include <algorithm>
using namespace std;
int main()
{
  set<int> c = {3, 1, 2});
  for_each(c.cbegin(), c.cend(), [](const int& x) {
    cout << x << endl;
  });
  
  return 0;
}

Saída:

1
2
3

No exemplo acima, a função cend() é usada para retornar um iterador que aponta para o elemento seguinte ao último do conjunto myset.

C++ STL Set (Conjunto)