In computer science, a type punning is any programming technique that subverts or circumvents the type system of a programming language in order to achieve an effect that would be difficult or impossible to achieve within the bounds of the formal language. In the Pascal programming language, the use of records with variants may be used to treat a particular data type in more than one manner, or in a manner not normally permitted.
Attributes | Values |
---|
rdf:type
| |
rdfs:label
| - Каламбур типизации (ru)
- Type punning (en)
- 类型双关 (zh)
|
rdfs:comment
| - 类型双关是计算机科学的术语,指任何编程技术能颠覆或者绕过一门程序设计语言的類型系統,以达成在形式语言内部难以甚至不可能实现的效果。 C语言与C++语言,语法结构如类型转换与union,以及C++增加的reinterpret_cast运算符,用于实现类型双关。 Pascal语言使用records与variants来按照多种方法处理特定数据类型。 (zh)
- In computer science, a type punning is any programming technique that subverts or circumvents the type system of a programming language in order to achieve an effect that would be difficult or impossible to achieve within the bounds of the formal language. In the Pascal programming language, the use of records with variants may be used to treat a particular data type in more than one manner, or in a manner not normally permitted. (en)
- Каламбур типизации (англ. type punning) — термин, который используется в информатике для обозначения различных техник нарушения или обмана системы типов некоторого языка программирования, имеющих эффект, который было бы затруднительно или невозможно обеспечить в рамках формального языка. В языке Pascal записи с вариантами могут использоваться для интерпретации конкретного типа данных более, чем одним способом, или даже не предусмотренным языком способом. (ru)
|
dct:subject
| |
Wikipage page ID
| |
Wikipage revision ID
| |
Link from a Wikipage to another Wikipage
| |
Link from a Wikipage to an external page
| |
sameAs
| |
dbp:wikiPageUsesTemplate
| |
has abstract
| - In computer science, a type punning is any programming technique that subverts or circumvents the type system of a programming language in order to achieve an effect that would be difficult or impossible to achieve within the bounds of the formal language. In C and C++, constructs such as pointer type conversion and union — C++ adds reference type conversion and reinterpret_cast to this list — are provided in order to permit many kinds of type punning, although some kinds are not actually supported by the standard language. In the Pascal programming language, the use of records with variants may be used to treat a particular data type in more than one manner, or in a manner not normally permitted. (en)
- Каламбур типизации (англ. type punning) — термин, который используется в информатике для обозначения различных техник нарушения или обмана системы типов некоторого языка программирования, имеющих эффект, который было бы затруднительно или невозможно обеспечить в рамках формального языка. Языки Си и C++ предоставляют явные возможности каламбура типизации посредством таких конструкций, как приведение типов, union, а также reinterpret_cast для C++, хотя стандарты этих языков некоторые случаи таких каламбуров трактуют, как неопределённое поведение. В языке Pascal записи с вариантами могут использоваться для интерпретации конкретного типа данных более, чем одним способом, или даже не предусмотренным языком способом. Каламбур типизации является прямым нарушением типобезопасности. Традиционно возможность построить каламбур типизации связывается со слабой типизацией, но и некоторые сильно типизированные языки или их реализации предоставляют такие возможности (как правило, используя в связанных с ними идентификаторах слова unsafe или unchecked). Сторонники типобезопасности утверждают, что «необходимость» каламбуров типизации является мифом. (ru)
- 类型双关是计算机科学的术语,指任何编程技术能颠覆或者绕过一门程序设计语言的類型系統,以达成在形式语言内部难以甚至不可能实现的效果。 C语言与C++语言,语法结构如类型转换与union,以及C++增加的reinterpret_cast运算符,用于实现类型双关。 Pascal语言使用records与variants来按照多种方法处理特定数据类型。 (zh)
|
gold:hypernym
| |
prov:wasDerivedFrom
| |
page length (characters) of wiki page
| |
foaf:isPrimaryTopicOf
| |
is Link from a Wikipage to another Wikipage
of | |
is Wikipage redirect
of | |