Checker | Guideline |
---|
C++0014 | DCL52-CPP. Never qualify a reference type with const or volatile |
C++1067 | DCL60-CPP. Obey the one-definition rule |
C++1109 | DCL53-CPP. Do not write syntactically ambiguous declarations |
C++1509 | DCL60-CPP. Obey the one-definition rule |
C++1510 | DCL60-CPP. Obey the one-definition rule |
C++1552 | DCL56-CPP. Avoid cycles during initialization of static objects |
C++1554 | DCL56-CPP. Avoid cycles during initialization of static objects |
C++1704 | DCL56-CPP. Avoid cycles during initialization of static objects |
C++1772 | CON53-CPP. Avoid deadlock by locking in a predefined order |
C++1773 | CON53-CPP. Avoid deadlock by locking in a predefined order |
C++1774 | CON52-CPP. Prevent data races when accessing bit-fields from multiple threads |
C++1775 | CON52-CPP. Prevent data races when accessing bit-fields from multiple threads |
C++1778 | CON55-CPP. Preserve thread safety and liveness when using condition variables |
C++1779 | CON55-CPP. Preserve thread safety and liveness when using condition variables |
C++2012 | DCL50-CPP. Do not define a C-style variadic function |
C++2045 | DCL57-CPP. Do not let exceptions escape from destructors or deallocation functions |
C++2047 | DCL57-CPP. Do not let exceptions escape from destructors or deallocation functions |
C++2110 | MEM51-CPP. Properly deallocate dynamically allocated resources |
C++2111 | MEM51-CPP. Properly deallocate dynamically allocated resources |
C++2112 | MEM51-CPP. Properly deallocate dynamically allocated resources |
C++2113 | MEM51-CPP. Properly deallocate dynamically allocated resources |
C++2118 | MEM51-CPP. Properly deallocate dynamically allocated resources |
C++2160 | DCL54-CPP. Overload allocation and deallocation functions as a pair in the same scope |
C++2510 | DCL53-CPP. Do not write syntactically ambiguous declarations |
C++2518 | DCL59-CPP. Do not define an unnamed namespace in a header file |
C++2625 | DCL50-CPP. Do not define a C-style variadic function |
C++2668 2888 | CTR54 MSC54-CPP. Do not subtract iterators that do not refer to the same container A signal handler must be a plain old function |
C++2726 3013 | EXP53 INT50-CPP. Do not read uninitialized memory cast to an out-of-range enumeration value |
C++2727 3033 | EXP53 EXP56-CPP. Do not read uninitialized memory call a function with a mismatched language linkage |
C++2728 3038 | EXP53 EXP56-CPP. Do not read uninitialized memory call a function with a mismatched language linkage |
C++2761 3066 | CTR54 EXP55-CPP. Do not subtract iterators that do not refer to the same container access a cv-qualified object through a cv-unqualified type |
C++2762 3072 | CTR54 OOP51-CPP. Do not subtract iterators that do not refer to the same container slice derived objects |
C++2763 3073 | CTR54 CTR56-CPP. Do not subtract iterators that do not refer to the same container use pointer arithmetic on polymorphic objects |
C++2766 3112 | CTR54 EXP57-CPP. Do not subtract iterators that do not refer to the same container cast or delete pointers to incomplete classes |
C++2767 3119 | CTR54 MEM54-CPP. Do not subtract iterators that do not refer to the same container Provide placement new with properly aligned pointers to sufficient storage capacity |
C++2768 3128 | CTR54 MEM54-CPP. Do not subtract iterators that do not refer to the same container Provide placement new with properly aligned pointers to sufficient storage capacity |
C++2810 3129 | OOP55 MEM57-CPP. Do not use pointer-to-member operators to access nonexistent members Avoid using default operator new for over-aligned types |
C++2811 3139 | OOP55 CTR50-CPP. Do not use pointer-to-member operators to access nonexistent members Guarantee that container indices and iterators are within the valid range |
C++2812 3140 | EXP54 CTR50-CPP. Do not access an object outside of its lifetime Guarantee that container indices and iterators are within the valid range |
C++2812 3161 | OOP55 ERR62-CPP. Do not use pointer-to-member operators to access nonexistent members Detect errors when converting a string to a number |
C++2813 3162 | EXP54 STR53-CPP. Do not access an object outside of its lifetime Range check element access |
C++2813 3163 | OOP55 STR53-CPP. Do not use pointer-to-member operators to access nonexistent members Range check element access |
C++2814 3164 | EXP54 STR53-CPP. Do not access an object outside of its lifetime Range check element access |
C++2814 3165 | OOP55 STR53-CPP. Do not use pointer-to-member operators to access nonexistent members Range check element access |
C++2835 3166 | STR50 EXP51-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminator Do not delete an array through a pointer of the incorrect type |
C++2836 3180 | STR50 DCL58-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminator Do not modify the standard namespaces |
C++2839 3181 | STR50 DCL58-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminator Do not modify the standard namespaces |
C++2886 3182 | MSC53 DCL58-CPP. Do not return from a function declared [[noreturn]] modify the standard namespaces |
C++2888 3220 | MSC52 EXP50-CPP. Value-returning functions must return a value from all exit paths Do not depend on the order of evaluation for side effects |
C++2888 3221 | MSC54 EXP50-CPP. A signal handler must be a plain old function Do not depend on the order of evaluation for side effects |
C++2891 3222 | CTR50 EXP50-CPP. Guarantee that container indices and iterators are within the valid range Do not depend on the order of evaluation for side effects |
C++2930 3223 | EXP54 EXP50-CPP. Do not access an object outside of its lifetime depend on the order of evaluation for side effects |
C++2931 3225 | EXP54 CTR58-CPP. Do not access an object outside of its lifetime Predicate function objects should not be mutable |
C++2932 3225 | EXP54 MEM52-CPP. Do not access an object outside of its lifetime Detect and handle memory allocation errors |
C++2933 3226 | EXP54 CTR58-CPP. Do not access an object outside of its lifetime Predicate function objects should not be mutable |
C++2934 3226 | EXP54 MEM52-CPP. Do not access an object outside of its lifetime Detect and handle memory allocation errors |
C++2961 3227 | EXP53 CTR58-CPP. Do not read uninitialized memory Predicate function objects should not be mutable |
C++2962 3227 | EXP53 MEM52-CPP. Do not read uninitialized memory Detect and handle memory allocation errors |
C++2963 3228 | EXP53 EXP50-CPP. Do not read uninitialized memory depend on the order of evaluation for side effects |
C++2966 3228 | EXP53 CTR58-CPP. Do not read uninitialized memory Predicate function objects should not be mutable |
C++2967 3228 | EXP53 MEM52-CPP. Do not read uninitialized memory Detect and handle memory allocation errors |
C++2968 3229 | EXP53 CTR58-CPP. Do not read uninitialized memory Predicate function objects should not be mutable |
C++2971 3229 | EXP53 MEM52-CPP. Do not read uninitialized memory Detect and handle memory allocation errors |
C++2972 3230 | EXP53 CTR58-CPP. Do not read uninitialized memory Predicate function objects should not be mutable |
C++2973 3231 | EXP53 CTR58-CPP. Do not read uninitialized memory Predicate function objects should not be mutable |
C++2976 3232 | EXP53 CTR58-CPP. Do not read uninitialized memory Predicate function objects should not be mutable |
C++2977 3233 | EXP53 CTR58-CPP. Do not read uninitialized memory Predicate function objects should not be mutable |
C++2978 3234 | EXP53 CTR58-CPP. Do not read uninitialized memory Predicate function objects should not be mutable |
C++3013 3240 | INT50 EXP52-CPP. Do not cast to an out-of-range enumeration value rely on side effects in unevaluated operands |
C++3033 3241 | EXP56 EXP52-CPP. Do not call a function with a mismatched language linkage rely on side effects in unevaluated operands |
C++3038 3293 | EXP56 CTR57-CPP. Do not call a function with a mismatched language linkage Provide a valid ordering predicate |
C++3066 3337 | EXP55 MEM51-CPP. Do not access a cv-qualified object through a cv-unqualified type Properly deallocate dynamically allocated resources |
C++3072 3339 | OOP51 MEM51-CPP. Do not slice derived objects Properly deallocate dynamically allocated resources |
C++3073 3402 | CTR56 OOP52-CPP. Do not use pointer arithmetic on polymorphic objects delete a polymorphic object without a virtual destructor |
C++3112 3403 | EXP57 OOP52-CPP. Do not cast or delete pointers to incomplete classes delete a polymorphic object without a virtual destructor |
C++3119 3404 | MEM54 OOP52-CPP. Provide placement new with properly aligned pointers to sufficient storage capacity Do not delete a polymorphic object without a virtual destructor |
C++3128 3508 | MEM54 ERR60-CPP. Provide placement new with properly aligned pointers to sufficient storage capacity Exception objects must be nothrow copy constructible |
C++3129 3510 | MEM57 ERR53-CPP. Avoid using default operator new for over-aligned types Do not reference base classes or class data members in a constructor or destructor function-try-block handler |
C++3139 3802 | CTR50 CTR53-CPP. Guarantee that container indices and iterators are within the valid range Use valid iterator ranges |
C++3140 3809 | CTR50 ERR59-CPP. Guarantee that container indices and iterators are within the valid range Do not throw an exception across execution boundaries |
C++3161 3810 | ERR62 ERR59-CPP. Detect errors when converting a string to a number Do not throw an exception across execution boundaries |
C++3162 3852 | STR53 EXP58-CPP. Range check element access Pass an object of the correct type to va_start |
C++3163 3853 | STR53 EXP58-CPP. Range check element access Pass an object of the correct type to va_start |
C++3164 3915 | STR53 EXP59-CPP. Range check element access Use offsetof() on valid types and members |
C++3165 3916 | STR53 EXP59-CPP. Range check element access Use offsetof() on valid types and members |
C++3166 4003 | EXP51 EXP54-CPP. Do not delete an array through a pointer of the incorrect type access an object outside of its lifetime |
C++3180 4026 | DCL58 EXP54-CPP. Do not modify the standard namespaces access an object outside of its lifetime |
C++3181 4030 | DCL58 ERR54-CPP. Do not modify the standard namespaces Catch handlers should order their parameter types from most derived to least derived |
C++3182 4031 | DCL58 ERR61-CPP. Do not modify the standard namespaces Catch exceptions by lvalue reference |
C++3220 4032 | EXP50 DCL57-CPP. Do not depend on the order of evaluation for side effects let exceptions escape from destructors or deallocation functions |
C++3221 4035 | EXP50 ERR51-CPP. Do not depend on the order of evaluation for side effects Handle all exceptions |
C++3222 4035 | EXP50 ERR55-CPP. Do not depend on the order of evaluation for side effects Honor exception specifications |
C++3223 4036 | EXP50 ERR51-CPP. Do not depend on the order of evaluation for side effects Handle all exceptions |
C++3225 4036 | CTR58 ERR55-CPP. Predicate function objects should not be mutable Honor exception specifications |
C++3225 4037 | MEM52 ERR51-CPP. Detect and handle memory allocation errors Handle all exceptions |
C++3226 4053 | CTR58 OOP53-CPP. Predicate function objects should not be mutable Write constructor member initializers in the canonical order |
C++4072 | OOP54-CPP. Gracefully handle self-copy assignment |
C++3226 4073 | MEM52 OOP54-CPP. Detect and handle memory allocation errors Gracefully handle self-copy assignment |
C++3227 4075 | CTR58 ERR56-CPP. Predicate function objects should not be mutable Guarantee exception safety |
C++3227 4075 | MEM52 OOP54-CPP. Detect and handle memory allocation errors Gracefully handle self-copy assignment |
C++3228 4075 | EXP50 OOP58-CPP. Do not depend on the order of evaluation for side effects Copy operations must not mutate the source object |
C++3228 4076 | CTR58 ERR56-CPP. Predicate function objects should not be mutable Guarantee exception safety |
C++3228 4076 | MEM52 OOP54-CPP. Detect and handle memory allocation errors Gracefully handle self-copy assignment |
C++3229 4260 | CTR58 OOP50-CPP. Predicate function objects should not be mutable Do not invoke virtual functions from constructors or destructors |
C++3229 4261 | MEM52 OOP50-CPP. Detect and handle memory allocation errors Do not invoke virtual functions from constructors or destructors |
C++3230 4262 | CTR58 MEM51-CPP. Predicate function objects should not be mutable Properly deallocate dynamically allocated resources |
C++3231 4263 | CTR58 MEM51-CPP. Predicate function objects should not be mutable Properly deallocate dynamically allocated resources |
C++3232 4264 | CTR58 MEM51-CPP. Predicate function objects should not be mutable Properly deallocate dynamically allocated resources |
C++3233 4273 | CTR58 OOP50-CPP. Predicate function objects should not be mutable Do not invoke virtual functions from constructors or destructors |
C++3234 4274 | CTR58 OOP50-CPP. Predicate function objects should not be mutable Do not invoke virtual functions from constructors or destructors |
C++3240 4275 | EXP52 OOP50-CPP. Do not rely on side effects in unevaluated operands invoke virtual functions from constructors or destructors |
C++3241 4276 | EXP52 OOP50-CPP. Do not rely on side effects in unevaluated operands invoke virtual functions from constructors or destructors |
C++3293 4277 | CTR57 OOP50-CPP. Provide a valid ordering predicate Do not invoke virtual functions from constructors or destructors |
C++3337 4278 | MEM51 OOP50-CPP. Properly deallocate dynamically allocated resources Do not invoke virtual functions from constructors or destructors |
C++3339 4279 | MEM51 OOP50-CPP. Properly deallocate dynamically allocated resources Do not invoke virtual functions from constructors or destructors |
C++3402 4280 | OOP52 OOP50-CPP. Do not delete a polymorphic object without a virtual destructor invoke virtual functions from constructors or destructors |
C++3403 4281 | OOP52 OOP50-CPP. Do not delete a polymorphic object without a virtual destructor invoke virtual functions from constructors or destructors |
C++3404 4282 | OOP52 OOP50-CPP. Do not delete a polymorphic object without a virtual destructor invoke virtual functions from constructors or destructors |
C++3508 4303 | ERR60 MEM50-CPP. Exception objects must be nothrow copy constructible Do not access freed memory |
C++3510 4304 | ERR53 MEM50-CPP. Do not reference base classes or class data members in a constructor or destructor function-try-block handler access freed memory |
C++3520 4631 | MEM54 DCL57-CPP. Provide placement new with properly aligned pointers to sufficient storage capacity Do not let exceptions escape from destructors or deallocation functions |
C++3521 4632 | MEM54 MEM52-CPP. Provide placement new with properly aligned pointers to sufficient storage capacity Detect and handle memory allocation errors |
C++3522 4632 | MEM54 ERR55-CPP. Provide placement new with properly aligned pointers to sufficient storage capacity Honor exception specifications |
C++3523 4634 | MEM54 ERR58-CPP. Provide placement new with properly aligned pointers to sufficient storage capacity Handle all exceptions thrown before main() begins executing |
C++3526 4636 | CTR52 ERR58-CPP. Guarantee that library functions do not overflow Handle all exceptions thrown before main() begins executing |
C++3526 4637 | CTR55 ERR58-CPP. Do not use an additive operator on an iterator if the result would overflow Handle all exceptions thrown before main() begins executing |
C++3527 4639 | CTR52 ERR54-CPP. Guarantee that library functions do not overflow Catch handlers should order their parameter types from most derived to least derived |
C++3527 4639 | CTR55 ERR58-CPP. Do not use an additive operator on an iterator if the result would overflow Handle all exceptions thrown before main() begins executing |
C++3528 4671 | CTR52 EXP55-CPP. Guarantee that library functions do not overflow | C++3528 | CTR55-CPP. Do not use an additive operator on an iterator if the result would overflow Do not access a cv-qualified object through a cv-unqualified type |
C++3529 4986 | CTR52 CON56-CPP. Guarantee that library functions do not overflow Do not speculatively lock a non-recursive mutex that is already owned by the calling thread |
C++3529 4987 | CTR55 CON56-CPP. Do not use an additive operator on an iterator if the result would overflow speculatively lock a non-recursive mutex that is already owned by the calling thread |
C++3530 5003 | CTR52 DCL51-CPP. Guarantee that library functions do not overflow Do not declare or define a reserved identifier |
C++3530 5014 | CTR55 ERR50-CPP. Do not use an additive operator on an iterator if the result would overflow abruptly terminate the program |
C++3531 5015 | CTR52 ERR52-CPP. Guarantee that library functions do not overflow Do not use setjmp() or longjmp() |
C++3531 5017 | CTR55 OOP57-CPP. Prefer special member functions and overloaded operators to C Standard Library functions |
C++5018 | CON51-CPP. Ensure actively held locks are released on exceptional conditions Do not use an additive operator on an iterator if the result would overflow |
C++3532 5019 | CTR52 CON54-CPP. Guarantee that library functions do not overflow Wrap functions that can spuriously wake up in a loop |
C++3532 5028 | CTR55 MSC50-CPP. Do not use an additive operator on an iterator if the result would overflow std::rand() for generating pseudorandom numbers |
C++3533 5038 | CTR52 OOP57-CPP. Guarantee that library functions do not overflow Prefer special member functions and overloaded operators to C Standard Library functions |
C++3533 5041 | CTR55 MSC51-CPP. Do not use an additive operator on an iterator if the result would overflow Ensure your random number generator is properly seeded |
C++3534 5216 | CTR52 STR50-CPP. Guarantee that library functions do not overflow storage for strings has sufficient space for character data and the null terminator |
DF726 | EXP53 | C++3534 | CTR55-CPP. Do not use an additive operator on an iterator if the result would overflow |
C++3802 | CTR53-CPP. Use valid iterator ranges |
read uninitialized memory |
DF961 | CON50-CPP. Do not destroy a mutex while it is locked |
DF978 | EXP53 | C++3809 | ERR59-CPP. Do not throw an exception across execution boundaries | C++3810 | read uninitialized memory |
DF2668 | CTR54 ERR59-CPP. Do not throw an exception across execution boundaries |
C++3852 | EXP58-CPP. Pass an object of the correct type to va_start |
C++3853 | EXP58-CPP. Pass an object of the correct type to va_start |
C++3915 | EXP59-CPP. Use offsetof() on valid types and members |
C++3916 | EXP59-CPP. Use offsetof() on valid types and members |
C++4003 | EXP54-CPP. Do not access an object outside of its lifetime |
C++4026 | EXP54-CPP. Do not access an object outside of its lifetime |
C++4030 | ERR54-CPP. Catch handlers should order their parameter types from most derived to least derived |
C++4031 | ERR61-CPP. Catch exceptions by lvalue reference |
C++4032 | DCL57-CPP. Do not let exceptions escape from destructors or deallocation functions |
C++4035 | ERR51-CPP. Handle all exceptions |
C++4035 | ERR55-CPP. Honor exception specifications |
C++4036 | ERR51-CPP. Handle all exceptions |
C++4036 | ERR55-CPP. Honor exception specifications |
C++4037 | ERR51-CPP. Handle all exceptions |
C++4053 | OOP53-CPP. Write constructor member initializers in the canonical order |
C++4072 | OOP54-CPP. Gracefully handle self-copy assignment |
C++4073 | OOP54-CPP. Gracefully handle self-copy assignment |
C++4075 | ERR56-CPP. Guarantee exception safety |
C++4075 | OOP54-CPP. Gracefully handle self-copy assignment |
C++4075 | OOP58-CPP. Copy operations must not mutate the source object |
C++4076 | ERR56-CPP. Guarantee exception safety |
C++4076 | OOP54-CPP. Gracefully handle self-copy assignment |
C++4260 | OOP50-CPP. Do not invoke virtual functions from constructors or destructors |
C++4261 | OOP50-CPP. Do not invoke virtual functions from constructors or destructors |
C++4262 | MEM51-CPP. Properly deallocate dynamically allocated resources |
C++4263 | MEM51-CPP. Properly deallocate dynamically allocated resources |
C++4264 | MEM51-CPP. Properly deallocate dynamically allocated resources |
C++4273 | OOP50-CPP. Do not invoke virtual functions from constructors or destructors |
C++4274 | OOP50-CPP. Do not invoke virtual functions from constructors or destructors |
C++4275 | OOP50-CPP. Do not invoke virtual functions from constructors or destructors |
C++4276 | OOP50-CPP. Do not invoke virtual functions from constructors or destructors |
C++4277 | OOP50-CPP. Do not invoke virtual functions from constructors or destructors |
C++4278 | OOP50-CPP. Do not invoke virtual functions from constructors or destructors |
C++4279 | OOP50-CPP. Do not invoke virtual functions from constructors or destructors |
C++4280 | OOP50-CPP. Do not invoke virtual functions from constructors or destructors |
C++4281 | OOP50-CPP. Do not invoke virtual functions from constructors or destructors |
C++4282 | OOP50-CPP. Do not invoke virtual functions from constructors or destructors |
C++4303 | MEM50-CPP. Do not access freed memory |
C++4304 | MEM50-CPP. Do not access freed memory |
C++4631 | DCL57-CPP. Do not let exceptions escape from destructors or deallocation functions |
C++4632 | MEM52-CPP. Detect and handle memory allocation errors |
C++4632 | ERR55-CPP. Honor exception specifications |
C++4634 | ERR58-CPP. Handle all exceptions thrown before main() begins executing |
C++4636 | ERR58-CPP. Handle all exceptions thrown before main() begins executing |
C++4637 | ERR58-CPP. Handle all exceptions thrown before main() begins executing |
C++4639 | ERR54-CPP. Catch handlers should order their parameter types from most derived to least derived |
C++4639 | ERR58-CPP. Handle all exceptions thrown before main() begins executing |
C++4671 | EXP55-CPP. Do not access a cv-qualified object through a cv-unqualified type |
C++4701 | EXP63-CPP. Do not rely on the value of a moved-from object |
C++4702 | EXP63-CPP. Do not rely on the value of a moved-from object |
C++4703 | EXP63-CPP. Do not rely on the value of a moved-from object |
C++4706 | EXP61-CPP. A lambda object must not outlive any of its reference captured objects |
C++4707 | EXP61-CPP. A lambda object must not outlive any of its reference captured objects |
C++4708 | EXP61-CPP. A lambda object must not outlive any of its reference captured objects |
C++4711 | FIO50-CPP. Do not alternately input and output from a file stream without an intervening positioning call |
C++4712 | FIO50-CPP. Do not alternately input and output from a file stream without an intervening positioning call |
C++4713 | FIO50-CPP. Do not alternately input and output from a file stream without an intervening positioning call |
C++4721 | MEM56-CPP. Do not store an already-owned pointer value in an unrelated smart pointer |
C++4722 | MEM56-CPP. Do not store an already-owned pointer value in an unrelated smart pointer |
C++4723 | MEM56-CPP. Do not store an already-owned pointer value in an unrelated smart pointer |
C++4726 | EXP62-CPP. Do not access the bits of an object representation that are not part of the object's value representation |
C++4727 | EXP62-CPP. Do not access the bits of an object representation that are not part of the object's value representation |
C++4728 | EXP62-CPP. Do not access the bits of an object representation that are not part of the object's value representation |
C++4729 | EXP62-CPP. Do not access the bits of an object representation that are not part of the object's value representation |
C++4731 | EXP62-CPP. Do not access the bits of an object representation that are not part of the object's value representation |
C++4732 | EXP62-CPP. Do not access the bits of an object representation that are not part of the object's value representation |
C++4733 | EXP62-CPP. Do not access the bits of an object representation that are not part of the object's value representation |
C++4734 | EXP62-CPP. Do not access the bits of an object representation that are not part of the object's value representation |
C++4736 | MEM55-CPP. Honor replacement dynamic storage management requirements |
C++4737 | MEM55-CPP. Honor replacement dynamic storage management requirements |
C++4738 | MEM55-CPP. Honor replacement dynamic storage management requirements |
C++4739 | MEM55-CPP. Honor replacement dynamic storage management requirements |
C++4741 | EXP60-CPP. Do not pass a nonstandard-layout type object across execution boundaries |
C++4742 | EXP60-CPP. Do not pass a nonstandard-layout type object across execution boundaries |
C++4743 | EXP60-CPP. Do not pass a nonstandard-layout type object across execution boundaries |
C++4746 | CTR51-CPP. Use valid references, pointers, and iterators to reference elements of a container |
C++4746 | STR52-CPP. Use valid references, pointers, and iterators to reference elements of a basic_string |
C++4747 | CTR51-CPP. Use valid references, pointers, and iterators to reference elements of a container |
C++4747 | STR52-CPP. Use valid references, pointers, and iterators to reference elements of a basic_string |
C++4748 | CTR51-CPP. Use valid references, pointers, and iterators to reference elements of a container |
C++4748 | STR52-CPP. Use valid references, pointers, and iterators to reference elements of a basic_string |
C++4749 | CTR51-CPP. Use valid references, pointers, and iterators to reference elements of a container |
C++4749 | STR52-CPP. Use valid references, pointers, and iterators to reference elements of a basic_string |
C++4756 | ERR57-CPP. Do not leak resources when handling exceptions |
C++4757 | ERR57-CPP. Do not leak resources when handling exceptions |
C++4758 | ERR57-CPP. Do not leak resources when handling exceptions |
C++4761 | MEM53-CPP. Explicitly construct and destruct objects when manually managing object lifetime |
C++4762 | MEM53-CPP. Explicitly construct and destruct objects when manually managing object lifetime |
C++4766 | MEM53-CPP. Explicitly construct and destruct objects when manually managing object lifetime |
C++4767 | MEM53-CPP. Explicitly construct and destruct objects when manually managing object lifetime |
C++4770 | STR51-CPP. Do not attempt to create a std::string from a null pointer |
C++4771 | STR51-CPP. Do not attempt to create a std::string from a null pointer |
C++4772 | STR51-CPP. Do not attempt to create a std::string from a null pointer |
C++4773 | STR51-CPP. Do not attempt to create a std::string from a null pointer |
C++4774 | STR51-CPP. Do not attempt to create a std::string from a null pointer |
C++4776 | OOP56-CPP. Honor replacement handler requirements |
C++4777 | OOP56-CPP. Honor replacement handler requirements |
C++4778 | OOP56-CPP. Honor replacement handler requirements |
C++4779 | OOP56-CPP. Honor replacement handler requirements |
C++4786 | FIO51-CPP. Close files when they are no longer needed |
C++4787 | FIO51-CPP. Close files when they are no longer needed |
C++4788 | FIO51-CPP. Close files when they are no longer needed |
C++4941 | DCL55-CPP. Avoid information leakage when passing a class object across a trust boundary |
C++4942 | DCL55-CPP. Avoid information leakage when passing a class object across a trust boundary |
C++4943 | DCL55-CPP. Avoid information leakage when passing a class object across a trust boundary |
C++4961 | CON50-CPP. Do not destroy a mutex while it is locked |
C++4962 | CON50-CPP. Do not destroy a mutex while it is locked |
C++4986 | CON56-CPP. Do not speculatively lock a non-recursive mutex that is already owned by the calling thread |
C++4987 | CON56-CPP. Do not speculatively lock a non-recursive mutex that is already owned by the calling thread |
C++5003 | DCL51-CPP. Do not declare or define a reserved identifier |
C++5014 | ERR50-CPP. Do not abruptly terminate the program |
C++5015 | ERR52-CPP. Do not use setjmp() or longjmp() |
C++5017 | OOP57-CPP. Prefer special member functions and overloaded operators to C Standard Library functions |
C++5018 | CON51-CPP. Ensure actively held locks are released on exceptional conditions |
C++5019 | CON54-CPP. Wrap functions that can spuriously wake up in a loop |
C++5028 | MSC50-CPP. Do not use std::rand() for generating pseudorandom numbers |
C++5038 | OOP57-CPP. Prefer special member functions and overloaded operators to C Standard Library functions |
C++5041 | MSC51-CPP. Ensure your random number generator is properly seeded |
not subtract iterators that do not refer to the same container |
DF2727 | EXP53-CPP. Do not read uninitialized memory |
DF2728 | EXP53-CPP. Do not read uninitialized memory |
DF2761 | CTR54-CPP. Do not subtract iterators that do not refer to the same container |
DF2762 | CTR54-CPP. Do not subtract iterators that do not refer to the same container |
DF2763 | CTR54-CPP. Do not subtract iterators that do not refer to the same container |
DF2766 | CTR54-CPP. Do not subtract iterators that do not refer to the same container |
DF2767 | CTR54-CPP. Do not subtract iterators that do not refer to the same container |
DF2768 | CTR54-CPP. Do not subtract iterators that do not refer to the same container |
DF2810 | OOP55-CPP. Do not use pointer-to-member operators to access nonexistent members |
DF2811 | OOP55-CPP. Do not use pointer-to-member operators to access nonexistent members |
DF2812 | EXP54-CPP. Do not access an object outside of its lifetime |
DF2812 | OOP55-CPP. Do not use pointer-to-member operators to access nonexistent members |
DF2813 | EXP54-CPP. Do not access an object outside of its lifetime |
DF2813 | OOP55-CPP. Do not use pointer-to-member operators to access nonexistent members |
DF2814 | EXP54-CPP. Do not access an object outside of its lifetime |
DF2814 | OOP55-CPP. Do not use pointer-to-member operators to access nonexistent members |
DF2835 | STR50-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminator |
DF2836 | STR50-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminator |
DF2839 | STR50-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminator |
DF2886 | MSC53-CPP. Do not return from a function declared [[noreturn]] |
DF2888 | MSC52-CPP. Value-returning functions must return a value from all exit paths |
DF2891 | CTR50-CPP. Guarantee that container indices and iterators are within the valid range |
DF2930 | EXP54-CPP. Do not access an object outside of its lifetime |
DF2931 | EXP54-CPP. Do not access an object outside of its lifetime |
DF2932 | EXP54-CPP. Do not access an object outside of its lifetime |
DF2933 | EXP54-CPP. Do not access an object outside of its lifetime |
DF2934 | EXP54-CPP. Do not access an object outside of its lifetime |
DF2961 | EXP53-CPP. Do not read uninitialized memory |
DF2962 | EXP53-CPP. Do not read uninitialized memory |
DF2963 | EXP53-CPP. Do not read uninitialized memory |
DF2966 | EXP53-CPP. Do not read uninitialized memory |
DF2967 | EXP53-CPP. Do not read uninitialized memory |
DF2968 | EXP53-CPP. Do not read uninitialized memory |
DF2971 | EXP53-CPP. Do not read uninitialized memory |
DF2972 | EXP53-CPP. Do not read uninitialized memory |
DF2973 | EXP53-CPP. Do not read uninitialized memory |
DF2976 | EXP53-CPP. Do not read uninitialized memory |
DF2977 | EXP53-CPP. Do not read uninitialized memory |
DF3520 | MEM54-CPP. Provide placement new with properly aligned pointers to sufficient storage capacity |
DF3521 | MEM54-CPP. Provide placement new with properly aligned pointers to sufficient storage capacity |
DF3522 | MEM54-CPP. Provide placement new with properly aligned pointers to sufficient storage capacity |
DF3523 | MEM54-CPP. Provide placement new with properly aligned pointers to sufficient storage capacity |
DF3526 | CTR52-CPP. Guarantee that library functions do not overflow |
DF3526 | CTR55-CPP. Do not use an additive operator on an iterator if the result would overflow |
DF3527 | CTR52-CPP. Guarantee that library functions do not overflow |
DF3527 | CTR55-CPP. Do not use an additive operator on an iterator if the result would overflow |
DF3528 | CTR52-CPP. Guarantee that library functions do not overflow |
DF3528 | CTR55-CPP. Do not use an additive operator on an iterator if the result would overflow |
DF3529 | CTR52-CPP. Guarantee that library functions do not overflow |
DF3529 | CTR55-CPP. Do not use an additive operator on an iterator if the result would overflow |
DF3530 | CTR52-CPP. Guarantee that library functions do not overflow |
DF3530 | CTR55-CPP. Do not use an additive operator on an iterator if the result would overflow |
DF3531 | CTR52-CPP. Guarantee that library functions do not overflow |
DF3531 | CTR55-CPP. Do not use an additive operator on an iterator if the result would overflow |
DF3532 | CTR52-CPP. Guarantee that library functions do not overflow |
DF3532 | CTR55-CPP. Do not use an additive operator on an iterator if the result would overflow |
DF3533 | CTR52-CPP. Guarantee that library functions do not overflow |
DF3533 | CTR55-CPP. Do not use an additive operator on an iterator if the result would overflow |
DF3534 | CTR52-CPP. Guarantee that library functions do not overflow |
DF3534 | CTR55-CPP. Do not use an additive operator on an iterator if the result would overflow |
DF4701 | EXP63-CPP. Do not rely on the value of a moved-from object |
DF4702 | EXP63-CPP. Do not rely on the value of a moved-from object |
DF4703 | EXP63-CPP. Do not rely on the value of a moved-from object |
DF4706 | EXP61-CPP. A lambda object must not outlive any of its reference captured objects |
DF4707 | EXP61-CPP. A lambda object must not outlive any of its reference captured objects |
DF4708 | EXP61-CPP. A lambda object must not outlive any of its reference captured objects |
DF4711 | FIO50-CPP. Do not alternately input and output from a file stream without an intervening positioning call |
DF4712 | FIO50-CPP. Do not alternately input and output from a file stream without an intervening positioning call |
DF4713 | FIO50-CPP. Do not alternately input and output from a file stream without an intervening positioning call |
DF4721 | MEM56-CPP. Do not store an already-owned pointer value in an unrelated smart pointer |
DF4722 | MEM56-CPP. Do not store an already-owned pointer value in an unrelated smart pointer |
DF4723 | MEM56-CPP. Do not store an already-owned pointer value in an unrelated smart pointer |
DF4726 | EXP62-CPP. Do not access the bits of an object representation that are not part of the object's value representation |
DF4727 | EXP62-CPP. Do not access the bits of an object representation that are not part of the object's value representation |
DF4728 | EXP62-CPP. Do not access the bits of an object representation that are not part of the object's value representation |
DF4729 | EXP62-CPP. Do not access the bits of an object representation that are not part of the object's value representation |
DF4731 | EXP62-CPP. Do not access the bits of an object representation that are not part of the object's value representation |
DF4732 | EXP62-CPP. Do not access the bits of an object representation that are not part of the object's value representation |
DF4733 | EXP62-CPP. Do not access the bits of an object representation that are not part of the object's value representation |
DF4734 | EXP62-CPP. Do not access the bits of an object representation that are not part of the object's value representation |
DF4736 | MEM55-CPP. Honor replacement dynamic storage management requirements |
DF4737 | MEM55-CPP. Honor replacement dynamic storage management requirements |
DF4738 | MEM55-CPP. Honor replacement dynamic storage management requirements |
DF4739 | MEM55-CPP. Honor replacement dynamic storage management requirements |
DF4741 | EXP60-CPP. Do not pass a nonstandard-layout type object across execution boundaries |
DF4742 | EXP60-CPP. Do not pass a nonstandard-layout type object across execution boundaries |
DF4743 | EXP60-CPP. Do not pass a nonstandard-layout type object across execution boundaries |
DF4746 | CTR51-CPP. Use valid references, pointers, and iterators to reference elements of a container |
DF4746 | STR52-CPP. Use valid references, pointers, and iterators to reference elements of a basic_string |
DF4747 | CTR51-CPP. Use valid references, pointers, and iterators to reference elements of a container |
DF4747 | STR52-CPP. Use valid references, pointers, and iterators to reference elements of a basic_string |
DF4748 | CTR51-CPP. Use valid references, pointers, and iterators to reference elements of a container |
DF4748 | STR52-CPP. Use valid references, pointers, and iterators to reference elements of a basic_string |
DF4749 | CTR51-CPP. Use valid references, pointers, and iterators to reference elements of a container |
DF4749 | STR52-CPP. Use valid references, pointers, and iterators to reference elements of a basic_string |
DF4756 | ERR57-CPP. Do not leak resources when handling exceptions |
DF4757 | ERR57-CPP. Do not leak resources when handling exceptions |
DF4758 | ERR57-CPP. Do not leak resources when handling exceptions |
DF4761 | MEM53-CPP. Explicitly construct and destruct objects when manually managing object lifetime |
DF4762 | MEM53-CPP. Explicitly construct and destruct objects when manually managing object lifetime |
DF4766 | MEM53-CPP. Explicitly construct and destruct objects when manually managing object lifetime |
DF4767 | MEM53-CPP. Explicitly construct and destruct objects when manually managing object lifetime |
DF4770 | STR51-CPP. Do not attempt to create a std::string from a null pointer |
DF4771 | STR51-CPP. Do not attempt to create a std::string from a null pointer |
DF4772 | STR51-CPP. Do not attempt to create a std::string from a null pointer |
DF4773 | STR51-CPP. Do not attempt to create a std::string from a null pointer |
DF4774 | STR51-CPP. Do not attempt to create a std::string from a null pointer |
DF4776 | OOP56-CPP. Honor replacement handler requirements |
DF4777 | OOP56-CPP. Honor replacement handler requirements |
DF4778 | OOP56-CPP. Honor replacement handler requirements |
DF4779 | OOP56-CPP. Honor replacement handler requirements |
DF4786 | FIO51-CPP. Close files when they are no longer needed |
DF4787 | FIO51-CPP. Close files when they are no longer needed |
DF4788 | FIO51-CPP. Close files when they are no longer needed |
DF4941 | DCL55-CPP. Avoid information leakage when passing a class object across a trust boundary |
DF4942 | DCL55-CPP. Avoid information leakage when passing a class object across a trust boundary |
DF4943 | DCL55-CPP. Avoid information leakage when passing a class object across a trust boundary |
DF4962 | CON50-CPP. Do not destroy a mutex while it is locked | C++5216 | STR50-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminator |