File: new-delete-overloads.rst

package info (click to toggle)
llvm-toolchain-16 1%3A16.0.6-15~deb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,634,792 kB
  • sloc: cpp: 6,179,261; ansic: 1,216,205; asm: 741,319; python: 196,614; objc: 75,325; f90: 49,640; lisp: 32,396; pascal: 12,286; sh: 9,394; perl: 7,442; ml: 5,494; awk: 3,523; makefile: 2,723; javascript: 1,206; xml: 886; fortran: 581; cs: 573
file content (19 lines) | stat: -rw-r--r-- 925 bytes parent folder | download | duplicates (37)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
.. title:: clang-tidy - misc-new-delete-overloads

misc-new-delete-overloads
=========================

`cert-dcl54-cpp` redirects here as an alias for this check.

The check flags overloaded operator ``new()`` and operator ``delete()``
functions that do not have a corresponding free store function defined within
the same scope.
For instance, the check will flag a class implementation of a non-placement
operator ``new()`` when the class does not also define a non-placement operator
``delete()`` function as well.

The check does not flag implicitly-defined operators, deleted or private
operators, or placement operators.

This check corresponds to CERT C++ Coding Standard rule `DCL54-CPP. Overload allocation and deallocation functions as a pair in the same scope
<https://www.securecoding.cert.org/confluence/display/cplusplus/DCL54-CPP.+Overload+allocation+and+deallocation+functions+as+a+pair+in+the+same+scope>`_.