tmp/tmp70y67ldd/{from.md → to.md}
RENAMED
|
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
### Clause [[basic]]: basic concepts <a id="diff.cpp11.basic">[[diff.cpp11.basic]]</a>
|
| 2 |
+
|
| 3 |
+
[[basic.stc.dynamic.deallocation]] **Change:** New usual (non-placement)
|
| 4 |
+
deallocator **Rationale:** Required for sized deallocation. **Effect on
|
| 5 |
+
original feature:** Valid C++11code could declare a global placement
|
| 6 |
+
allocation function and deallocation function as follows:
|
| 7 |
+
|
| 8 |
+
``` cpp
|
| 9 |
+
void operator new(std::size_t, std::size_t);
|
| 10 |
+
void operator delete(void*, std::size_t) noexcept;
|
| 11 |
+
```
|
| 12 |
+
|
| 13 |
+
In this International Standard, however, the declaration of
|
| 14 |
+
`operator delete` might match a predefined usual (non-placement)
|
| 15 |
+
`operator delete` ([[basic.stc.dynamic]]). If so, the program is
|
| 16 |
+
ill-formed, as it was for class member allocation functions and
|
| 17 |
+
deallocation functions ([[expr.new]]).
|
| 18 |
+
|