From Jason Turner

[basic.stc.general]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpt35itqaw/{from.md → to.md} +27 -0
tmp/tmpt35itqaw/{from.md → to.md} RENAMED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #### General <a id="basic.stc.general">[[basic.stc.general]]</a>
2
+
3
+ The *storage duration* is the property of an object that defines the
4
+ minimum potential lifetime of the storage containing the object. The
5
+ storage duration is determined by the construct used to create the
6
+ object and is one of the following:
7
+
8
+ - static storage duration
9
+ - thread storage duration
10
+ - automatic storage duration
11
+ - dynamic storage duration
12
+
13
+ Static, thread, and automatic storage durations are associated with
14
+ objects introduced by declarations [[basic.def]] and implicitly created
15
+ by the implementation [[class.temporary]]. The dynamic storage duration
16
+ is associated with objects created by a *new-expression* [[expr.new]].
17
+
18
+ The storage duration categories apply to references as well.
19
+
20
+ When the end of the duration of a region of storage is reached, the
21
+ values of all pointers representing the address of any part of that
22
+ region of storage become invalid pointer values [[basic.compound]].
23
+ Indirection through an invalid pointer value and passing an invalid
24
+ pointer value to a deallocation function have undefined behavior. Any
25
+ other use of an invalid pointer value has *implementation-defined*
26
+ behavior.[^10]
27
+