Articles of const

Diferencia entre la referencia constante y el parámetro normal

void DoWork(int n); void DoWork(const int &n); ¿Cuál es la diferencia?

Puntero constante vs Puntero a constante

Quiero saber la diferencia entre const int* ptr; y int * const ptr; y cómo funciona Es bastante difícil para mí entender o recordar esto. Por favor ayuda.

Const de nivel superior no influye en la firma de una función

De C ++ Primer 5th Edition, dice: int f(int){ /* can write to parameter */} int f(const int){ /* cannot write to parameter */} Las dos funciones son indistinguibles . Pero como usted sabe, las dos funciones realmente difieren en cómo pueden actualizar sus parámetros. ¿Puede alguien explicarme? EDITAR Creo que no interpreté bien mi […]

constness y punteros a punteros

Estoy muy confundido sobre la palabra clave const . Tengo una función que acepta una matriz de cadenas como parámetro de entrada y una función que acepta una cantidad variable de argumentos. void dtree_joinpaths(char* output_buffer, int count, …); void dtree_joinpaths_a(char* output_buffer, int count, const char** paths); dtree_joinpaths invoca internamente dtree_joinpaths_a después de que ha creado […]

¿Cómo funciona la sobrecarga de las funciones const y non const?

El stl está lleno de definiciones como esta: iterator begin (); const_iterator begin () const; Como el valor de retorno no participa en la resolución de sobrecarga, la única diferencia aquí es que la función es const . ¿Es esto parte del mecanismo de sobrecarga? ¿Cuál es el algoritmo del comstackdor para resolver una línea […]

__tribuir __ ((const)) vs __tribuir __ ((puro)) en GNU C

¿Cuál es la diferencia entre __attribute__((const)) y __attribute__((pure)) en GNU C? __attribute__((const)) int f() { /* … */ return 4; } vs __attribute__((pure)) int f() { /* … */ return 4; }

Análisis profundo del calificador Const en C

¿Dónde se almacena exactamente una variable const y cómo cambia su comportamiento? Diga por ejemplo: const int i=10; // stores where ? main() { const int j=20; //stores where? return 0; } Si la respuesta es un segmento de código, ¿cómo funciona el siguiente código? main() { const int j=20; int *p; p=&j; (*p)++; return […]

¿Por qué C ++ no tiene un constructor const?

( Editar: gran cambio porque el ejemplo anterior fue defectuoso, lo que puede hacer que algunas respuestas / comentarios parezcan extraños) Esto podría ser un poco artificial, pero el siguiente es legal debido a la falta de constructor const: class Cheater { public: Cheater(int avalue) : cheaterPtr(this) //conceptually odd legality in const Cheater ctor , […]

uso constante con punteros en C

Estoy revisando C y tengo una pregunta sobre el uso de const con punteros. Entiendo el siguiente código: const char *someArray Esto define un puntero que apunta a tipos de char y el modificador const significa que los valores almacenados en someArray no se pueden cambiar. Sin embargo, ¿qué significa lo siguiente? char * const […]

¿Debería el comstackdor insinuar / advertir al pasar instancias de objeto directamente como parámetros de interfaz const?

¿El comstackdor debería advertir / advertir al pasar una nueva instancia de un objeto a un método que tenga un parámetro de interfaz const de una interfaz que implemente la clase del objeto? Edición : la muestra por supuesto es simple para ilustrar el problema. Pero en la vida real se vuelve mucho más complejo: […]