Visual C++

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
Visual C++
Desarrollador
Microsoft
Visual C++ Developer Center
Información general
Última versión estable Visual Studio 2013
Septiembre del 2013
Género Entorno de desarrollo integrado
Programado en ASM/C/C++
Sistema operativo Microsoft Windows
Licencia EULA
Estado actual Activo
En español Sí 

Visual C++ (también conocido como MvsC, Microsoft Visual C++) es un entorno de desarrollo integrado (IDE) para lenguajes de programación C, C++ y C++/CLI.

Visual C++ engloba el desarrollo de aplicaciones hechas en C, C++ y C++/CLI en el entorno Windows. Visual C++ incluye además las bibliotecas de Windows (WinApi), las bibliotecas MFC y el entorno de desarrollo para .NET Framework. Visual C++ cuenta con su propio compilador (de igual nombre) y otras herramientas como IntelliSense, TeamFoundation Server, Debug,... Además provee de bibliotecas propias de cada versión del sistema operativo y sockets. Como otros compiladores, se le pueden añadir nuevas bibliotecas como DirectX, wxWidgets o SDL.

Cuenta con una versión Express, llamada Microsoft Visual C++ Express Edition, la cual es gratuita y se puede descargar desde el sitio de Microsoft.

El lenguaje de programación utilizado por esta herramienta, de igual nombre, está basado en C++ y es compatible en la mayor parte de su código con este lenguaje, a la vez que su sintaxis es exactamente igual. En algunas ocasiones esta incompatibilidad impide que otros compiladores, sobre todo en otros sistemas operativos, funcionen bien con código desarrollado en este lenguaje.

Una de las nuevas implementaciones es que el llamado código administrado (managed code) hace uso de una de las mejores herramientas dentro de .NET, el recolector de basura (garbage collector).

Cómo declarar una clase gestionada por el recolector de basura Visual Studio 2005:

ref class MiClase
{
   // Código
}

en Visual Studio 2003:

__gc class MiClase
{
   // Código
}

La palabra reservada ref (ó __gc) le dice al compilador que esa clase será manejada por el recolector de basura, aunque, y a diferencia de otros lenguajes de .NET como C#, aún puede seguir llamando al destructor con delete.

Ahora veamos un ejemplo del programa HolaMundo con Visual C++ en C++/CLI.

using namespace System;
ref class MiClase
{
    public : void HolaMundo()
    {
        Console::WriteLine("Hola, mundo");
    }
};
int main()
{
    MiClase^ objeto = gcnew MiClase();
    objeto->HolaMundo();
    return 0;
}

Ahora veamos un ejemplo en ANSI C.

#include <stdio.h>
 
int main()
{
 printf("Hola, mundo");
}

Y un ejemplo en C++

#include <iostream>
 
using namespace std;
int main()
{
 cout<<"Hola, mundo"<<endl;
}

Las diferencias son pocas; en cuanto a sintaxis, el símbolo ^ indica que se está creando un puntero. Se hace de esta forma porque los punteros nativos de C++ son difíciles de seguir por el recolector de basura, así que se debe manejar de manera diferente. Para acceder a los métodos y miembros de la clase se usa -> cuando se tiene un puntero, al igual que en C++ nativo.

La palabra reservada gcnew crea el objeto devolviendo un puntero hacia este; gcnew se debe de usar para instar una clase manejada por el recolector de basura, o sea que ha sido declarada ref class. Si la clase no es manejada class se usa new y * para crear un puntero, al igual que en C++.

Enlaces externos[editar]