[{"data":1,"prerenderedAt":1248},["ShallowReactive",2],{"global-navigation":3,"page-\u002Fsei-cert-cpp-coding-standard\u002Frules":28,"surround-\u002Fsei-cert-cpp-coding-standard\u002Frules":697,"sidebar-sei-cert-cpp-coding-standard":706},[4,8],{"title":5,"path":6,"_path":6,"fromAppConfig":7},"Home","\u002F",true,{"title":9,"path":10,"children":11,"_path":27,"fromAppConfig":7},"Coding Standards","\u002Fcoding-standards\u002F",[12,15,18,21,24],{"title":13,"path":14},"Android Coding Standard","\u002Fandroid-secure-coding-standard\u002F",{"title":16,"path":17},"C Coding Standard","\u002Fsei-cert-c-coding-standard\u002F",{"title":19,"path":20},"C++ Coding Standard","\u002Fsei-cert-cpp-coding-standard\u002F",{"title":22,"path":23},"Java Coding Standard","\u002Fsei-cert-oracle-coding-standard-for-java\u002F",{"title":25,"path":26},"Perl Coding Standard","\u002Fsei-cert-perl-coding-standard\u002F","\u002Fcoding-standards",{"id":29,"title":30,"body":31,"description":686,"extension":689,"meta":690,"navigation":7,"path":693,"seo":694,"stem":695,"__hash__":696},"content\u002F5.sei-cert-cpp-coding-standard\u002F3.rules\u002F01.index.md","Rules",{"type":32,"value":33,"toc":685},"minimark",[34,38,109,113,125,129],[35,36,30],"h1",{"id":37},"rules",[39,40,41,49,55,61,67,73,79,85,91,97,103],"ul",{},[42,43,44],"li",{},[45,46,48],"a",{"href":47},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl\u002F","Rule 01. Declarations and Initialization (DCL)",[42,50,51],{},[45,52,54],{"href":53},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexpressions-exp\u002F","Rule 02. Expressions (EXP)",[42,56,57],{},[45,58,60],{"href":59},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fintegers-int\u002F","Rule 03. Integers (INT)",[42,62,63],{},[45,64,66],{"href":65},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fcontainers-ctr\u002F","Rule 04. Containers (CTR)",[42,68,69],{},[45,70,72],{"href":71},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fcharacters-and-strings-str\u002F","Rule 05. Characters and Strings (STR)",[42,74,75],{},[45,76,78],{"href":77},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fmemory-management-mem\u002F","Rule 06. Memory Management (MEM)",[42,80,81],{},[45,82,84],{"href":83},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Finput-output-fio\u002F","Rule 07. Input Output (FIO)",[42,86,87],{},[45,88,90],{"href":89},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexceptions-and-error-handling-err\u002F","Rule 08. Exceptions and Error Handling (ERR)",[42,92,93],{},[45,94,96],{"href":95},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fobject-oriented-programming-oop\u002F","Rule 09. Object Oriented Programming (OOP)",[42,98,99],{},[45,100,102],{"href":101},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fconcurrency-con\u002F","Rule 10. Concurrency (CON)",[42,104,105],{},[45,106,108],{"href":107},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fmiscellaneous-msc\u002F","Rule 49. Miscellaneous (MSC)",[110,111,112],"p",{},"Information for Editors",[110,114,115,116,120,121,124],{},"To have a section listed above, label it ",[117,118,119],"em",{},"section"," and ",[117,122,123],{},"rule"," .",[35,126,128],{"id":127},"rule-listing","Rule Listing",[39,130,131,137,143,149,155,161,167,173,179,185,191,197,203,209,215,221,227,233,239,245,251,257,263,269,275,281,287,293,299,305,311,317,323,329,335,341,347,353,359,365,371,377,383,389,395,401,407,413,419,425,431,437,443,449,455,461,467,473,479,485,491,497,503,509,515,521,527,533,539,545,551,557,563,569,575,581,587,593,599,605,611,617,621,625,629,633,637,641,645,649,653,657,661,667,673,679],{},[42,132,133],{},[45,134,136],{"href":135},"\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Faa-bibliography","AA. Bibliography",[42,138,139],{},[45,140,142],{"href":141},"\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fbb-definitions","BB. Definitions",[42,144,145],{},[45,146,148],{"href":147},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fconcurrency-con\u002Fcon50-cpp","CON50-CPP. Do not destroy a mutex while it is locked",[42,150,151],{},[45,152,154],{"href":153},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fconcurrency-con\u002Fcon51-cpp","CON51-CPP. Ensure actively held locks are released on exceptional conditions",[42,156,157],{},[45,158,160],{"href":159},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fconcurrency-con\u002Fcon52-cpp","CON52-CPP. Prevent data races when accessing bit-fields from multiple threads",[42,162,163],{},[45,164,166],{"href":165},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fconcurrency-con\u002Fcon53-cpp","CON53-CPP. Avoid deadlock by locking in a predefined order",[42,168,169],{},[45,170,172],{"href":171},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fconcurrency-con\u002Fcon54-cpp","CON54-CPP. Wrap functions that can spuriously wake up in a loop",[42,174,175],{},[45,176,178],{"href":177},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fconcurrency-con\u002Fcon55-cpp","CON55-CPP. Preserve thread safety and liveness when using condition variables",[42,180,181],{},[45,182,184],{"href":183},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fconcurrency-con\u002Fcon56-cpp","CON56-CPP. Do not speculatively lock a non-recursive mutex that is already owned by the calling thread",[42,186,187],{},[45,188,190],{"href":189},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fcontainers-ctr\u002Fctr50-cpp","CTR50-CPP. Guarantee that container indices and iterators are within the valid range",[42,192,193],{},[45,194,196],{"href":195},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fcontainers-ctr\u002Fctr51-cpp","CTR51-CPP. Use valid references, pointers, and iterators to reference elements of a container",[42,198,199],{},[45,200,202],{"href":201},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fcontainers-ctr\u002Fctr52-cpp","CTR52-CPP. Guarantee that library functions do not overflow",[42,204,205],{},[45,206,208],{"href":207},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fcontainers-ctr\u002Fctr53-cpp","CTR53-CPP. Use valid iterator ranges",[42,210,211],{},[45,212,214],{"href":213},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fcontainers-ctr\u002Fctr54-cpp","CTR54-CPP. Do not subtract iterators that do not refer to the same container",[42,216,217],{},[45,218,220],{"href":219},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fcontainers-ctr\u002Fctr55-cpp","CTR55-CPP. Do not use an additive operator on an iterator if the result would overflow",[42,222,223],{},[45,224,226],{"href":225},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fcontainers-ctr\u002Fctr56-cpp","CTR56-CPP. Do not use pointer arithmetic on polymorphic objects",[42,228,229],{},[45,230,232],{"href":231},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fcontainers-ctr\u002Fctr57-cpp","CTR57-CPP. Provide a valid ordering predicate",[42,234,235],{},[45,236,238],{"href":237},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fcontainers-ctr\u002Fctr58-cpp","CTR58-CPP. Predicate function objects should not be mutable",[42,240,241],{},[45,242,244],{"href":243},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl\u002Fdcl50-cpp","DCL50-CPP. Do not define a C-style variadic function",[42,246,247],{},[45,248,250],{"href":249},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl\u002Fdcl51-cpp","DCL51-CPP. Do not declare or define a reserved identifier",[42,252,253],{},[45,254,256],{"href":255},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl\u002Fdcl52-cpp","DCL52-CPP. Never qualify a reference type with const or volatile",[42,258,259],{},[45,260,262],{"href":261},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl\u002Fdcl53-cpp","DCL53-CPP. Do not write syntactically ambiguous declarations",[42,264,265],{},[45,266,268],{"href":267},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl\u002Fdcl54-cpp","DCL54-CPP. Overload allocation and deallocation functions as a pair in the same scope",[42,270,271],{},[45,272,274],{"href":273},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl\u002Fdcl55-cpp","DCL55-CPP. Avoid information leakage when passing a class object across a trust boundary",[42,276,277],{},[45,278,280],{"href":279},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl\u002Fdcl56-cpp","DCL56-CPP. Avoid cycles during initialization of static objects",[42,282,283],{},[45,284,286],{"href":285},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl\u002Fdcl57-cpp","DCL57-CPP. Do not let exceptions escape from destructors or deallocation functions",[42,288,289],{},[45,290,292],{"href":291},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl\u002Fdcl58-cpp","DCL58-CPP. Do not modify the standard namespaces",[42,294,295],{},[45,296,298],{"href":297},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl\u002Fdcl59-cpp","DCL59-CPP. Do not define an unnamed namespace in a header file",[42,300,301],{},[45,302,304],{"href":303},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl\u002Fdcl60-cpp","DCL60-CPP. Obey the one-definition rule",[42,306,307],{},[45,308,310],{"href":309},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexceptions-and-error-handling-err\u002Ferr50-cpp","ERR50-CPP. Do not abruptly terminate the program",[42,312,313],{},[45,314,316],{"href":315},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexceptions-and-error-handling-err\u002Ferr51-cpp","ERR51-CPP. Handle all exceptions",[42,318,319],{},[45,320,322],{"href":321},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexceptions-and-error-handling-err\u002Ferr52-cpp","ERR52-CPP. Do not use setjmp() or longjmp()",[42,324,325],{},[45,326,328],{"href":327},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexceptions-and-error-handling-err\u002Ferr53-cpp","ERR53-CPP. Do not reference base classes or class data members in a constructor or destructor function-try-block handler",[42,330,331],{},[45,332,334],{"href":333},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexceptions-and-error-handling-err\u002Ferr54-cpp","ERR54-CPP. Catch handlers should order their parameter types from most derived to least derived",[42,336,337],{},[45,338,340],{"href":339},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexceptions-and-error-handling-err\u002Ferr55-cpp","ERR55-CPP. Honor exception specifications",[42,342,343],{},[45,344,346],{"href":345},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexceptions-and-error-handling-err\u002Ferr56-cpp","ERR56-CPP. Guarantee exception safety",[42,348,349],{},[45,350,352],{"href":351},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexceptions-and-error-handling-err\u002Ferr57-cpp","ERR57-CPP. Do not leak resources when handling exceptions",[42,354,355],{},[45,356,358],{"href":357},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexceptions-and-error-handling-err\u002Ferr58-cpp","ERR58-CPP. Handle all exceptions thrown before main() begins executing",[42,360,361],{},[45,362,364],{"href":363},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexceptions-and-error-handling-err\u002Ferr59-cpp","ERR59-CPP. Do not throw an exception across execution boundaries",[42,366,367],{},[45,368,370],{"href":369},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexceptions-and-error-handling-err\u002Ferr60-cpp","ERR60-CPP. Exception objects must be nothrow copy constructible",[42,372,373],{},[45,374,376],{"href":375},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexceptions-and-error-handling-err\u002Ferr61-cpp","ERR61-CPP. Catch exceptions by lvalue reference",[42,378,379],{},[45,380,382],{"href":381},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexceptions-and-error-handling-err\u002Ferr62-cpp","ERR62-CPP. Detect errors when converting a string to a number",[42,384,385],{},[45,386,388],{"href":387},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp50-cpp","EXP50-CPP. Do not depend on the order of evaluation for side effects",[42,390,391],{},[45,392,394],{"href":393},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp51-cpp","EXP51-CPP. Do not delete an array through a pointer of the incorrect type",[42,396,397],{},[45,398,400],{"href":399},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp52-cpp","EXP52-CPP. Do not rely on side effects in unevaluated operands",[42,402,403],{},[45,404,406],{"href":405},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp53-cpp","EXP53-CPP. Do not read uninitialized memory",[42,408,409],{},[45,410,412],{"href":411},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp54-cpp","EXP54-CPP. Do not access an object outside of its lifetime",[42,414,415],{},[45,416,418],{"href":417},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp55-cpp","EXP55-CPP. Do not access a cv-qualified object through a cv-unqualified type",[42,420,421],{},[45,422,424],{"href":423},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp56-cpp","EXP56-CPP. Do not call a function with a mismatched language linkage",[42,426,427],{},[45,428,430],{"href":429},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp57-cpp","EXP57-CPP. Do not cast or delete pointers to incomplete classes",[42,432,433],{},[45,434,436],{"href":435},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp58-cpp","EXP58-CPP. Pass an object of the correct type to va_start",[42,438,439],{},[45,440,442],{"href":441},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp59-cpp","EXP59-CPP. Use offsetof() on valid types and members",[42,444,445],{},[45,446,448],{"href":447},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp60-cpp","EXP60-CPP. Do not pass a nonstandard-layout type object across execution boundaries",[42,450,451],{},[45,452,454],{"href":453},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp61-cpp","EXP61-CPP. A lambda object must not outlive any of its reference captured objects",[42,456,457],{},[45,458,460],{"href":459},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp62-cpp","EXP62-CPP. Do not access the bits of an object representation that are not part of the object's value representation",[42,462,463],{},[45,464,466],{"href":465},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp63-cpp","EXP63-CPP. Do not rely on the value of a moved-from object",[42,468,469],{},[45,470,472],{"href":471},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Finput-output-fio\u002Ffio50-cpp","FIO50-CPP. Do not alternately input and output from a file stream without an intervening positioning call",[42,474,475],{},[45,476,478],{"href":477},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Finput-output-fio\u002Ffio51-cpp","FIO51-CPP. Close files when they are no longer needed",[42,480,481],{},[45,482,484],{"href":483},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fintegers-int\u002Fint50-cpp","INT50-CPP. Do not cast to an out-of-range enumeration value",[42,486,487],{},[45,488,490],{"href":489},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fmemory-management-mem\u002Fmem50-cpp","MEM50-CPP. Do not access freed memory",[42,492,493],{},[45,494,496],{"href":495},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fmemory-management-mem\u002Fmem51-cpp","MEM51-CPP. Properly deallocate dynamically allocated resources",[42,498,499],{},[45,500,502],{"href":501},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fmemory-management-mem\u002Fmem52-cpp","MEM52-CPP. Detect and handle memory allocation errors",[42,504,505],{},[45,506,508],{"href":507},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fmemory-management-mem\u002Fmem53-cpp","MEM53-CPP. Explicitly construct and destruct objects when manually managing object lifetime",[42,510,511],{},[45,512,514],{"href":513},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fmemory-management-mem\u002Fmem54-cpp","MEM54-CPP. Provide placement new with properly aligned pointers to sufficient storage capacity",[42,516,517],{},[45,518,520],{"href":519},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fmemory-management-mem\u002Fmem55-cpp","MEM55-CPP. Honor replacement dynamic storage management requirements",[42,522,523],{},[45,524,526],{"href":525},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fmemory-management-mem\u002Fmem56-cpp","MEM56-CPP. Do not store an already-owned pointer value in an unrelated smart pointer",[42,528,529],{},[45,530,532],{"href":531},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fmemory-management-mem\u002Fmem57-cpp","MEM57-CPP. Avoid using default operator new for over-aligned types",[42,534,535],{},[45,536,538],{"href":537},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fmiscellaneous-msc\u002Frand-for-generating-pseudorandom-numbers","MSC50-CPP. Do not use std::rand() for generating pseudorandom numbers",[42,540,541],{},[45,542,544],{"href":543},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fmiscellaneous-msc\u002Fmsc51-cpp","MSC51-CPP. Ensure your random number generator is properly seeded",[42,546,547],{},[45,548,550],{"href":549},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fmiscellaneous-msc\u002Fmsc52-cpp","MSC52-CPP. Value-returning functions must return a value from all exit paths",[42,552,553],{},[45,554,556],{"href":555},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fmiscellaneous-msc\u002Fmsc53-cpp","MSC53-CPP. Do not return from a function declared [[noreturn]]",[42,558,559],{},[45,560,562],{"href":561},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fmiscellaneous-msc\u002Fmsc54-cpp","MSC54-CPP. A signal handler must be a plain old function",[42,564,565],{},[45,566,568],{"href":567},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fobject-oriented-programming-oop\u002Foop50-cpp","OOP50-CPP. Do not invoke virtual functions from constructors or destructors",[42,570,571],{},[45,572,574],{"href":573},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fobject-oriented-programming-oop\u002Foop51-cpp","OOP51-CPP. Do not slice derived objects",[42,576,577],{},[45,578,580],{"href":579},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fobject-oriented-programming-oop\u002Foop52-cpp","OOP52-CPP. Do not delete a polymorphic object without a virtual destructor",[42,582,583],{},[45,584,586],{"href":585},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fobject-oriented-programming-oop\u002Foop53-cpp","OOP53-CPP. Write constructor member initializers in the canonical order",[42,588,589],{},[45,590,592],{"href":591},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fobject-oriented-programming-oop\u002Foop54-cpp","OOP54-CPP. Gracefully handle self-copy assignment",[42,594,595],{},[45,596,598],{"href":597},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fobject-oriented-programming-oop\u002Foop55-cpp","OOP55-CPP. Do not use pointer-to-member operators to access nonexistent members",[42,600,601],{},[45,602,604],{"href":603},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fobject-oriented-programming-oop\u002Foop56-cpp","OOP56-CPP. Honor replacement handler requirements",[42,606,607],{},[45,608,610],{"href":609},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fobject-oriented-programming-oop\u002Foop57-cpp","OOP57-CPP. Prefer special member functions and overloaded operators to C Standard Library functions",[42,612,613],{},[45,614,616],{"href":615},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fobject-oriented-programming-oop\u002Foop58-cpp","OOP58-CPP. Copy operations must not mutate the source object",[42,618,619],{},[45,620,48],{"href":47},[42,622,623],{},[45,624,54],{"href":53},[42,626,627],{},[45,628,60],{"href":59},[42,630,631],{},[45,632,66],{"href":65},[42,634,635],{},[45,636,72],{"href":71},[42,638,639],{},[45,640,78],{"href":77},[42,642,643],{},[45,644,84],{"href":83},[42,646,647],{},[45,648,90],{"href":89},[42,650,651],{},[45,652,96],{"href":95},[42,654,655],{},[45,656,102],{"href":101},[42,658,659],{},[45,660,108],{"href":107},[42,662,663],{},[45,664,666],{"href":665},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fcharacters-and-strings-str\u002Fstr50-cpp","STR50-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminator",[42,668,669],{},[45,670,672],{"href":671},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fcharacters-and-strings-str\u002Fstring-from-a-null-pointer","STR51-CPP. Do not attempt to create a std::string from a null pointer",[42,674,675],{},[45,676,678],{"href":677},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fcharacters-and-strings-str\u002Fstr52-cpp","STR52-CPP. Use valid references, pointers, and iterators to reference elements of a basic_string",[42,680,681],{},[45,682,684],{"href":683},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fcharacters-and-strings-str\u002Fstr53-cpp","STR53-CPP. Range check element access",{"title":686,"searchDepth":687,"depth":687,"links":688},"",2,[],"md",{"tags":691},[119,123,692],"section-list","\u002Fsei-cert-cpp-coding-standard\u002Frules",{"title":30,"description":686},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F01.index","P5g8yV610rOo6kmrA543cB-EiF99AKXbxtGMzjRZZB0",[698,702],{"title":699,"path":700,"stem":701,"children":-1},"Automated Detection","\u002Fsei-cert-cpp-coding-standard\u002Ffront-matter\u002Fintroduction\u002Fautomated-detection","5.sei-cert-cpp-coding-standard\u002F2.front-matter\u002F2.introduction\u002F15.automated-detection",{"title":703,"path":704,"stem":705,"children":-1},"Characters and Strings (STR)","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fcharacters-and-strings-str","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F02.characters-and-strings-str\u002F1.index",[707],{"title":708,"path":709,"stem":710,"children":711},"SEI CERT C++ Coding Standard","\u002Fsei-cert-cpp-coding-standard","5.sei-cert-cpp-coding-standard\u002F1.index",[712,713,778,1012,1234,1244],{"title":708,"path":709,"stem":710},{"title":714,"path":715,"stem":716,"children":717},"Front Matter","\u002Fsei-cert-cpp-coding-standard\u002Ffront-matter","5.sei-cert-cpp-coding-standard\u002F2.front-matter\u002F1.index",[718,719],{"title":714,"path":715,"stem":716},{"title":720,"path":721,"stem":722,"children":723},"Introduction","\u002Fsei-cert-cpp-coding-standard\u002Ffront-matter\u002Fintroduction","5.sei-cert-cpp-coding-standard\u002F2.front-matter\u002F2.introduction\u002F01.index",[724,725,729,733,737,741,745,749,753,757,761,765,769,773,777],{"title":720,"path":721,"stem":722},{"title":726,"path":727,"stem":728},"Scope","\u002Fsei-cert-cpp-coding-standard\u002Ffront-matter\u002Fintroduction\u002Fscope","5.sei-cert-cpp-coding-standard\u002F2.front-matter\u002F2.introduction\u002F02.scope",{"title":730,"path":731,"stem":732},"Audience","\u002Fsei-cert-cpp-coding-standard\u002Ffront-matter\u002Fintroduction\u002Faudience","5.sei-cert-cpp-coding-standard\u002F2.front-matter\u002F2.introduction\u002F03.audience",{"title":734,"path":735,"stem":736},"Usage","\u002Fsei-cert-cpp-coding-standard\u002Ffront-matter\u002Fintroduction\u002Fusage","5.sei-cert-cpp-coding-standard\u002F2.front-matter\u002F2.introduction\u002F04.usage",{"title":738,"path":739,"stem":740},"How this Coding Standard Is Organized","\u002Fsei-cert-cpp-coding-standard\u002Ffront-matter\u002Fintroduction\u002Fhow-this-coding-standard-is-organized","5.sei-cert-cpp-coding-standard\u002F2.front-matter\u002F2.introduction\u002F05.how-this-coding-standard-is-organized",{"title":742,"path":743,"stem":744},"Relation to the CERT C Coding Standard","\u002Fsei-cert-cpp-coding-standard\u002Ffront-matter\u002Fintroduction\u002Frelation-to-the-cert-c-coding-standard","5.sei-cert-cpp-coding-standard\u002F2.front-matter\u002F2.introduction\u002F06.relation-to-the-cert-c-coding-standard",{"title":746,"path":747,"stem":748},"Rules Versus Recommendations","\u002Fsei-cert-cpp-coding-standard\u002Ffront-matter\u002Fintroduction\u002Frules-versus-recommendations","5.sei-cert-cpp-coding-standard\u002F2.front-matter\u002F2.introduction\u002F07.rules-versus-recommendations",{"title":750,"path":751,"stem":752},"Tool Selection and Validation","\u002Fsei-cert-cpp-coding-standard\u002Ffront-matter\u002Fintroduction\u002Ftool-selection-and-validation","5.sei-cert-cpp-coding-standard\u002F2.front-matter\u002F2.introduction\u002F08.tool-selection-and-validation",{"title":754,"path":755,"stem":756},"Conformance Testing","\u002Fsei-cert-cpp-coding-standard\u002Ffront-matter\u002Fintroduction\u002Fconformance-testing","5.sei-cert-cpp-coding-standard\u002F2.front-matter\u002F2.introduction\u002F09.conformance-testing",{"title":758,"path":759,"stem":760},"Development Process","\u002Fsei-cert-cpp-coding-standard\u002Ffront-matter\u002Fintroduction\u002Fdevelopment-process","5.sei-cert-cpp-coding-standard\u002F2.front-matter\u002F2.introduction\u002F10.development-process",{"title":762,"path":763,"stem":764},"System Qualities","\u002Fsei-cert-cpp-coding-standard\u002Ffront-matter\u002Fintroduction\u002Fsystem-qualities","5.sei-cert-cpp-coding-standard\u002F2.front-matter\u002F2.introduction\u002F11.system-qualities",{"title":766,"path":767,"stem":768},"Automatically Generated Code","\u002Fsei-cert-cpp-coding-standard\u002Ffront-matter\u002Fintroduction\u002Fautomatically-generated-code","5.sei-cert-cpp-coding-standard\u002F2.front-matter\u002F2.introduction\u002F12.automatically-generated-code",{"title":770,"path":771,"stem":772},"Government Regulations","\u002Fsei-cert-cpp-coding-standard\u002Ffront-matter\u002Fintroduction\u002Fgovernment-regulations","5.sei-cert-cpp-coding-standard\u002F2.front-matter\u002F2.introduction\u002F13.government-regulations",{"title":774,"path":775,"stem":776},"Acknowledgments","\u002Fsei-cert-cpp-coding-standard\u002Ffront-matter\u002Fintroduction\u002Facknowledgments","5.sei-cert-cpp-coding-standard\u002F2.front-matter\u002F2.introduction\u002F14.acknowledgments",{"title":699,"path":700,"stem":701},{"title":30,"path":693,"stem":695,"children":779},[780,781,793,813,837,865,897,931,941,949,971,988],{"title":30,"path":693,"stem":695},{"title":703,"path":704,"stem":705,"children":782},[783,784,786,788,790],{"title":703,"path":704,"stem":705},{"title":666,"path":665,"stem":785},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F02.characters-and-strings-str\u002F2.str50-cpp",{"title":678,"path":677,"stem":787},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F02.characters-and-strings-str\u002F3.str52-cpp",{"title":684,"path":683,"stem":789},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F02.characters-and-strings-str\u002F4.str53-cpp",{"title":791,"path":671,"stem":792},"string from a null pointer","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F02.characters-and-strings-str\u002F5.string-from-a-null-pointer",{"title":794,"path":795,"stem":796,"children":797},"Concurrency (CON)","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fconcurrency-con","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F03.concurrency-con\u002F1.index",[798,799,801,803,805,807,809,811],{"title":794,"path":795,"stem":796},{"title":148,"path":147,"stem":800},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F03.concurrency-con\u002F2.con50-cpp",{"title":154,"path":153,"stem":802},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F03.concurrency-con\u002F3.con51-cpp",{"title":160,"path":159,"stem":804},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F03.concurrency-con\u002F4.con52-cpp",{"title":166,"path":165,"stem":806},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F03.concurrency-con\u002F5.con53-cpp",{"title":172,"path":171,"stem":808},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F03.concurrency-con\u002F6.con54-cpp",{"title":178,"path":177,"stem":810},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F03.concurrency-con\u002F7.con55-cpp",{"title":184,"path":183,"stem":812},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F03.concurrency-con\u002F8.con56-cpp",{"title":814,"path":815,"stem":816,"children":817},"Containers (CTR)","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fcontainers-ctr","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F04.containers-ctr\u002F01.index",[818,819,821,823,825,827,829,831,833,835],{"title":814,"path":815,"stem":816},{"title":190,"path":189,"stem":820},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F04.containers-ctr\u002F02.ctr50-cpp",{"title":196,"path":195,"stem":822},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F04.containers-ctr\u002F03.ctr51-cpp",{"title":202,"path":201,"stem":824},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F04.containers-ctr\u002F04.ctr52-cpp",{"title":208,"path":207,"stem":826},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F04.containers-ctr\u002F05.ctr53-cpp",{"title":214,"path":213,"stem":828},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F04.containers-ctr\u002F06.ctr54-cpp",{"title":220,"path":219,"stem":830},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F04.containers-ctr\u002F07.ctr55-cpp",{"title":226,"path":225,"stem":832},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F04.containers-ctr\u002F08.ctr56-cpp",{"title":232,"path":231,"stem":834},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F04.containers-ctr\u002F09.ctr57-cpp",{"title":238,"path":237,"stem":836},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F04.containers-ctr\u002F10.ctr58-cpp",{"title":838,"path":839,"stem":840,"children":841},"Declarations and Initialization (DCL)","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F05.declarations-and-initialization-dcl\u002F01.index",[842,843,845,847,849,851,853,855,857,859,861,863],{"title":838,"path":839,"stem":840},{"title":244,"path":243,"stem":844},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F05.declarations-and-initialization-dcl\u002F02.dcl50-cpp",{"title":250,"path":249,"stem":846},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F05.declarations-and-initialization-dcl\u002F03.dcl51-cpp",{"title":256,"path":255,"stem":848},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F05.declarations-and-initialization-dcl\u002F04.dcl52-cpp",{"title":262,"path":261,"stem":850},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F05.declarations-and-initialization-dcl\u002F05.dcl53-cpp",{"title":268,"path":267,"stem":852},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F05.declarations-and-initialization-dcl\u002F06.dcl54-cpp",{"title":274,"path":273,"stem":854},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F05.declarations-and-initialization-dcl\u002F07.dcl55-cpp",{"title":280,"path":279,"stem":856},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F05.declarations-and-initialization-dcl\u002F08.dcl56-cpp",{"title":286,"path":285,"stem":858},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F05.declarations-and-initialization-dcl\u002F09.dcl57-cpp",{"title":292,"path":291,"stem":860},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F05.declarations-and-initialization-dcl\u002F10.dcl58-cpp",{"title":298,"path":297,"stem":862},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F05.declarations-and-initialization-dcl\u002F11.dcl59-cpp",{"title":304,"path":303,"stem":864},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F05.declarations-and-initialization-dcl\u002F12.dcl60-cpp",{"title":866,"path":867,"stem":868,"children":869},"Exceptions and Error Handling (ERR)","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexceptions-and-error-handling-err","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F06.exceptions-and-error-handling-err\u002F01.index",[870,871,873,875,877,879,881,883,885,887,889,891,893,895],{"title":866,"path":867,"stem":868},{"title":310,"path":309,"stem":872},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F06.exceptions-and-error-handling-err\u002F02.err50-cpp",{"title":316,"path":315,"stem":874},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F06.exceptions-and-error-handling-err\u002F03.err51-cpp",{"title":322,"path":321,"stem":876},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F06.exceptions-and-error-handling-err\u002F04.err52-cpp",{"title":328,"path":327,"stem":878},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F06.exceptions-and-error-handling-err\u002F05.err53-cpp",{"title":334,"path":333,"stem":880},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F06.exceptions-and-error-handling-err\u002F06.err54-cpp",{"title":340,"path":339,"stem":882},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F06.exceptions-and-error-handling-err\u002F07.err55-cpp",{"title":346,"path":345,"stem":884},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F06.exceptions-and-error-handling-err\u002F08.err56-cpp",{"title":352,"path":351,"stem":886},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F06.exceptions-and-error-handling-err\u002F09.err57-cpp",{"title":358,"path":357,"stem":888},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F06.exceptions-and-error-handling-err\u002F10.err58-cpp",{"title":364,"path":363,"stem":890},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F06.exceptions-and-error-handling-err\u002F11.err59-cpp",{"title":370,"path":369,"stem":892},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F06.exceptions-and-error-handling-err\u002F12.err60-cpp",{"title":376,"path":375,"stem":894},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F06.exceptions-and-error-handling-err\u002F13.err61-cpp",{"title":382,"path":381,"stem":896},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F06.exceptions-and-error-handling-err\u002F14.err62-cpp",{"title":898,"path":899,"stem":900,"children":901},"Expressions (EXP)","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexpressions-exp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F07.expressions-exp\u002F01.index",[902,903,905,907,909,911,913,915,917,919,921,923,925,927,929],{"title":898,"path":899,"stem":900},{"title":388,"path":387,"stem":904},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F07.expressions-exp\u002F02.exp50-cpp",{"title":394,"path":393,"stem":906},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F07.expressions-exp\u002F03.exp51-cpp",{"title":400,"path":399,"stem":908},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F07.expressions-exp\u002F04.exp52-cpp",{"title":406,"path":405,"stem":910},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F07.expressions-exp\u002F05.exp53-cpp",{"title":412,"path":411,"stem":912},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F07.expressions-exp\u002F06.exp54-cpp",{"title":418,"path":417,"stem":914},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F07.expressions-exp\u002F07.exp55-cpp",{"title":424,"path":423,"stem":916},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F07.expressions-exp\u002F08.exp56-cpp",{"title":430,"path":429,"stem":918},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F07.expressions-exp\u002F09.exp57-cpp",{"title":436,"path":435,"stem":920},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F07.expressions-exp\u002F10.exp58-cpp",{"title":442,"path":441,"stem":922},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F07.expressions-exp\u002F11.exp59-cpp",{"title":448,"path":447,"stem":924},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F07.expressions-exp\u002F12.exp60-cpp",{"title":454,"path":453,"stem":926},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F07.expressions-exp\u002F13.exp61-cpp",{"title":460,"path":459,"stem":928},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F07.expressions-exp\u002F14.exp62-cpp",{"title":466,"path":465,"stem":930},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F07.expressions-exp\u002F15.exp63-cpp",{"title":932,"path":933,"stem":934,"children":935},"Input Output (FIO)","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Finput-output-fio","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F08.input-output-fio\u002F1.index",[936,937,939],{"title":932,"path":933,"stem":934},{"title":472,"path":471,"stem":938},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F08.input-output-fio\u002F2.fio50-cpp",{"title":478,"path":477,"stem":940},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F08.input-output-fio\u002F3.fio51-cpp",{"title":942,"path":943,"stem":944,"children":945},"Integers (INT)","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fintegers-int","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F09.integers-int\u002F1.index",[946,947],{"title":942,"path":943,"stem":944},{"title":484,"path":483,"stem":948},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F09.integers-int\u002F2.int50-cpp",{"title":950,"path":951,"stem":952,"children":953},"Memory Management (MEM)","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fmemory-management-mem","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F10.memory-management-mem\u002F1.index",[954,955,957,959,961,963,965,967,969],{"title":950,"path":951,"stem":952},{"title":490,"path":489,"stem":956},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F10.memory-management-mem\u002F2.mem50-cpp",{"title":496,"path":495,"stem":958},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F10.memory-management-mem\u002F3.mem51-cpp",{"title":502,"path":501,"stem":960},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F10.memory-management-mem\u002F4.mem52-cpp",{"title":508,"path":507,"stem":962},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F10.memory-management-mem\u002F5.mem53-cpp",{"title":514,"path":513,"stem":964},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F10.memory-management-mem\u002F6.mem54-cpp",{"title":520,"path":519,"stem":966},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F10.memory-management-mem\u002F7.mem55-cpp",{"title":526,"path":525,"stem":968},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F10.memory-management-mem\u002F8.mem56-cpp",{"title":532,"path":531,"stem":970},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F10.memory-management-mem\u002F9.mem57-cpp",{"title":972,"path":973,"stem":974,"children":975},"Miscellaneous (MSC)","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fmiscellaneous-msc","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F11.miscellaneous-msc\u002F1.index",[976,977,979,981,983,985],{"title":972,"path":973,"stem":974},{"title":544,"path":543,"stem":978},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F11.miscellaneous-msc\u002F2.msc51-cpp",{"title":550,"path":549,"stem":980},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F11.miscellaneous-msc\u002F3.msc52-cpp",{"title":556,"path":555,"stem":982},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F11.miscellaneous-msc\u002F4.msc53-cpp",{"title":562,"path":561,"stem":984},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F11.miscellaneous-msc\u002F5.msc54-cpp",{"title":986,"path":537,"stem":987},"rand() for generating pseudorandom numbers","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F11.miscellaneous-msc\u002F6.rand-for-generating-pseudorandom-numbers",{"title":989,"path":990,"stem":991,"children":992},"Object Oriented Programming (OOP)","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fobject-oriented-programming-oop","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F12.object-oriented-programming-oop\u002F01.index",[993,994,996,998,1000,1002,1004,1006,1008,1010],{"title":989,"path":990,"stem":991},{"title":568,"path":567,"stem":995},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F12.object-oriented-programming-oop\u002F02.oop50-cpp",{"title":574,"path":573,"stem":997},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F12.object-oriented-programming-oop\u002F03.oop51-cpp",{"title":580,"path":579,"stem":999},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F12.object-oriented-programming-oop\u002F04.oop52-cpp",{"title":586,"path":585,"stem":1001},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F12.object-oriented-programming-oop\u002F05.oop53-cpp",{"title":592,"path":591,"stem":1003},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F12.object-oriented-programming-oop\u002F06.oop54-cpp",{"title":598,"path":597,"stem":1005},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F12.object-oriented-programming-oop\u002F07.oop55-cpp",{"title":604,"path":603,"stem":1007},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F12.object-oriented-programming-oop\u002F08.oop56-cpp",{"title":610,"path":609,"stem":1009},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F12.object-oriented-programming-oop\u002F09.oop57-cpp",{"title":616,"path":615,"stem":1011},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F12.object-oriented-programming-oop\u002F10.oop58-cpp",{"title":1013,"path":1014,"stem":1015,"children":1016},"Back Matter","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F1.index",[1017,1018,1020,1022,1216,1230],{"title":1013,"path":1014,"stem":1015},{"title":136,"path":135,"stem":1019},"5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F2.aa-bibliography",{"title":142,"path":141,"stem":1021},"5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F3.bb-definitions",{"title":1023,"path":1024,"stem":1025,"children":1026},"CC. Analyzers","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F01.index",[1027,1028,1032,1036,1040,1044,1048,1052,1056,1060,1064,1068,1072,1076,1080,1084,1088,1092,1096,1100,1104,1108,1112,1116,1120,1124,1128,1132,1136,1140,1144,1148,1152,1156,1160,1164,1168,1172,1176,1180,1184,1188,1192,1196,1200,1204,1208,1212],{"title":1023,"path":1024,"stem":1025},{"title":1029,"path":1030,"stem":1031},"Astrée","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fastree","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F02.astree",{"title":1033,"path":1034,"stem":1035},"Astrée_V","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fastree_v","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F03.astree_v",{"title":1037,"path":1038,"stem":1039},"Axivion Bauhaus Suite","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Faxivion-bauhaus-suite","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F04.axivion-bauhaus-suite",{"title":1041,"path":1042,"stem":1043},"Axivion Bauhaus Suite_V","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Faxivion-bauhaus-suite_v","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F05.axivion-bauhaus-suite_v",{"title":1045,"path":1046,"stem":1047},"Clang","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fclang","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F06.clang",{"title":1049,"path":1050,"stem":1051},"Clang_38_V","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fclang_38_v","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F07.clang_38_v",{"title":1053,"path":1054,"stem":1055},"Clang_39_V","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fclang_39_v","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F08.clang_39_v",{"title":1057,"path":1058,"stem":1059},"Clang_40_V","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fclang_40_v","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F09.clang_40_v",{"title":1061,"path":1062,"stem":1063},"Clang_V","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fclang_v","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F10.clang_v",{"title":1065,"path":1066,"stem":1067},"Codee","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fcodee","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F11.codee",{"title":1069,"path":1070,"stem":1071},"Codee_V","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fcodee_v","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F12.codee_v",{"title":1073,"path":1074,"stem":1075},"CodeSonar","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fcodesonar","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F13.codesonar",{"title":1077,"path":1078,"stem":1079},"CodeSonar_V","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fcodesonar_v","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F14.codesonar_v",{"title":1081,"path":1082,"stem":1083},"Coverity","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fcoverity","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F15.coverity",{"title":1085,"path":1086,"stem":1087},"Coverity_V","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fcoverity_v","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F16.coverity_v",{"title":1089,"path":1090,"stem":1091},"ECLAIR","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Feclair","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F17.eclair",{"title":1093,"path":1094,"stem":1095},"ECLAIR_V","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Feclair_v","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F18.eclair_v",{"title":1097,"path":1098,"stem":1099},"EDG","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fedg","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F19.edg",{"title":1101,"path":1102,"stem":1103},"Edg_V","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fedg_v","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F20.edg_v",{"title":1105,"path":1106,"stem":1107},"GCC","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fgcc","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F21.gcc",{"title":1109,"path":1110,"stem":1111},"Gcc_V","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fgcc_v","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F22.gcc_v",{"title":1113,"path":1114,"stem":1115},"Helix QAC","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fhelix-qac","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F23.helix-qac",{"title":1117,"path":1118,"stem":1119},"Helix QAC_V","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fhelix-qac_v","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F24.helix-qac_v",{"title":1121,"path":1122,"stem":1123},"Klocwork","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fklocwork","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F25.klocwork",{"title":1125,"path":1126,"stem":1127},"Klocwork_V","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fklocwork_v","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F26.klocwork_v",{"title":1129,"path":1130,"stem":1131},"LDRA","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fldra","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F27.ldra",{"title":1133,"path":1134,"stem":1135},"Ldra_V","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fldra_v","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F28.ldra_v",{"title":1137,"path":1138,"stem":1139},"Parasoft","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fparasoft","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F29.parasoft",{"title":1141,"path":1142,"stem":1143},"Parasoft_V","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fparasoft_v","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F30.parasoft_v",{"title":1145,"path":1146,"stem":1147},"Polyspace Bug Finder","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fpolyspace-bug-finder","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F31.polyspace-bug-finder",{"title":1149,"path":1150,"stem":1151},"Polyspace Bug Finder_V","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fpolyspace-bug-finder_v","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F32.polyspace-bug-finder_v",{"title":1153,"path":1154,"stem":1155},"PRQA QA-C++","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fprqa-qa-cpp","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F33.prqa-qa-cpp",{"title":1157,"path":1158,"stem":1159},"PRQA QA-C++_V","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fprqa-qa-cpp_v","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F34.prqa-qa-cpp_v",{"title":1161,"path":1162,"stem":1163},"PVS-Studio","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fpvs-studio","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F35.pvs-studio",{"title":1165,"path":1166,"stem":1167},"PVS-Studio_V","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fpvs-studio_v","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F36.pvs-studio_v",{"title":1169,"path":1170,"stem":1171},"Rose","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Frose","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F37.rose",{"title":1173,"path":1174,"stem":1175},"Rose_V","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Frose_v","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F38.rose_v",{"title":1177,"path":1178,"stem":1179},"RuleChecker","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Frulechecker","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F39.rulechecker",{"title":1181,"path":1182,"stem":1183},"RuleChecker_V","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Frulechecker_v","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F40.rulechecker_v",{"title":1185,"path":1186,"stem":1187},"Security Reviewer - Static Reviewer","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fsecurity-reviewer-static-reviewer","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F41.security-reviewer-static-reviewer",{"title":1189,"path":1190,"stem":1191},"Security Reviewer - Static Reviewer_V","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fsecurity-reviewer-static-reviewer_v","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F42.security-reviewer-static-reviewer_v",{"title":1193,"path":1194,"stem":1195},"Semgrep","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fsemgrep","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F43.semgrep",{"title":1197,"path":1198,"stem":1199},"Semgrep_V","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fsemgrep_v","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F44.semgrep_v",{"title":1201,"path":1202,"stem":1203},"SonarQube C\u002FC++ Plugin","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fsonarqube-ccpp-plugin","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F45.sonarqube-ccpp-plugin",{"title":1205,"path":1206,"stem":1207},"SonarQube C\u002FC++ Plugin_V","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fsonarqube-ccpp-plugin_v","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F46.sonarqube-ccpp-plugin_v",{"title":1209,"path":1210,"stem":1211},"Splint","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fsplint","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F47.splint",{"title":1213,"path":1214,"stem":1215},"Splint_V","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fsplint_v","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F48.splint_v",{"title":1217,"path":1218,"stem":1219,"children":1220},"DD. Related Guidelines","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fdd-related-guidelines","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F5.dd-related-guidelines\u002F1.index",[1221,1222,1226],{"title":1217,"path":1218,"stem":1219},{"title":1223,"path":1224,"stem":1225},"2008","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fdd-related-guidelines\u002F2.2008","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F5.dd-related-guidelines\u002F2.2008",{"title":1227,"path":1228,"stem":1229},"MITRE CWE","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fdd-related-guidelines\u002Fmitre-cwe","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F5.dd-related-guidelines\u002F3.mitre-cwe",{"title":1231,"path":1232,"stem":1233},"EE. Risk Assessments","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fee-risk-assessments","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F6.ee-risk-assessments",{"title":1235,"path":1236,"stem":1237,"children":1238},"Admin","\u002Fsei-cert-cpp-coding-standard\u002Fadmin","5.sei-cert-cpp-coding-standard\u002F5.admin\u002F1.index",[1239,1240],{"title":1235,"path":1236,"stem":1237},{"title":1241,"path":1242,"stem":1243},"TODO List","\u002Fsei-cert-cpp-coding-standard\u002Fadmin\u002Ftodo-list","5.sei-cert-cpp-coding-standard\u002F5.admin\u002F2.todo-list",{"title":1245,"path":1246,"stem":1247},"Errata for SEI CERT C++ Coding Standard (2016 Edition)","\u002Fsei-cert-cpp-coding-standard\u002Ferrata-for-sei-cert-cpp-coding-standard-2016-edition","5.sei-cert-cpp-coding-standard\u002F6.errata-for-sei-cert-cpp-coding-standard-2016-edition",1775657764661]