Skip to content
Related Articles

Related Articles

reference_wrapper in C++
  • Last Updated : 03 Dec, 2019
GeeksforGeeks - Summer Carnival Banner

std::reference_wrapper is a class template that wraps a reference in a copy constructible and copy assignable object or reference to function of type T.
Instances of std::reference_wrapper are objects (they can be copied or stored in containers) but they are implicitly convertible to ‘T&’ so that they can be used as arguments with the functions that take the underlying type by reference.

Syntax:

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

Example:




// 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;
}

Output:

geeks
Want to learn from the best curated videos and practice problems, check out the C++ Foundation Course for Basic to Advanced C++ and C++ STL Course for foundation plus STL.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.
My Personal Notes arrow_drop_up
Recommended Articles
Page :