std::next vs std::advance en C++

std::advance y std::next se utilizan para avanzar el iterador en una determinada posición, de modo que podamos hacer que el iterador apunte a la posición deseada. Aunque ambos tienen el mismo propósito, pero su implementación es diferente entre sí. Esto hace que sea importante para nosotros entender la diferencia entre los dos. En C++11, std::next() … Continue reading «std::next vs std::advance en C++»

std::find_end en C++

std::find_end se usa para encontrar la última aparición de una subsecuencia dentro de un contenedor. Busca en el rango [first1,last1) la última ocurrencia de la secuencia definida por [first2,last2) y devuelve un iterador a su primer elemento, o last1 si no se encuentran ocurrencias. Es similar a std::search de tal manera que en std::search buscamos … Continue reading «std::find_end en C++»

¿Puede un constructor ser privado en C++?

Requisito previo: Constructores Un constructor es una función miembro especial de una clase que inicializa objetos de una clase. En C++, el constructor se llama automáticamente cuando se crea el objeto de una clase. Por defecto, los constructores se definen en la sección pública de la clase. Entonces, la pregunta es ¿se puede definir un … Continue reading «¿Puede un constructor ser privado en C++?»

Rotar en C++ STL

La función se define en el encabezado <algoritmo>. Rota el orden de los elementos en el rango [primero, último], de tal manera que el elemento señalado por el medio se convierte en el nuevo primer elemento. Plantilla de función: void rotar(ForwardIterator first, ForwardIterator middle, ForwardIterator last) first, last : Reenviar iteradores a las posiciones inicial … Continue reading «Rotar en C++ STL»

Comparando objetos de string usando operadores relacionales en C++

Si las strings se comparan usando operadores relacionales , sus caracteres se comparan lexicográficamente de acuerdo con los rasgos de carácter actuales, lo que significa que comienza la comparación carácter por carácter a partir del primer carácter hasta que los caracteres en ambas strings sean iguales o se encuentre un carácter NULO. Parámetros: se requieren … Continue reading «Comparando objetos de string usando operadores relacionales en C++»

std::mismatch() con ejemplos en C++

C++ STL tiene muchas funciones útiles que nos ayudan a realizar diversas tareas de programación. Una de esas funciones es “ mismatch() ”. Esta función, definida en el archivo de encabezado » algoritmo «, ayuda a comparar 2 contenedores en busca de discrepancias . Esta función tiene 2 versiones. Ambos se discuten en este artículo. … Continue reading «std::mismatch() con ejemplos en C++»

Punteros vs Referencias en C++

Prerrequisito:  Punteros , Referencias  C y C++ admiten punteros, que es diferente de la mayoría de los demás lenguajes de programación, como Java, Python, Ruby, Perl y PHP, ya que solo admiten referencias. Pero, curiosamente, C++, junto con los punteros, también admite referencias.  En la superficie, tanto las referencias como los punteros son muy similares, … Continue reading «Punteros vs Referencias en C++»

Implementando el patrón Iterator de una sola Lista Vinculada

STL es uno de los pilares de C++. Hace la vida mucho más fácil, especialmente cuando su atención se centra en la resolución de problemas y no desea perder tiempo implementando algo que ya está disponible y que garantiza una solución sólida. Uno de los aspectos clave de la Ingeniería de Software es evitar reinventar … Continue reading «Implementando el patrón Iterator de una sola Lista Vinculada»

Ejecución de printf con operadores ++ en C

Considere la siguiente declaración en C y prediga su salida. printf(«%d %d %d», i, ++i, i++); Esta declaración invoca un comportamiento indefinido al hacer referencia tanto a ‘i’ como a ‘i++’ en la lista de argumentos. No se define en qué orden se evalúan los argumentos. Diferentes compiladores pueden elegir diferentes órdenes. Un solo compilador … Continue reading «Ejecución de printf con operadores ++ en C»

Manipulaciones de proporciones en C++ | Conjunto 1 (Aritmética)

C++ nos permite realizar operaciones de suma, resta, multiplicación y división en fracciones. Un método para sumar proporciones se analiza en el siguiente artículo: Programa para sumar dos fracciones. El método utilizado aquí es tedioso y largo, por lo que para superarlo se introdujo un método mejor en C++. El archivo de encabezado <ratio> en … Continue reading «Manipulaciones de proporciones en C++ | Conjunto 1 (Aritmética)»