Enlace estructurado en C++

Requisito previo: Tuplas en C++ El enlace estructurado es una de las funciones más nuevas de C++17 que enlaza los nombres especificados con subobjetos o elementos del inicializador. En palabras simples, los enlaces estructurados nos brindan la capacidad de declarar múltiples variables inicializadas desde una tupla o estructura. El objetivo principal de los enlaces estructurados … Continue reading «Enlace estructurado en C++»

reinterpret_cast en C++ | Tipo Operadores de fundición – Part 1

reinterpret_cast es un tipo de operador de conversión utilizado en C++.   Se utiliza para convertir un puntero de algún tipo de datos en un puntero de otro tipo de datos, incluso si los tipos de datos antes y después de la conversión son diferentes. No verifica si el tipo de puntero y los datos señalados … Continue reading «reinterpret_cast en C++ | Tipo Operadores de fundición – Part 1»

Funciones predeterminadas y eliminadas explícitamente en C++ 11

Función predeterminada ¿Qué es una función predeterminada?  La declaración de función explícitamente predeterminada es una nueva forma de declaración de función que se introduce en el estándar C++ 11 que le permite agregar ‘=default;’ especificador al final de una declaración de función para declarar esa función como una función explícitamente predeterminada. Esto hace que el … Continue reading «Funciones predeterminadas y eliminadas explícitamente en C++ 11»

Nueva función de C++ 17: declaraciones If Else y Switch con inicializadores

En muchos casos, necesitamos verificar el valor de algo devuelto por una función y realizar operaciones condicionales basadas en este valor. Así que nuestro código se parece a esto // Some function return_type foo(params)    // Call function with params and  // store return in var auto var = foo(params);    if (var == /* … Continue reading «Nueva función de C++ 17: declaraciones If Else y Switch con inicializadores»

vector erase() y clear() en C++ – Part 1

Los vectores son lo mismo que las arrays dinámicas con la capacidad de cambiar su tamaño automáticamente cuando se inserta o elimina un elemento, y el contenedor maneja automáticamente su almacenamiento. vector::clear() La función clear() se utiliza para eliminar todos los elementos del contenedor de vectores, haciéndolo así de tamaño 0. Sintaxis:  vectorname.clear() Parameters : … Continue reading «vector erase() y clear() en C++ – Part 1»

biblioteca <iterador> en C++ STL

Iteradores en C++ STL | Introducción Funciones Operaciones del iterador:  std::advance :  Iterador avanzado std::distancia : Distancia de retorno entre iteradores std::begin : Iterador hasta el comienzo std::end : iterador hasta el final std::prev : Obtener iterador al elemento anterior std::next : Obtener iterador al siguiente elemento std::siguiente vs std::avance Todas las funciones en iteradores … Continue reading «biblioteca <iterador> en C++ STL»

Expresiones lambda generalizadas en C++14

Las expresiones lambda se introdujeron en C++11. Son básicamente fragmentos de código que se pueden anidar dentro de otras funciones e incluso declaraciones de llamadas a funciones. Al combinar una expresión lambda con la palabra clave auto, estas expresiones se pueden usar más adelante en el programa. Hemos discutido las expresiones lambda en detalle en … Continue reading «Expresiones lambda generalizadas en C++14»

biblioteca en C++ STL

Operaciones de secuencia que no modifican  std::all_of   : Condición de prueba en todos los elementos en el rango std::any_of   : prueba si algún elemento en el rango cumple la condición std::none_of : prueba si ningún elemento cumple la condición std::for_each : Aplicar función al rango std::find : Encuentra el valor en el rango … Continue reading «biblioteca en C++ STL»

Prevención de la copia de objetos en C++ (3 formas diferentes)

Muchas veces, el usuario desea que una instancia de una clase de C++ no se copie en absoluto. Entonces, la pregunta es ¿cómo logramos esto? Hay tres maneras de lograr esto: Mantener el constructor de copia y el operador de asignación de copia como privados en la clase. A continuación se muestra la implementación de … Continue reading «Prevención de la copia de objetos en C++ (3 formas diferentes)»

Literales definidos por el usuario en C++

Un literal se usa para representar un valor fijo en un programa. Un literal podría ser cualquier cosa en un código como a, b, c2. , ‘ACB’, etc De manera similar, los literales definidos por el usuario ( UDL ) proporcionan literales para una variedad de tipos integrados que se limitan a   Ejemplos de … Continue reading «Literales definidos por el usuario en C++»