| title |
remove_reference Class | Microsoft Docs |
| ms.custom |
|
| ms.date |
11/04/2016 |
| ms.reviewer |
|
| ms.suite |
|
| ms.technology |
|
| ms.tgt_pltfrm |
|
| ms.topic |
article |
| f1_keywords |
type_traits/std::remove_reference |
|
| dev_langs |
|
| helpviewer_keywords |
remove_reference class |
remove_reference |
|
| ms.assetid |
294e1965-3ae3-46ee-bc42-4fdf60c24717 |
| caps.latest.revision |
20 |
| author |
corob-msft |
| ms.author |
corob |
| manager |
ghogen |
| ms.workload |
|
Makes non reference type from type.
template <class T>
struct remove_reference;
template <class T>
using remove_reference_t = typename remove_reference<T>::type;
T
The type to modify.
Remarks
An instance of remove_reference<T> holds a modified-type that is T1 when T is of the form T1&, otherwise T.
#include <type_traits>
#include <iostream>
int main()
{
int *p = (std::remove_reference_t<int&> *)0;
p = p; // to quiet "unused" warning
std::cout << "remove_reference_t<int&> == "
<< typeid(*p).name() << std::endl;
return (0);
}
remove_reference_t<int&> == int
Header: <type_traits>
Namespace: std
<type_traits>
add_lvalue_reference Class