A mechanized semantics for C++ object construction and destruction, with applications to resource management - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Conference Papers Year : 2012

A mechanized semantics for C++ object construction and destruction, with applications to resource management

Abstract

We present a formal operational semantics and its Coq mechanization for the C++ object model, featuring object construction and destruction, shared and repeated multiple inheritance, and virtual function call dispatch. These are key C++ language features for high-level system programming, in particular for predictable and reliable resource management. This paper is the first to present a formal mechanized account of the metatheory of construction and destruction in C++, and applications to popular programming techniques such as "resource acquisition is initialization." We also report on irregularities and apparent contradictions in the ISO C++03 and C++11 standards.
Fichier principal
Vignette du fichier
cpp-construction.pdf (225.24 Ko) Télécharger le fichier
Origin : Files produced by the author(s)
Loading...

Dates and versions

hal-00674663 , version 1 (27-02-2012)

Identifiers

Cite

Tahina Ramananandro, Gabriel dos Reis, Xavier Leroy. A mechanized semantics for C++ object construction and destruction, with applications to resource management. POPL '12 - 39th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, ACM, Jan 2012, Philadelphia, PA, United States. pp.521-532, ⟨10.1145/2103656.2103718⟩. ⟨hal-00674663⟩
166 View
481 Download

Altmetric

Share

Gmail Facebook X LinkedIn More