referencia_envoltura en C++

std::reference_wrapper es una plantilla de clase que envuelve una referencia en un objeto copia construible y copia asignable o una referencia a una función de tipo T.
Las instancias de std::reference_wrapper son objetos (se pueden copiar o almacenar en contenedores) pero son implícitamente convertibles a ‘T&’ para que puedan usarse como argumentos con las funciones que toman el tipo subyacente por referencia.

Sintaxis:

template <class T> class reference_wrapper;
template parameter(T): type of the referred element and
                        this can be  either function or object.

Ejemplo:

// C++ program to demonstrate the
// use of std::reference_wrapper
#include <iostream>    
#include <functional> 
using namespace std;
  
int main () 
{
    char a = 'g', b = 'e', c  = 'e', d = 'k', e = 's';
      
    // creating an array of character "references":
    reference_wrapper<char> ref[] = {a, b, c, d, e};
      
    for (char& s : ref)
          cout << s;
      
    return 0;
}

Producción:

geeks

Publicación traducida automáticamente

Artículo escrito por rajasethupathi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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