Diferentes formas de elementos de acceso a partir de un vector en STL C ++

Aquí, vamos a aprender cómo elementos de acceso a partir de un vector mediante el uso de diferentes métodos de STL C ++?

Diferentes formas de elementos de acceso a partir de un vector

1) Utilizando [] operador

Sintaxis:

    vector_name[index]

Parámetro:. índice – es la posición en el vector (0 indexación basada)

class Valor: El elemento en ese índice dado.

Ejemplo:

    vector<int> a;
a.push_back(1);
a.push_back(2);
a.push_back(3);
int p=a[0]; //p=1
int q=a[1]; //q=2

un [n] class cualquier n de índice envolvieron refleja comportamiento no definido (depende del compilador).

2) Usando la función .at (índice)

Sintaxis:

    vector_name.at(pos_n)

Parámetro: índice de elemento deseado

Return valor: Devuelve el elemento referenciado presente en el índice de entrada.

Se devuelve una referencia al elemento y esta función automáticamente comprueba si n es dentro del intervalo o no. En class de excepción que plantea error fuera de índice.

Esa es la diferencia entre .at () y [] operador no guarda ninguna for la salida de los límites de índice.

Ejemplo:

    //On same vector a
int p=a.at(0); //p=1
int q=a.at(1); //q=2
a.at(4) //compilation error

3) frontal () Función

Sintaxis:

    vector_name.front()

Parámetro: Ninguno

class valor: Return la referencia de primer elemento de el vector.

Ejemplo:

    //On same vector a
int p=a.front() //p=1

Nota: llama a esta función en un vector vacío muestra un comportamiento indefinido.

4) de vuelta () función

Sintaxis:

    vector_name.back()

Parámetro: Ninguno

case: Referencia de último elemento.

Ejemplo:

    //On same vector a
int q=a.back() //q=3

Nota: llama a esta función en un vector vacío muestra un comportamiento indefinido.

C ++ código para demostrar ejemplo de las funciones que elementos de acceso vector

// C++ program to show 
// how to access elements in vector in C++ STL>
#include <vector>
#include <iostream>
using namespace std;
int main( )
{
// declaring vector n
vector<int>n{1,2,3,4,5,6,7,8,9,0};

cout <<"Output of operator[]: n";
for(int i=0; i<n.size(); i++)
cout<<n[i]<<" ";

cout << "nnOutput of at(): n";
for(int i=0; i<n.size(); i++)
{
n.at(i)=i;
cout<<n.at(i)<<" ";
}
cout << "nnOutput of change vector because of at(): n";
for(int i=0; i<n.size(); i++)
cout<<n[i]<<" ";

cout << "nnOutput of front(): n";
cout<<n.front();

cout << "nnOutput of back(): n";
cout<<n.back();
return 0;
}

salida

Output of operator[]:
1 2 3 4 5 6 7 8 9 0
Output of at():
0 1 2 3 4 5 6 7 8 9
Output of change vector because of at():
0 1 2 3 4 5 6 7 8 9
Output of front():
0
Output of back():
9


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *