Declaración de cambio en C/C++

  La declaración de cambio de caso evalúa una expresión dada y, en función del valor evaluado (que coincide con una determinada condición), ejecuta las declaraciones asociadas con ella. Básicamente, se utiliza para realizar diferentes acciones en función de diferentes condiciones (casos).  Las declaraciones de cambio de caso siguen un mecanismo de control de selección … Continue reading «Declaración de cambio en C/C++»

Funciones strdup() y strndup() en C/C++

Las funciones strdup() y strndup() se utilizan para duplicar una string. strdup() :  Sintaxis : char *strdup(const char *s);  Esta función devuelve un puntero a una string de bytes terminada en nulo, que es un duplicado de la string a la que apunta s . La memoria obtenida se realiza dinámicamente usando malloc y por lo … Continue reading «Funciones strdup() y strndup() en C/C++»

Precisión de números de punto flotante en C++ (piso(), ceil(), trunc(), redondo() y setprecision())

El equivalente decimal de 1/3 es 0.33333333333333…. Un número de longitud infinita requeriría una memoria infinita para almacenar, y normalmente tenemos 4 u 8 bytes. Por lo tanto, los números de coma flotante almacenan solo una cierta cantidad de dígitos significativos y el resto se pierde. La precisión de un número de punto flotante define … Continue reading «Precisión de números de punto flotante en C++ (piso(), ceil(), trunc(), redondo() y setprecision())»

Regreso de funciones vacías en C++

Las funciones nulas se conocen como funciones que no devuelven valor . Son «vacíos» debido al hecho de que no se supone que devuelvan valores. Cierto, pero no del todo. No podemos devolver valores, pero hay algo que seguramente podemos devolver de las funciones vacías. Las funciones vacías no tienen un tipo de devolución, pero … Continue reading «Regreso de funciones vacías en C++»

Funtores en C++

¡ Tenga en cuenta que el título es Functors (Not Functions)! Considere una función que toma solo un argumento. Sin embargo, mientras llamamos a esta función, tenemos mucha más información que nos gustaría pasar a esta función, pero no podemos, ya que solo acepta un parámetro. ¿Qué se puede hacer? Una respuesta obvia podría ser … Continue reading «Funtores en C++»

¿Cómo crear una array 2D dinámica dentro de una clase en C++?

Una array dinámica es una array que puede crecer, cambiar su tamaño, contiene una tabla dinámica, que es mutable por naturaleza, o una lista de arrays es accesible aleatoriamente, la estructura de datos de la lista de tamaño variable que permite agregar o eliminar elementos. Supongamos que queremos crear una clase para Graph. La clase … Continue reading «¿Cómo crear una array 2D dinámica dentro de una clase en C++?»

Ordenar en la biblioteca de plantillas estándar de C++ (STL)

La clasificación es una de las funciones más básicas aplicadas a los datos. Significa organizar los datos de una manera particular, que puede ser creciente o decreciente. Hay una función incorporada en C++ STL con el nombre de sort(). Esta función utiliza internamente IntroSort. En más detalles, se implementa mediante un híbrido de QuickSort, HeapSort e … Continue reading «Ordenar en la biblioteca de plantillas estándar de C++ (STL)»

Punteros inteligentes en C++ y cómo usarlos

En este artículo, analizaremos los punteros inteligentes en C++. ¿Qué son los punteros inteligentes, por qué y cómo usarlos correctamente? Los punteros se utilizan para acceder a los recursos que son externos al programa, como la memoria del montón. Entonces, para acceder a la memoria del montón (si se crea algo dentro de la memoria … Continue reading «Punteros inteligentes en C++ y cómo usarlos»

¿Funciona la sobrecarga con Herencia?

Si tenemos una función en la clase base y otra función con el mismo nombre en la clase derivada, ¿se puede llamar a la función de la clase base desde el objeto de la clase derivada? Esta es una pregunta interesante y, como experimento, prediga la salida del siguiente programa C++ :  C++ #include <iostream> … Continue reading «¿Funciona la sobrecarga con Herencia?»

fork() y árbol binario

Dado un programa en la llamada al sistema fork() . #include <stdio.h> #include <unistd.h> int main() {    fork();    fork() && fork() || fork();    fork();       printf(«forked\n»);    return 0; } ¿Cuántos procesos se generarán después de ejecutar el programa anterior? Una llamada al sistema fork() genera procesos como hojas de un árbol binario en crecimiento. Si … Continue reading «fork() y árbol binario»