C++ es un lenguaje de programación de propósito general creado por Bjarne Stroustrup como una extensión de C.
Características:
- Programación orientada a objetos
- Alto rendimiento
- Compatibilidad con C
- Plantillas y genéricos
Aprende C++ desde los fundamentos hasta conceptos avanzados
"C++ is a general-purpose programming language created by Bjarne Stroustrup as an extension of the C programming language."Explorar Temas
Haz clic en cualquier tema para ver el contenido detallado
C++ es un lenguaje de programación de propósito general creado por Bjarne Stroustrup como una extensión de C.
Los compiladores más usados son GCC, Clang y MSVC.
g++ main.cpp -o programa
clang++ main.cpp -o programaCMake es un sistema de build cross-platform.
cmake_minimum_required(VERSION 3.10)
project(MiProyecto)
add_executable(mi_app main.cpp)C++ tiene tipado estático y fuerte.
int edad = 30;
double altura = 1.75;
auto nombre = std::string("Juan");C++ soporta clases, herencia y polimorfismo.
class Persona {
public:
std::string nombre;
void saludar() { std::cout << "Hola"; }
};Las plantillas permiten código genérico.
template<typename T>
T maximo(T a, T b) {
return (a > b) ? a : b;
}La Standard Template Library incluye contenedores y algoritmos.
std::vector<int> nums = {1, 2, 3};
std::sort(nums.begin(), nums.end());Gestión automática de memoria.
auto ptr = std::make_unique<int>(42);
auto shared = std::make_shared<int>(42);C++11 incluye soporte para hilos.
#include <thread>
std::thread t([](){ /* código */ });
t.join();Programación asíncrona con futures.
auto future = std::async([](){ return 42; });
int result = future.get();Sockets para comunicación en red.
// Usar bibliotecas como Boost.Asio
// o sockets nativos del SOTécnicas para máximo rendimiento.
#include <iostream>
#include <string>
int main() {
// Tipos fundamentales
int edad = 30;
double altura = 1.75;
char inicial = 'J';
bool esEstudiante = true;
// Auto type deduction
auto nombre = std::string("Juan");
auto pi = 3.14159;
std::cout << "Hola " << nombre << std::endl;
return 0;
}
#include <iostream>
int main() {
int valor = 42;
// Puntero
int* ptr = &valor;
std::cout << *ptr << std::endl;
// Referencia
int& ref = valor;
ref = 100;
// Smart pointers (C++11)
auto unique = std::make_unique<int>(42);
auto shared = std::make_shared<int>(42);
return 0;
}
#include <iostream>
#include <string>
class Persona {
private:
std::string nombre;
int edad;
public:
// Constructor
Persona(std::string n, int e) : nombre(n), edad(e) {}
// Métodos
void saludar() const {
std::cout << "Hola, soy " << nombre << std::endl;
}
// Getters/Setters
std::string getNombre() const { return nombre; }
void setEdad(int e) { edad = e; }
};
#include <iostream>
#include <vector>
// Función template
template<typename T>
T maximo(T a, T b) {
return (a > b) ? a : b;
}
// Clase template
template<typename T>
class Contenedor {
private:
T valor;
public:
Contenedor(T v) : valor(v) {}
T getValor() const { return valor; }
};
# Compilar simple
g++ main.cpp -o programa
# Compilar con C++17
g++ -std=c++17 main.cpp -o programa
# Compilar con warnings
g++ -Wall -Wextra -std=c++17 main.cpp -o programa
# Usar CMake
mkdir build && cd build
cmake ..
make
Ingeniero en Sistemas · Full Stack · Automatización · Data
📧 Email: zackharo1@gmail.com
📱 WhatsApp: 098805517
💻 GitHub: github.com/ieharo1
🌐 Portafolio: ieharo1.github.io/portafolio-isaac.haro/