In the C, C++, D, JavaScript and Julia programming languages, const is a type qualifier: a keyword applied to a data type that indicates that the data is read only. While this can be used to declare constants, const in the C family of languages differs from similar constructs in other languages in being part of the type, and thus has complicated behavior when combined with pointers, references, composite data types, and type-checking.

Property Value
dbo:abstract
  • In the C, C++, D, JavaScript and Julia programming languages, const is a type qualifier: a keyword applied to a data type that indicates that the data is read only. While this can be used to declare constants, const in the C family of languages differs from similar constructs in other languages in being part of the type, and thus has complicated behavior when combined with pointers, references, composite data types, and type-checking. (en)
  • En programación, la correctitud de constantes (en inglés: const correctness)? es el tipo de correctitud que hace referencia a la adecuada declaración de variables u objetos como inmutables. El término es mayormente usado en el contexto de C o C++, y recibe su nombre de la palabra reservada const de estos lenguajes. El uso de la palabra reservada const indica lo que el programador «debe» hacer, no necesariamente lo que el programador «puede» hacer, pues calificar datos con esta palabra reservada no provoca que se almacenen en un tipo de memoria de sólo lectura, sino que ordena al compilador realizar verificaciones sobre el código en tiempo de compilación para finalizar con un error el proceso de compilación en el caso de intentar modificar un dato constante. El hecho de que sea posible modificar datos calificados con const en tiempo de ejecución prueba que estos no se almacenan en memoria de sólo lectura. Para realizar estos cambios en tiempo de ejecución, deben evitarse las verificaciones que el compilador realiza sobre los valores const mediante el uso de conversiones de tipo o uniones. const int constante = 0; // Valor constante// Referencia no constante a un valor constante, sin usar la conversión const_cast sería un errorint &noConstante = const_cast<int &>(constante);// Mediante la referencia no constante se modifica el valor constante:noConstante = 1;// Puntero a no constante apuntando a un valor constante, sin usar la conversión const_cast sería un errorint *punteroANoConstante = const_cast<int *>(&constante);// Mediante el puntero a no constante se modifica el valor constante:*punteroA_No_Constante = 2;// Puntero a no constante apuntando a un valor constante, sin usar la conversión estilo C sería un errorpunteroANoConstante = (int *)&constante;// Mediante el puntero a no constante se modifica el valor constante:*punteroA_No_Constante = 3;// Unión que contiene puntero a constante y puntero a NO constanteunión constanteYMutable{ const int *punteroAConstante; int *punteroA_No_Constante;} u;// Correcto: Puntero a constante apuntando a un valor constanteu.punteroAConstante = &constante;// Mediante el otro miembro de la unión se modifica el valor constante:*u.punteroA_No_Constante = 4; Cabe destacar que el compilador puede decidir realizar optimizaciones sobre los valores calificados con const —como, por ejemplo, utilizar el valor literal en lugar del valor almacenado en la variable—. Esta optimización es conocida como y también se aplica sobre los literales de texto const char *; dado que no es posible modificar el valor de un literal, el ejemplo anterior daría lugar a un comportamiento indefinido. Los métodos no estáticos pueden declararse como const. Al hacerlo el dentro del método es de tipo valor_de_retorno const * const en lugar de valor_de_retorno * const. Esto significa que, dentro del método constante, el compilador tratará como error cualquier llamada a otros métodos no constantes o la modificación de cualquier campo del objeto. En C++, un campo puede ser declarado como , indicando que la anterior restricción no se aplica sobre él. En algunos casos, esto puede ser útil, por ejemplo, para cachear de datos, contar referencias o . En estos casos, no se altera el estado lógico del objeto, pero no es físicamente constante porque su representación binaria puede cambiar. (es)
  • En programmation dans les langages C ou C++, const est un mot-clé permettant au programmeur de signaler au compilateur que l'élément ainsi qualifié ne doit pas être modifié pendant l'exécution du programme. Cet élément sera donc constant tout le long d'une exécution normale du programme. (fr)
  • const는 C, C++에서 변수의 값이 바뀌는 것을 방지하기 위한 한정사이다. 즉, 이 한정사가 붙은 변수는 상수로 취급된다. (ko)
  • В языках программирования C, C++, и D const является квалификатором типа: ключевое слово применяется к типу данных, показывая, что данные константны (неизменяемы). Это может быть использовано при объявлении (декларировании) констант. Отличительная особенность const в C-подобных языках программирования проявляется при его комбинировании с типами данных, что дает сложное поведение в сочетании с указателями, ссылками, составными типами данных и при проверке типов. (ru)
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 1639512 (xsd:integer)
dbo:wikiPageLength
  • 41307 (xsd:integer)
dbo:wikiPageRevisionID
  • 979819062 (xsd:integer)
dbo:wikiPageWikiLink
dbp:wikiPageUsesTemplate
dct:subject
rdf:type
rdfs:comment
  • In the C, C++, D, JavaScript and Julia programming languages, const is a type qualifier: a keyword applied to a data type that indicates that the data is read only. While this can be used to declare constants, const in the C family of languages differs from similar constructs in other languages in being part of the type, and thus has complicated behavior when combined with pointers, references, composite data types, and type-checking. (en)
  • En programmation dans les langages C ou C++, const est un mot-clé permettant au programmeur de signaler au compilateur que l'élément ainsi qualifié ne doit pas être modifié pendant l'exécution du programme. Cet élément sera donc constant tout le long d'une exécution normale du programme. (fr)
  • const는 C, C++에서 변수의 값이 바뀌는 것을 방지하기 위한 한정사이다. 즉, 이 한정사가 붙은 변수는 상수로 취급된다. (ko)
  • В языках программирования C, C++, и D const является квалификатором типа: ключевое слово применяется к типу данных, показывая, что данные константны (неизменяемы). Это может быть использовано при объявлении (декларировании) констант. Отличительная особенность const в C-подобных языках программирования проявляется при его комбинировании с типами данных, что дает сложное поведение в сочетании с указателями, ссылками, составными типами данных и при проверке типов. (ru)
  • En programación, la correctitud de constantes (en inglés: const correctness)? es el tipo de correctitud que hace referencia a la adecuada declaración de variables u objetos como inmutables. El término es mayormente usado en el contexto de C o C++, y recibe su nombre de la palabra reservada const de estos lenguajes. (es)
rdfs:label
  • Const (computer programming) (en)
  • Correctitud de constantes (es)
  • Const (fr)
  • Const (ko)
  • Const (программирование) (ru)
owl:sameAs
prov:wasDerivedFrom
foaf:isPrimaryTopicOf
is dbo:wikiPageRedirects of
is dbo:wikiPageWikiLink of
is foaf:primaryTopic of