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

1.6 KiB
Raw Permalink Blame History

[diff.cpp14.utilities]

Annex C (informative) Compatibility [diff]

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

C.4.9 [utilities]: general utilities library [diff.cpp14.utilities]

1

#

Affected subclause: [func.wrap]

Change: Constructors taking allocators removed.

Rationale: No implementation consensus.

Effect on original feature: Valid C++ 2014 code may fail to compile or may change meaning in this revision of C++.

Specifically, constructing a std::function with an allocator is ill-formed and uses-allocator construction will not pass an allocator to std::function constructors in this revision of C++.

2

#

Affected subclause: [util.smartptr.shared]

Change: Different constraint on conversions from unique_ptr.

Rationale: Adding array support to shared_ptr, via the syntax shared_ptr<T[]> and shared_ptr<T[N]>.

Effect on original feature: Valid C++ 2014 code may fail to compile or may change meaning in this revision of C++.

[Example 1: #include std::unique_ptr<int[]> arr(new int[1]); std::shared_ptr ptr(std::move(arr)); // error: int()[] is not compatible with int — end example]