An Entity of Type: Abstraction100002137, from Named Graph: http://dbpedia.org, within Data Space: dbpedia.org

In some 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. In other languages, the data is not in a single memory location, but copied at compile time on each use. Languages which utilize it include C, C++, D, JavaScript, Julia, and Rust.

Property Value
dbo:abstract
  • In some 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. In other languages, the data is not in a single memory location, but copied at compile time on each use. Languages which utilize it include C, C++, D, JavaScript, Julia, and Rust. (en)
  • En programación, la correctitud de constantes (del 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++, C# и D const является квалификатором типа: ключевое слово применяется к типу данных, показывая, что данные константны (неизменяемы). Это может быть использовано при объявлении (декларировании) констант. Отличительная особенность const в C-подобных языках программирования проявляется при его комбинировании с типами данных, что дает сложное поведение в сочетании с указателями, ссылками, составными типами данных и при проверке типов. (ru)
  • 在C语言、C++、D語言、JavaScript和Julia等编程语言中,const是一个:它是一个应用于数据类型的关键字,表示该数据是只读和恆定不變。Const可以用来声明常量,但C语言家族中的const与其他语言有所不同,const在C语言家族是屬於数据类型的一部分。 (zh)
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 1639512 (xsd:integer)
dbo:wikiPageLength
  • 41544 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID
  • 1115899893 (xsd:integer)
dbo:wikiPageWikiLink
dbp:wikiPageUsesTemplate
dcterms:subject
gold:hypernym
rdf:type
rdfs:comment
  • In some 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. In other languages, the data is not in a single memory location, but copied at compile time on each use. Languages which utilize it include C, C++, D, JavaScript, Julia, and Rust. (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++, C# и D const является квалификатором типа: ключевое слово применяется к типу данных, показывая, что данные константны (неизменяемы). Это может быть использовано при объявлении (декларировании) констант. Отличительная особенность const в C-подобных языках программирования проявляется при его комбинировании с типами данных, что дает сложное поведение в сочетании с указателями, ссылками, составными типами данных и при проверке типов. (ru)
  • 在C语言、C++、D語言、JavaScript和Julia等编程语言中,const是一个:它是一个应用于数据类型的关键字,表示该数据是只读和恆定不變。Const可以用来声明常量,但C语言家族中的const与其他语言有所不同,const在C语言家族是屬於数据类型的一部分。 (zh)
  • En programación, la correctitud de constantes (del 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
  • Correctitud de constantes (es)
  • Const (computer programming) (en)
  • Const (fr)
  • Const (ko)
  • Const (программирование) (ru)
  • Const (zh)
owl:sameAs
prov:wasDerivedFrom
foaf:isPrimaryTopicOf
is dbo:wikiPageRedirects of
is dbo:wikiPageWikiLink of
is foaf:primaryTopic of
Powered by OpenLink Virtuoso    This material is Open Knowledge     W3C Semantic Web Technology     This material is Open Knowledge    Valid XHTML + RDFa
This content was extracted from Wikipedia and is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License