[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

About: Type punning

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

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.

Property Value
dbo: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 <a href="/wiki/Union_(computer_science)" class="mw-redirect" title="Union (computer science)">union</a> — 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++ предоставляют явные возможности каламбура типизации посредством таких конструкций, как приведение типов, <a href="/wiki/%D0%9E%D0%B1%D1%8A%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_(%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85)" title="Объединение (структура данных)">union</a>, а также reinterpret_cast для C++, хотя стандарты этих языков некоторые случаи таких каламбуров трактуют, как неопределённое поведение. В языке Pascal записи с вариантами могут использоваться для интерпретации конкретного типа данных более, чем одним способом, или даже не предусмотренным языком способом. Каламбур типизации является прямым нарушением типобезопасности. Традиционно возможность построить каламбур типизации связывается со слабой типизацией, но и некоторые сильно типизированные языки или их реализации предоставляют такие возможности (как правило, используя в связанных с ними идентификаторах слова unsafe или unchecked). Сторонники типобезопасности утверждают, что «необходимость» каламбуров типизации является мифом. (ru)
  • 类型双关是计算机科学的术语,指任何编程技术能颠覆或者绕过一门程序设计语言的類型系統,以达成在形式语言内部难以甚至不可能实现的效果。 C语言与C++语言,语法结构如类型转换与<a href="/wiki/%E8%81%94%E5%90%88%E4%BD%93" title="联合体">union</a>,以及C++增加的reinterpret_cast运算符,用于实现类型双关。 Pascal语言使用records与variants来按照多种方法处理特定数据类型。 (zh)
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 8077294 (xsd:integer)
dbo:wikiPageLength
  • 15862 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID
  • 1116194350 (xsd:integer)
dbo:wikiPageWikiLink
dbp:wikiPageUsesTemplate
dcterms:subject
gold:hypernym
rdf:type
rdfs:comment
  • 类型双关是计算机科学的术语,指任何编程技术能颠覆或者绕过一门程序设计语言的類型系統,以达成在形式语言内部难以甚至不可能实现的效果。 C语言与C++语言,语法结构如类型转换与<a href="/wiki/%E8%81%94%E5%90%88%E4%BD%93" title="联合体">union</a>,以及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)
rdfs:label
  • Каламбур типизации (ru)
  • Type punning (en)
  • 类型双关 (zh)
owl:sameAs
prov:wasDerivedFrom
foaf:isPrimaryTopicOf
is dbo:wikiPageDisambiguates of
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