diff --git a/CppCoreGuidelines.md b/CppCoreGuidelines.md index e93e8f8fd..031f5eddb 100644 --- a/CppCoreGuidelines.md +++ b/CppCoreGuidelines.md @@ -21341,7 +21341,7 @@ Use `not_null` for C-style strings that cannot be `nullptr`. ??? Do we * `unique_ptr` // unique ownership: `std::unique_ptr` * `shared_ptr` // shared ownership: `std::shared_ptr` (a counted pointer) * `stack_array` // A stack-allocated array. The number of elements is determined at construction and fixed thereafter. The elements are mutable unless `T` is a `const` type. -* `dyn_array` // ??? needed ??? A heap-allocated array. The number of elements is determined at construction and fixed thereafter. +* `dyn_array` // A container, non-growing dynamically allocated array. The number of elements is determined at construction and fixed thereafter. The elements are mutable unless `T` is a `const` type. Basically a `span` that allocates and owns its elements. ## GSL.assert: Assertions @@ -22177,7 +22177,8 @@ No. `stack_array` is guaranteed to be allocated on the stack. Although a `std::a ### FAQ.58: Is `dyn_array` the same as `vector` or the proposed `dynarray`? -No. `dyn_array` is not resizable, and is a safe way to refer to a heap-allocated fixed-size array. Unlike `vector`, it is intended to replace array-`new[]`. Unlike the `dynarray` that has been proposed in the committee, this does not anticipate compiler/language magic to somehow allocate it on the stack when it is a member of an object that is allocated on the stack; it simply refers to a "dynamic" or heap-based array. +No. `dyn_array` is a container, like `vector`, but it is not resizable; its size is fixed at runtime when it is constructed. +It is a safe way to refer to a dynamically "heap"-allocated fixed-size array. Unlike `vector`, it is intended to replace array-`new[]`. Unlike the `dynarray` that has been proposed in the committee, this does not anticipate compiler/language magic to somehow allocate it on the stack when it is a member of an object that is allocated on the stack; it simply refers to a "dynamic" or heap-based array. ### FAQ.59: Is `Expects` the same as `assert`?