Lenguaje de C++ (Cómo se hace en Visual C++)
Actualización: noviembre 2007
Esta página contiene vínculos a temas de ayuda sobre tareas relacionadas con el lenguaje de C++ en Visual C++. Para ver otras categorías de tareas frecuentes tratadas en la Ayuda, vea Cómo se hace en Visual C++.
Diferencias respecto a Extensiones administradas para C++
Extensiones administradas para la lista de comprobación de actualizaciones de sintaxis de C++
Enumera las diferencias sintácticas entre Extensiones administradas para C++ y la nueva sintaxis de C++.Manual de migraciones C++/CLI
Una guía detallada para migrar código de Extensiones administradas para C++ a Visual C++ 2008.
Ejemplos de Visual C++
Matrices
How to: Create Single-Dimension Arrays
Muestra cómo crear matrices de una única dimensión de tipos de referencia, de valor y de puntero nativo.How to: Create Multidimension Arrays
Muestra cómo crear matrices de varias dimensiones de tipos de referencia, de valor y de puntero nativo.How to: Iterate Over Arrays with for each
Muestra cómo utilizar la palabra clave for each, in en distintos tipos de matrices.How to: Create Arrays of Managed Arrays (Jagged Arrays)
Muestra cómo crear matrices de una única dimensión de una matriz administrada de tipos de referencia, de valor y de puntero nativo.How to: Sort Arrays
Muestra cómo utilizar el método Sort para ordenar los elementos de una matriz.How to: Sort Arrays Using Custom Criteria
Muestra cómo ordenar matrices mediante la implementación de la interfaz IComparable.How to: Make Typedefs for Managed Arrays
Muestra cómo crear un typedef para una matriz administrada.... (Variable Argument Lists)
Muestra cómo pueden implementarse en Visual C++ funciones con un número variable de argumentos mediante la sintaxis ....How to: Use Managed Arrays as Template Type Parameters
Muestra cómo utilizar una matriz administrada como parámetro de una plantilla.How to: Declare and Use Interior Pointers and Managed Arrays
Muestra cómo puede declarar y utilizar un puntero interior a una matriz.
Conversión boxing y de tipos
How to: Use gcnew to Create Value Types and Use Implicit Boxing
Muestra cómo utilizar gcnew en un tipo de valor para crear un tipo de valor al que se ha aplicado la conversión boxing, que se puede colocar después en la pila de recolección de elementos no utilizados administrada.How to: Unbox
Muestra cómo realizar una conversión unboxing y modificar un valor.How to: Explicitly Request Boxing
Muestra cómo solicitar explícitamente una conversión boxing asignando una variable a una variable de tipo Object.How to: Downcast with safe_cast
Muestra cómo realizar una conversión de una clase base a una clase derivada de la clase base mediante safe_cast.How to: Use safe_cast and Boxing
Muestra cómo utilizar safe_cast para realizar una conversión boxing de un valor del montón CLR.How to: Use safe_cast and Generic Types
Muestra cómo utilizar safe_cast para realizar una conversión en otro tipo inferior con un tipo genérico.How to: Use safe_cast and Unboxing
Muestra cómo utilizar safe_cast para realizar una conversión unboxing de un valor del montón CLR.How to: Use safe_cast and User-Defined Conversions
Muestra cómo invocar conversiones definidas por el usuario mediante safe_cast.How to: Upcast with safe_cast
Muestra cómo realizar una conversión hacia arriba, una conversión de un tipo derivado a una de sus clases base, mediante safe_cast.
Interfaces y tipos de datos
How to: Instantiate Classes and Structs
Demuestra que sólo se pueden crear instancias de los tipos de referencia y tipos de valor en el montón administrado, no en la pila o en el montón nativo.How to: Convert with Constructors
Explica los constructores de conversión; aquellos que toman un tipo y lo utilizan para crear un objeto.How to: Define an Interface Static Constructor
Explica los constructores estáticos, que se pueden utilizar para inicializar los miembros de datos estáticos.How to: Define Static Constructors in a Class or Struct
Muestra cómo crear un constructor estático.How to: Write Template Functions that Take Native, Value, or Reference Parameters
Demuestra que el uso de una referencia de seguimiento en la firma de una función de plantilla asegura que se pueda llamar a la función con parámetros de tipo nativo, un valor de CLR o una referencia de CLR.
Enumeraciones
How to: Specify Underlying Types of Enums
Muestra cómo especificar el tipo subyacente de una enum.How to: Convert Between Managed and Standard Enumerations
Muestra cómo realizar una conversión entre un tipo enum y un tipo integral utilizando una conversión de tipos.
Eventos y delegados
How to: Compose Delegates
Muestra cómo crear delegados.How to: Define and Use Delegates
Muestra cómo definir y utilizar un delegado.How to: Define and Use Static Events
Muestra cómo definir y utilizar eventos estáticos.How to: Define Event Accessor Methods
Muestra cómo puede definir el comportamiento de un evento cuando se agregan o quitan controladores, y cuando se desencadena un evento.How to: Implement Abstract Events
Muestra cómo implementar un evento abstracto.How to: Implement Managed Virtual Events
Muestra cómo implementar eventos virtuales administrados en una interfaz y una clase.How to: Access Events in Interfaces
Muestra cómo tener acceso a un evento en una interfaz.How to: Add Multiple Handlers to Events
Demuestra que un receptor de eventos, o cualquier otro código de cliente, puede agregar uno o varios controladores a un evento.How to: Associate Delegates to Members of a Value Class
Muestra cómo asociar un delegado a un miembro de una clase de valor.How to: Associate Delegates to Unmanaged Functions
Muestra cómo asociar un delegado a una función nativa ajustando la función nativa a un tipo administrando y declarando la función para que se invoque mediante P/Invoke.How to: Override Default Access of add, remove, and raise Methods
Muestra cómo reemplazar el acceso predeterminado en los métodos para agregar, quitar y provocar eventos.How to: Raise Events Defined in a Different Assembly
Muestra cómo utilizar un evento y un controlador de eventos definido en un ensamblado por otro ensamblado.
Excepciones
Basic Concepts in Using Managed Exceptions
Explica los conceptos básicos para el control de excepciones en aplicaciones administradas.Differences in Exception Handling Behavior Under /CLR
Trata en detalle las desviaciones del comportamiento estándar del control de excepciones y algunas restricciones.How to: Define and Install a Global Exception Handler
Muestra cómo se pueden capturar las excepciones no controladas.How to: Catch Exceptions in Native Code Thrown from MSIL
Muestra cómo capturar excepciones de CLR en el código nativo con __try y __except.finally
Explica la cláusula finally de control de excepciones de CLR.Basic Concepts in Using Managed Exceptions
Explica los conceptos básicos del control de excepciones en aplicaciones administradas.
For Each
How to: Iterate Over Arrays with for each
Muestra cómo utilizar la palabra clave for each, in en distintos tipos de matrices.How to: Iterate Over a Generic Collection with for each
Muestra cómo crear colecciones genéricas y recorrerlas en iteración con for each, in.How to: Iterate Over a User-Defined Collection with for each
Muestra cómo recorrer en iteración una colección definida por el usuario con for each, in.How to: Iterate Over STL Collection with for each
Muestra cómo recorrer en iteración las colecciones STL con for each, in.
Genéricos
Overview of Generics in Visual C++
Proporciona una información general de los tipos genéricos parametrizados compatibles con Common Language Runtime.Generic Functions
Trata las funciones genéricas, una función que se declara con parámetros de tipo.Generic Classes (Visual C++)
Describe cómo crear una clase genérica.Generic Interfaces (Visual C++)
Describe cómo crear una interfaz genérica.Generic Delegates (Visual C++)
Describe cómo crear un delegado genérico.Constraints
Describe que las limitaciones son un requisito que deben satisfacer los tipos utilizados como argumentos de tipo.Consuming Generics from Other .NET Languages
Explica cómo los controles genéricos creados en un lenguaje .NET se pueden utilizar en otros lenguajes .NET.Generics and Templates
Proporciona una descripción de las numerosas diferencias existentes entre los genéricos y las plantillas.How to: Convert Generic Classes
Muestra cómo convertir una clase genérica a T.How to: Improve Performance with Generics
Explica cómo los genéricos pueden ayudar a aumentar el rendimiento de una aplicación que utiliza colecciones.
Punteros
How to: Declare Interior Pointers with the const Keyword
Muestra cómo utilizar const en la declaración de un puntero interior.How to: Overload Functions with Interior Pointers and Native Pointers
Demuestra que las funciones se pueden sobrecargar dependiendo de si el tipo de parámetro es un puntero interior o un puntero nativo.How to: Cannot Use Tracking References and Unary "Take-Address" Operator
Muestra que una referencia de seguimiento no puede utilizarse como un operador unario de toma de dirección.How to: Declare Pinning Pointers and Value Types
Muestra que se puede declarar un puntero fijado a un objeto de tipo de valor y utilizar un pin_ptr para el tipo de valor al que se ha aplicado la conversión boxing.How to: Declare Value Types with the interior_ptr Keyword
Demuestra que un interior_ptr se puede utilizar con un tipo de valor.How to: Define the Scope of Pinning Pointers
Demuestra que un objeto está fijo sólo mientras haya un pin_ptr que apunte a él.How to: Pin Pointers and Arrays
Muestra cómo fijar una matriz declarando un puntero fijado a su tipo de elemento y fijando uno de sus elementos.
Propiedades
How to: Use Simple Properties
Demuestra que para las propiedades sencillas, aquellas que simplemente asignan y recuperan un miembro de datos privado, no es necesario definir explícitamente las funciones get o set del descriptor de acceso.How to: Use Indexed Properties
Muestra cómo utilizar las propiedades indizadas predeterminadas y definidas por el usuario.How to: Use Multidimensional Properties
Muestra cómo crear propiedades de varias dimensiones que adoptan un número de parámetros no estándar.How to: Declare and Use Static Properties
Muestra cómo declarar y utilizar una propiedad estática.How to: Declare and Use Virtual Properties
Muestra cómo declarar y utilizar propiedades virtuales.How to: Declare Abstract and Sealed Properties
Muestra cómo declarar una propiedad sealed o abstract definiendo una propiedad no trivial y especificando las palabras clave abstract o sealed en las funciones de descriptor de acceso get y set.How to: Overload Property Accessor Methods
Muestra cómo sobrecargar las propiedades indizadas.
Referencias de seguimiento
How to: Use Tracking References and Value Types
Muestra una conversión boxing sencilla mediante una referencia de seguimiento a un tipo de valor.How to: Using Tracking References and Interior Pointers
Muestra que al utilizar la dirección de una referencia de seguimiento, se devuelve interior_ptr, y cómo modificar los datos y tener acceso a ellos a través de una referencia de seguimiento.How to: Pass CLR Types by Reference with Tracking References
Muestra cómo pasar tipos CLR por referencia con referencias de seguimiento.
Control de archivos con Visual C++
Cómo: Leer un archivo binario
Muestra cómo leer datos binarios de un archivo.Cómo: Escribir un archivo binario
Muestra cómo escribir datos binarios en un archivo.Cómo: Leer un archivo de texto
Muestra cómo abrir y leer un archivo de texto línea a línea.Cómo: Escribir un archivo de texto
Muestra cómo crear un archivo de texto y escribir texto en él utilizando la clase StreamWriter.Cómo: Enumerar archivos en un directorio
Muestra cómo recuperar una lista de los archivos de un directorio.Cómo: Supervisar los cambios realizados en el sistema de archivos
Utiliza FileSystemWatcher para registrar eventos correspondientes a los archivos que se crean, modifican, eliminan o cambian de nombre.Cómo: Recuperar información de archivo
Muestra la clase FileInfo. Cuando tiene el nombre de un archivo, puede utilizar esta clase para obtener información sobre el archivo, por ejemplo, tamaño del archivo, directorio, nombre completo y fecha y hora de creación y de la última modificación.
Operaciones de Windows con Visual C++
Cómo: Escribir datos en el Registro de Windows
Utiliza la clave CurrentUser para crear una instancia modificable de la clase RegistryKey.Cómo: Leer datos en el Registro de Windows
Utiliza la clave CurrentUser para leer datos del Registro de Windows.Cómo: Recuperar texto del Portapapeles
Utiliza la función miembro GetDataObject para devolver un puntero a la interfaz IDataObject, cuyo formato de los datos se puede consultar y que se puede utilizar para recuperar los datos reales.Cómo: Almacenar texto en el Portapapeles
Utiliza el objeto Clipboard definido en el espacio de nombres System.Windows.Forms para almacenar una cadena.Cómo: Recuperar la versión de Windows
Muestra cómo recuperar la información de plataforma y de versión del sistema operativo actual.Cómo: Leer los contadores de rendimiento de Windows
Muestra cómo recuperar y mostrar un contador actualizado por Windows con el fin de indicar el porcentaje de tiempo de ocupación del procesador.Cómo: Recuperar el nombre de usuario actual
Muestra cómo recuperar el nombre de usuario del usuario que ha iniciado sesión actualmente.Cómo: Recuperar el nombre del equipo local
Muestra cómo recuperar el nombre del equipo local.