Files
2025-10-25 03:02:53 +03:00

1.6 KiB
Raw Permalink Blame History

[diff.cpp14.expr]

Annex C (informative) Compatibility [diff]

C.4 C++ and ISO C++ 2014 [diff.cpp14]

C.4.3 [expr]: expressions [diff.cpp14.expr]

1

#

Affected subclauses: [expr.post.incr] and [expr.pre.incr]

Change: Remove increment operator with bool operand.

Rationale: Obsolete feature with occasionally surprising semantics.

Effect on original feature: A valid C++ 2014 expression utilizing the increment operator on a bool lvalue is ill-formed in this revision of C++.

2

#

Affected subclauses: [expr.new] and [expr.delete]

Change: Dynamic allocation mechanism for over-aligned types.

Rationale: Simplify use of over-aligned types.

Effect on original feature: In C++ 2014 code that uses a new-expression to allocate an object with an over-aligned class type, where that class has no allocation functions of its own,::operator new(std::size_t) is used to allocate the memory.

In this revision of C++,::operator new(std::size_t, std::align_val_t) is used instead.