|
1350 | 1350 | \rationale
|
1351 | 1351 | Prevents accidental uses of trigraphs in non-raw string literals and comments.
|
1352 | 1352 | \effect
|
1353 |
| -Valid \CppXIV{} code that uses trigraphs may not be valid or may have different |
| 1353 | +Valid \CppXIV{} code that uses trigraphs can be invalid or have different |
1354 | 1354 | semantics in this revision of \Cpp{}. Implementations may choose to
|
1355 | 1355 | translate trigraphs as specified in \CppXIV{} if they appear outside of a raw
|
1356 | 1356 | string literal, as part of the \impldef{mapping input source file characters
|
|
1476 | 1476 | \rationale
|
1477 | 1477 | Better interaction with other language features.
|
1478 | 1478 | \effect
|
1479 |
| -Valid \CppXIV{} code that uses inheriting constructors may not be valid |
1480 |
| -or may have different semantics. A \grammarterm{using-declaration} |
| 1479 | +Valid \CppXIV{} code that uses inheriting constructors can be invalid |
| 1480 | +or have different semantics. A \grammarterm{using-declaration} |
1481 | 1481 | that names a constructor now makes the corresponding base class constructors
|
1482 | 1482 | visible to initializations of the derived class
|
1483 | 1483 | rather than declaring additional derived class constructors.
|
|
2157 | 2157 | \rationale
|
2158 | 2158 | Avoid hard to diagnose or non-portable constructs.
|
2159 | 2159 | \effect
|
2160 |
| -Names of attribute identifiers may not be used as macro names. Valid \CppIII{} |
| 2160 | +It is not allowed to use names of attribute identifiers as macro names. Valid \CppIII{} |
2161 | 2161 | code that defines \tcode{override}, \tcode{final},
|
2162 | 2162 | \tcode{carries_dependency}, or \tcode{noreturn} as macros is invalid in this
|
2163 | 2163 | revision of \Cpp{}.
|
|
2236 | 2236 | Lack of specification of complexity of \tcode{size()} resulted in
|
2237 | 2237 | divergent implementations with inconsistent performance characteristics.
|
2238 | 2238 | \effect
|
2239 |
| -Some container implementations that conform to \CppIII{} may not conform to the |
| 2239 | +It is possible that some container implementations that conform to \CppIII{} do not conform to the |
2240 | 2240 | specified \tcode{size()} requirements in this revision of \Cpp{}. Adjusting
|
2241 | 2241 | containers such as \tcode{std::list} to the stricter requirements may require
|
2242 | 2242 | incompatible changes.
|
|
2343 | 2343 | \effect
|
2344 | 2344 | Valid \CppIII{} code that uses implementation-specific knowledge about the
|
2345 | 2345 | binary representation of the required template specializations of
|
2346 |
| -\tcode{std::complex} may not be compatible with this revision of \Cpp{}. |
| 2346 | +\tcode{std::complex} can be incompatible with this revision of \Cpp{}. |
2347 | 2347 |
|
2348 | 2348 | \rSec2[diff.cpp03.locale]{\ref{localization}: localization library}
|
2349 | 2349 |
|
|
2353 | 2353 | \rationale
|
2354 | 2354 | Required by new feature.
|
2355 | 2355 | \effect
|
2356 |
| -Valid \CppIII{} code may have different behavior in this revision of \Cpp{}. |
| 2356 | +Valid \CppIII{} code can have different behavior in this revision of \Cpp{}. |
2357 | 2357 |
|
2358 | 2358 | \rSec2[diff.cpp03.input.output]{\ref{input.output}: input/output library}
|
2359 | 2359 |
|
|
2941 | 2941 |
|
2942 | 2942 | \diffref{dcl.fct} [see \ref{expr.sizeof}]
|
2943 | 2943 | \change
|
2944 |
| -In \Cpp{}, types may not be defined in return or parameter types. |
| 2944 | +In \Cpp{}, defining types in return or parameter types is not allowed. |
2945 | 2945 | In C, these type definitions are allowed.
|
2946 | 2946 |
|
2947 | 2947 | Example:
|
|
3256 | 3256 |
|
3257 | 3257 | \diffref{class.member.lookup}
|
3258 | 3258 | \change
|
3259 |
| -In \Cpp{}, a \grammarterm{typedef-name} may not be redeclared in a class definition after being used in that definition. |
| 3259 | +In \Cpp{}, it is not allowed to redeclare a \grammarterm{typedef-name} in a class definition after being used in that definition. |
3260 | 3260 |
|
3261 | 3261 | Example:
|
3262 | 3262 | \begin{codeblock}
|
|
0 commit comments