Tipos integrales extendidos (Elección del tamaño entero correcto en C/C++)

C/C++ tiene definiciones muy flexibles en sus tipos de datos enteros básicos (char, short, int, long y long long). El lenguaje garantiza que pueden representar al menos algún rango de valores, pero cualquier plataforma en particular (compilador, sistema operativo, hardware) puede ser más grande que eso. Un buen ejemplo es largo. En una máquina, podría … Continue reading «Tipos integrales extendidos (Elección del tamaño entero correcto en C/C++)»

Rangos de tipos de datos y sus macros en C++

La mayoría de las veces, en la programación competitiva, existe la necesidad de asignar a la variable, el valor máximo o mínimo que puede contener el tipo de datos, pero recordar un número tan grande y preciso resulta un trabajo difícil. Por lo tanto, C++ tiene ciertas macros para representar estos números, de modo que … Continue reading «Rangos de tipos de datos y sus macros en C++»

Bitwise Hacks para la programación competitiva

Prerequisite: It is recommended to refer Interesting facts about Bitwise Operators Cómo poner un bit en el número ‘num’: Si queremos establecer un bit en la posición n en el número ‘num’, se puede hacer usando el operador ‘OR’ ( | ).   Primero, dejamos el cambio ‘1’ a la posición n a través de (1<<n) … Continue reading «Bitwise Hacks para la programación competitiva»

Corchetes adicionales con nombres de funciones en C/C++

Considere el siguiente programa C. El programa tiene corchetes adicionales alrededor del nombre de la función. // C program to show that extra brackets with function // name work #include <stdio.h>    void (foo)(int n) {    printf(«Function : %d «, n); }    int main() {    (foo)(4);    return 0;   } Producción: Function 4 Entonces, poner … Continue reading «Corchetes adicionales con nombres de funciones en C/C++»

Eliminar comentarios de un programa C/C++ dado

Dado un programa C/C++, elimine los comentarios de él.  Recomendamos encarecidamente minimizar su navegador y probarlo usted mismo primero. La idea es mantener dos variables indicadoras, una para indicar que se inicia un comentario de una sola línea y otra para indicar que se inicia un comentario de varias líneas. Cuando se establece una bandera, … Continue reading «Eliminar comentarios de un programa C/C++ dado»

Escriba un programa que produzca diferentes resultados en C y C++

Escriba un programa que compile y se ejecute tanto en C como en C++, pero que produzca resultados diferentes cuando lo compilen los compiladores de C y C++. Puede haber muchos programas de este tipo, los siguientes son algunos de ellos. 1) Los caracteres literales se tratan de manera diferente en C y C++. En … Continue reading «Escriba un programa que produzca diferentes resultados en C y C++»

Salida del programa C++ | conjunto 14

Prediga la salida del siguiente programa C++. Nivel de dificultad: Novato Pregunta 1 #include <iostream> using namespace std;    class A {     int id; public:     A (int i) { id = i; }     void print () { cout << id << endl; } };    int main() {     A a[2];     a[0].print();     a[1].print();     return 0; } … Continue reading «Salida del programa C++ | conjunto 14»

Ocultación de todos los métodos sobrecargados con el mismo nombre en la clase base en C++

En C++, la sobrecarga de funciones es posible, es decir, dos o más funciones de la misma clase pueden tener el mismo nombre pero diferentes parámetros. Sin embargo, si una clase derivada redefine el método miembro de la clase base, todos los métodos de la clase base con el mismo nombre se ocultan en la … Continue reading «Ocultación de todos los métodos sobrecargados con el mismo nombre en la clase base en C++»

ASCII NUL, ASCII 0 (‘0’) y literal numérico 0

El ASCII NUL y el cero se representan como 0x00 y 0x30 respectivamente. Un carácter ASCII NUL sirve como carácter centinela de strings en C/C++. Cuando el programador usa ‘0’ en su código, se representará como 0x30 en forma hexadecimal. ¿Qué se llenará en la representación binaria de ‘entero’ en el siguiente programa? char charNUL … Continue reading «ASCII NUL, ASCII 0 (‘0’) y literal numérico 0»

Comprobación de autoasignación en el operador de asignación

En C++, el operador de asignación debe sobrecargarse con la verificación de autoasignación. Por ejemplo, considere la siguiente clase Array y la función de operador de asignación sobrecargada sin verificación de autoasignación. // A sample class class Array {  private:    int *ptr;    int size;  public:    Array& operator = (const Array &rhs);    // constructors and other … Continue reading «Comprobación de autoasignación en el operador de asignación»