La plantilla std::remove_volatile de C++ STL está presente en el archivo de encabezado <type_traits>. La plantilla std::remove_volatile de C++ STL se usa para obtener la T sin calificación volátil. Devuelve el valor booleano verdadero si T no tiene calificación volátil, de lo contrario devuelve falso. A continuación se muestra la sintaxis para el mismo:
Archivo de cabecera:
#include<type_traits>
Clase de plantilla:
template <class <T> struct remove_volatile;
Sintaxis:
std::remove_volatile::value
Parámetro: La plantilla std::rmeove_volatile acepta un solo parámetro T (clase de rasgo) para verificar si T no tiene calificación volátil o no.
Valor devuelto: La plantilla std::remove_volatile devuelve un valor booleano:
- Verdadero: si el tipo T no tiene calificación volátil.
- Falso: si el tipo T es volátil calificado.
A continuación se muestra el programa para demostrar std::remove_volatile en C++ :
Programa 1:
// C++ program to illustrate // std::remove_volatile #include <bits/stdc++.h> #include <type_traits> using namespace std; // Driver Code int main() { // Declare variable of type // volatile (int, const int, const int*, // int * const and const int&) typedef remove_volatile<int>::type A; typedef remove_volatile<volatile int>::type B; typedef remove_volatile<int* volatile>::type C; typedef remove_volatile<volatile int*>::type D; typedef remove_volatile<volatile int&>::type E; cout << boolalpha; // Checking the non-volatileness // of the above declared variable cout << "checking Non-volatileness:" << endl; cout << "A: " << is_volatile<A>::value << endl; cout << "B: " << is_volatile<B>::value << endl; cout << "C: " << is_volatile<C>::value << endl; cout << "D: " << is_volatile<D>::value << endl; cout << "E: " << is_volatile<E>::value << endl; return 0; }
checking Non-volatileness: A: false B: false C: false D: false E: false
Programa 2:
// C++ program to illustrate // std::remove_volatile #include <bits/stdc++.h> #include <type_traits> using namespace std; // Driver Code int main() { // Declare variable of type // volatile (int, const int, const int*, // int * const and const int&) typedef add_volatile<int>::type A; typedef add_volatile<volatile int>::type B; typedef remove_cv<float>::type a; typedef remove_cv<char* const>::type b; typedef remove_cv<const char*>::type c; cout << boolalpha; // Checking the non-volatileness // of the above declared variable cout << "checking Non-volatileness:" << endl; cout << "A: " << is_volatile<A>::value << endl; cout << "B: " << is_volatile<B>::value << endl; cout << "C: " << is_volatile<a>::value << endl; cout << "D: " << is_volatile<b>::value << endl; cout << "E: " << is_volatile<c>::value << endl; return 0; }
checking Non-volatileness: A: true B: true C: false D: false E: false
Referencia: http://www.cplusplus.com/reference/type_traits/remove_volatile/
Publicación traducida automáticamente
Artículo escrito por bansal_rtk_ y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA