Nombres
identifier
qualified-name
operator-function-name
conversion-function-name
~ class-name
template-identifier
template name
qualified-class-name :: template name
Comentarios
Cualquier identificador se ha declarado que es un nombre.Un nombre completo es un nombre compuesto con el operador de resolución de ámbito.Vea los nombres calificados.
un operador-función-nombre es un nombre que se declara en el formulario
*operador-nombre ***(***argument1 * [ ,argument2]);deoperador
Vea operadores sobrecargados para obtener más información sobre la declaración de operador-función-nombre.
un conversión-función-nombre es un nombre que se declara en el formulario
*nombre de tipo ***()**deoperator
[!NOTA]
Puede proporcionar un nombre de tipo derivado como char * en lugar del nombre de tipo al declarar una función de conversión.
Conversiones de fuente de las funciones de conversión a o desde tipos definidos por el usuario.Para obtener más información sobre conversiones proporcionadas por el usuario, vea funciones de conversión.
un nombre declarado comonombre de clase de~se toma como “destructor” para los objetos de un tipo de clase.Los destructores realizan normalmente operaciones de limpieza al final de la duración de un objeto.Para obtener información sobre los destructores, vea destructores.
También hay varios formularios de nombres utilizados para tipos de plantilla y la plantilla funciona.
Los identificadores de plantilla incluyen el nombre de clase de plantilla seguido por corchetes menores/mayores que agregan la lista de argumentos de plantilla, que puede incluir tipos y expresiones, dependiendo de cómo la plantilla se declaró.los ejemplos de la plantilla-identifers son:
A<int> // class A takes a type as a template argument
A<int, char> // class A takes two types as template arguments
A<4> // class A takes an int as a template argument
A<> // class A is a template with a default argument
Los nombres completos de las funciones de plantilla pueden incluir la palabra clave de la plantilla.La palabra clave de plantilla no se permite en un nombre a menos que vaya precedido del operador de resolución de ámbito, el operador de - > , el operador de . , o un nombre completo.los siguientes son nombres de funciones:
::template f<int> // f is a global template function
A::template g<100> //g is a template member function of class A
De igual forma, el nombre de una plantilla de clase se puede especificar mediante la palabra clave de la plantilla si va precedido por la resolución o el nombre calificado del ámbito.los siguientes son nombres de tipos:
::template A<int> // equivalent to A<int>
Outer::template Inner<int> // equivalent to Outer::Inner<int>
Para obtener más información sobre las plantillas, vea Plantillas.