tmp/tmppuy0mbkp/{from.md → to.md}
RENAMED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
### Clause [[dcl.dcl]]: declarations <a id="diff.cpp11.dcl.dcl">[[diff.cpp11.dcl.dcl]]</a>
|
| 2 |
+
|
| 3 |
+
[[dcl.constexpr]] **Change:** `constexpr` non-static member functions
|
| 4 |
+
are not implicitly `const` member functions. **Rationale:** Necessary to
|
| 5 |
+
allow `constexpr` member functions to mutate the object. **Effect on
|
| 6 |
+
original feature:** Valid C++11code may fail to compile in this
|
| 7 |
+
International Standard. For example, the following code is valid in
|
| 8 |
+
C++11 but invalid in this International Standard because it declares the
|
| 9 |
+
same member function twice with different return types:
|
| 10 |
+
|
| 11 |
+
``` cpp
|
| 12 |
+
struct S {
|
| 13 |
+
constexpr const int &f();
|
| 14 |
+
int &f();
|
| 15 |
+
};
|
| 16 |
+
```
|
| 17 |
+
|