Skip to content

Latest commit

 

History

History
23 lines (18 loc) · 1.22 KB

File metadata and controls

23 lines (18 loc) · 1.22 KB
description Learn more about the C26455 DEFAULT_CTOR_NOEXCEPT C++ Core Guidelines Checker warning. Default constructors shouldn't do anything that can throw.
title C26455 DEFAULT_CTOR_NOEXCEPT
ms.date 04/29/2022
ms.topic reference
f1_keywords
C26455
helpviewer_keywords
C26455
ms.assetid 27e86063-d969-49d8-8912-dcc2dc57249f
author kylereedmsft
ms.author kylereed
ms.custom kr2b-contr-experiment

C26455 DEFAULT_CTOR_NOEXCEPT

The C++ Core Guidelines suggest that default constructors shouldn't do anything that can throw. If the default constructor is allowed to throw, operations such as move and swap will also throw which is undesirable because move and swap should always succeed. Parameterized constructors may throw.

Remarks

Consider the default constructors of the STL types, like std::vector. In these implementations, the default constructors initialize internal state without making allocations. In the std::vector case, the size is set to 0 and the internal pointer is set to nullptr. The same pattern should be followed for all default constructors.

See also