Changeset b060aba
- Timestamp:
- Feb 19, 2018, 1:24:49 PM (7 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 6c7c63c, 78d69da7
- Parents:
- 9fd06ae
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/papers/general/Paper.tex
r9fd06ae rb060aba 1725 1725 \CFA adopts constructors and destructors (and @finally@) to facilitate RAII. 1726 1726 While constructors and destructors are a common feature of object-oriented programming-languages, they are an independent capability allowing \CFA to adopt them while retaining a procedural paradigm. 1727 Specifically, \CFA constructors and destructors are denote sby name and first parameter-type versus name and nesting in an aggregate type.1727 Specifically, \CFA constructors and destructors are denoted by name and first parameter-type versus name and nesting in an aggregate type. 1728 1728 Constructor calls seamlessly integrate with existing C initialization syntax, providing a simple and familiar syntax to C programmers and allowing constructor calls to be inserted into legacy C code with minimal code changes. 1729 1729 … … 1752 1752 @VLA@ is a \newterm{managed type}\footnote{ 1753 1753 A managed type affects the runtime environment versus a self-contained type.}: a type requiring a non-trivial constructor or destructor, or with a field of a managed type. 1754 A managed type sis implicitly constructed upon allocation and destructed upon deallocation to ensure proper interaction with runtime resources, in this case the @data@ array in the heap.1754 A managed type is implicitly constructed upon allocation and destructed upon deallocation to ensure proper interaction with runtime resources, in this case the @data@ array in the heap. 1755 1755 For details of the placement of implicit constructor and destructor calls among complex executable statements see~\cite[\S~2.2]{Schluntz17}. 1756 1756
Note: See TracChangeset
for help on using the changeset viewer.