Skip to content

Latest commit

 

History

History
26 lines (19 loc) · 1.3 KB

File metadata and controls

26 lines (19 loc) · 1.3 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 Warning C26455
ms.date 04/29/2022
f1_keywords
C26455
DEFAULT_CTOR_NOEXCEPT
helpviewer_keywords
C26455
ms.assetid 27e86063-d969-49d8-8912-dcc2dc57249f
author kylereedmsft
ms.author kylereed
ms.custom kr2b-contr-experiment

Warning C26455

Default constructor should not throw. Declare it 'noexcept' (f.6)

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.

Code analysis name: DEFAULT_CTOR_NOEXCEPT

See also