[{"data":1,"prerenderedAt":2120},["ShallowReactive",2],{"global-navigation":3,"page-\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fprqa-qa-cpp":28,"surround-\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fprqa-qa-cpp":1498,"sidebar-sei-cert-cpp-coding-standard":1507},[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":41,"extension":1490,"meta":1491,"navigation":7,"path":1494,"seo":1495,"stem":1496,"__hash__":1497},"content\u002F5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F33.prqa-qa-cpp.md","PRQA QA-C++",{"type":32,"value":33,"toc":1486},"minimark",[34,38,42,45,48,55],[35,36,30],"h1",{"id":37},"prqa-qa-c",[39,40,41],"p",{},"This page was automatically generated and should not be edited.",[39,43,44],{},"The information on this page was provided by outside contributors and has not been verified by SEI CERT.",[39,46,47],{},"The table below can be re-ordered, by clicking column headers.",[39,49,50,54],{},[51,52,53],"strong",{},"Tool Version:"," 4.4",[56,57,58,69],"table",{},[59,60,61],"thead",{},[62,63,64,67],"tr",{},[65,66],"th",{},[65,68],{},[70,71,72,81,93,104,115,124,135,144,155,166,175,184,193,202,213,224,233,244,253,264,275,284,293,302,311,320,329,338,347,358,367,378,386,395,403,412,420,431,442,451,460,469,478,487,496,505,514,523,532,541,550,559,568,577,586,595,606,617,628,639,650,659,668,679,688,697,706,717,727,736,744,753,761,770,778,786,795,803,812,821,830,839,848,859,868,877,886,897,906,915,926,937,948,957,966,977,988,999,1008,1018,1028,1037,1045,1054,1065,1076,1085,1096,1104,1114,1123,1131,1142,1151,1160,1169,1178,1187,1196,1205,1214,1223,1232,1241,1250,1259,1268,1279,1288,1297,1306,1314,1325,1334,1343,1352,1360,1369,1380,1389,1400,1411,1422,1433,1444,1455,1466,1477],"tbody",{},[62,73,74,78],{},[75,76,77],"td",{},"Checker",[75,79,80],{},"Guideline",[62,82,83,86],{},[75,84,85],{},"0014",[75,87,88],{},[89,90,92],"a",{"href":91},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl\u002Fdcl52-cpp","DCL52-CPP. Never qualify a reference type with const or volatile",[62,94,95,98],{},[75,96,97],{},"1510",[75,99,100],{},[89,101,103],{"href":102},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fmiscellaneous-msc\u002Fmsc52-cpp","MSC52-CPP. Value-returning functions must return a value from all exit paths",[62,105,106,109],{},[75,107,108],{},"1772",[75,110,111],{},[89,112,114],{"href":113},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fconcurrency-con\u002Fcon53-cpp","CON53-CPP. Avoid deadlock by locking in a predefined order",[62,116,117,120],{},[75,118,119],{},"1773",[75,121,122],{},[89,123,114],{"href":113},[62,125,126,129],{},[75,127,128],{},"1774",[75,130,131],{},[89,132,134],{"href":133},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fconcurrency-con\u002Fcon52-cpp","CON52-CPP. Prevent data races when accessing bit-fields from multiple threads",[62,136,137,140],{},[75,138,139],{},"1775",[75,141,142],{},[89,143,134],{"href":133},[62,145,146,149],{},[75,147,148],{},"2012",[75,150,151],{},[89,152,154],{"href":153},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl\u002Fdcl50-cpp","DCL50-CPP. Do not define a C-style variadic function",[62,156,157,160],{},[75,158,159],{},"2110",[75,161,162],{},[89,163,165],{"href":164},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fmemory-management-mem\u002Fmem51-cpp","MEM51-CPP. Properly deallocate dynamically allocated resources",[62,167,168,171],{},[75,169,170],{},"2111",[75,172,173],{},[89,174,165],{"href":164},[62,176,177,180],{},[75,178,179],{},"2112",[75,181,182],{},[89,183,165],{"href":164},[62,185,186,189],{},[75,187,188],{},"2113",[75,190,191],{},[89,192,165],{"href":164},[62,194,195,198],{},[75,196,197],{},"2118",[75,199,200],{},[89,201,165],{"href":164},[62,203,204,207],{},[75,205,206],{},"2160",[75,208,209],{},[89,210,212],{"href":211},"\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",[62,214,215,218],{},[75,216,217],{},"2502",[75,219,220],{},[89,221,223],{"href":222},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl\u002Fdcl53-cpp","DCL53-CPP. Do not write syntactically ambiguous declarations",[62,225,226,229],{},[75,227,228],{},"2510",[75,230,231],{},[89,232,223],{"href":222},[62,234,235,238],{},[75,236,237],{},"2518",[75,239,240],{},[89,241,243],{"href":242},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl\u002Fdcl59-cpp","DCL59-CPP. Do not define an unnamed namespace in a header file",[62,245,246,249],{},[75,247,248],{},"2625",[75,250,251],{},[89,252,154],{"href":153},[62,254,255,258],{},[75,256,257],{},"2668",[75,259,260],{},[89,261,263],{"href":262},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fcontainers-ctr\u002Fctr54-cpp","CTR54-CPP. Do not subtract iterators that do not refer to the same container",[62,265,266,269],{},[75,267,268],{},"2726",[75,270,271],{},[89,272,274],{"href":273},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp53-cpp","EXP53-CPP. Do not read uninitialized memory",[62,276,277,280],{},[75,278,279],{},"2727",[75,281,282],{},[89,283,274],{"href":273},[62,285,286,289],{},[75,287,288],{},"2728",[75,290,291],{},[89,292,274],{"href":273},[62,294,295,298],{},[75,296,297],{},"2761",[75,299,300],{},[89,301,263],{"href":262},[62,303,304,307],{},[75,305,306],{},"2762",[75,308,309],{},[89,310,263],{"href":262},[62,312,313,316],{},[75,314,315],{},"2763",[75,317,318],{},[89,319,263],{"href":262},[62,321,322,325],{},[75,323,324],{},"2766",[75,326,327],{},[89,328,263],{"href":262},[62,330,331,334],{},[75,332,333],{},"2767",[75,335,336],{},[89,337,263],{"href":262},[62,339,340,343],{},[75,341,342],{},"2768",[75,344,345],{},[89,346,263],{"href":262},[62,348,349,352],{},[75,350,351],{},"2810",[75,353,354],{},[89,355,357],{"href":356},"\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",[62,359,360,363],{},[75,361,362],{},"2811",[75,364,365],{},[89,366,357],{"href":356},[62,368,369,372],{},[75,370,371],{},"2812",[75,373,374],{},[89,375,377],{"href":376},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp54-cpp","EXP54-CPP. Do not access an object outside of its lifetime",[62,379,380,382],{},[75,381,371],{},[75,383,384],{},[89,385,357],{"href":356},[62,387,388,391],{},[75,389,390],{},"2813",[75,392,393],{},[89,394,377],{"href":376},[62,396,397,399],{},[75,398,390],{},[75,400,401],{},[89,402,357],{"href":356},[62,404,405,408],{},[75,406,407],{},"2814",[75,409,410],{},[89,411,377],{"href":376},[62,413,414,416],{},[75,415,407],{},[75,417,418],{},[89,419,357],{"href":356},[62,421,422,425],{},[75,423,424],{},"2888",[75,426,427],{},[89,428,430],{"href":429},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fmiscellaneous-msc\u002Fmsc54-cpp","MSC54-CPP. A signal handler must be a plain old function",[62,432,433,436],{},[75,434,435],{},"2891",[75,437,438],{},[89,439,441],{"href":440},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fcontainers-ctr\u002Fctr50-cpp","CTR50-CPP. Guarantee that container indices and iterators are within the valid range",[62,443,444,447],{},[75,445,446],{},"2930",[75,448,449],{},[89,450,377],{"href":376},[62,452,453,456],{},[75,454,455],{},"2931",[75,457,458],{},[89,459,377],{"href":376},[62,461,462,465],{},[75,463,464],{},"2932",[75,466,467],{},[89,468,377],{"href":376},[62,470,471,474],{},[75,472,473],{},"2933",[75,475,476],{},[89,477,377],{"href":376},[62,479,480,483],{},[75,481,482],{},"2934",[75,484,485],{},[89,486,377],{"href":376},[62,488,489,492],{},[75,490,491],{},"2961",[75,493,494],{},[89,495,274],{"href":273},[62,497,498,501],{},[75,499,500],{},"2962",[75,502,503],{},[89,504,274],{"href":273},[62,506,507,510],{},[75,508,509],{},"2963",[75,511,512],{},[89,513,274],{"href":273},[62,515,516,519],{},[75,517,518],{},"2966",[75,520,521],{},[89,522,274],{"href":273},[62,524,525,528],{},[75,526,527],{},"2967",[75,529,530],{},[89,531,274],{"href":273},[62,533,534,537],{},[75,535,536],{},"2968",[75,538,539],{},[89,540,274],{"href":273},[62,542,543,546],{},[75,544,545],{},"2971",[75,547,548],{},[89,549,274],{"href":273},[62,551,552,555],{},[75,553,554],{},"2972",[75,556,557],{},[89,558,274],{"href":273},[62,560,561,564],{},[75,562,563],{},"2973",[75,565,566],{},[89,567,274],{"href":273},[62,569,570,573],{},[75,571,572],{},"2976",[75,574,575],{},[89,576,274],{"href":273},[62,578,579,582],{},[75,580,581],{},"2977",[75,583,584],{},[89,585,274],{"href":273},[62,587,588,591],{},[75,589,590],{},"2978",[75,592,593],{},[89,594,274],{"href":273},[62,596,597,600],{},[75,598,599],{},"3013",[75,601,602],{},[89,603,605],{"href":604},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fintegers-int\u002Fint50-cpp","INT50-CPP. Do not cast to an out-of-range enumeration value",[62,607,608,611],{},[75,609,610],{},"3033. 3038",[75,612,613],{},[89,614,616],{"href":615},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp56-cpp","EXP56-CPP. Do not call a function with a mismatched language linkage",[62,618,619,622],{},[75,620,621],{},"3066",[75,623,624],{},[89,625,627],{"href":626},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp55-cpp","EXP55-CPP. Do not access a cv-qualified object through a cv-unqualified type",[62,629,630,633],{},[75,631,632],{},"3072",[75,634,635],{},[89,636,638],{"href":637},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fobject-oriented-programming-oop\u002Foop51-cpp","OOP51-CPP. Do not slice derived objects",[62,640,641,644],{},[75,642,643],{},"3073",[75,645,646],{},[89,647,649],{"href":648},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fcontainers-ctr\u002Fctr56-cpp","CTR56-CPP. Do not use pointer arithmetic on polymorphic objects",[62,651,652,655],{},[75,653,654],{},"3139",[75,656,657],{},[89,658,441],{"href":440},[62,660,661,664],{},[75,662,663],{},"3140",[75,665,666],{},[89,667,441],{"href":440},[62,669,670,673],{},[75,671,672],{},"3220",[75,674,675],{},[89,676,678],{"href":677},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp50-cpp","EXP50-CPP. Do not depend on the order of evaluation for side effects",[62,680,681,684],{},[75,682,683],{},"3221",[75,685,686],{},[89,687,678],{"href":677},[62,689,690,693],{},[75,691,692],{},"3222",[75,694,695],{},[89,696,678],{"href":677},[62,698,699,702],{},[75,700,701],{},"3223",[75,703,704],{},[89,705,678],{"href":677},[62,707,708,711],{},[75,709,710],{},"3225",[75,712,713],{},[89,714,716],{"href":715},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fcontainers-ctr\u002Fctr58-cpp","CTR58-CPP. Predicate function objects should not be mutable",[62,718,719,721],{},[75,720,710],{},[75,722,723],{},[89,724,726],{"href":725},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fmemory-management-mem\u002Fmem52-cpp","MEM52-CPP. Detect and handle memory allocation errors",[62,728,729,732],{},[75,730,731],{},"3226",[75,733,734],{},[89,735,716],{"href":715},[62,737,738,740],{},[75,739,731],{},[75,741,742],{},[89,743,726],{"href":725},[62,745,746,749],{},[75,747,748],{},"3227",[75,750,751],{},[89,752,716],{"href":715},[62,754,755,757],{},[75,756,748],{},[75,758,759],{},[89,760,726],{"href":725},[62,762,763,766],{},[75,764,765],{},"3228",[75,767,768],{},[89,769,678],{"href":677},[62,771,772,774],{},[75,773,765],{},[75,775,776],{},[89,777,716],{"href":715},[62,779,780,782],{},[75,781,765],{},[75,783,784],{},[89,785,726],{"href":725},[62,787,788,791],{},[75,789,790],{},"3229",[75,792,793],{},[89,794,716],{"href":715},[62,796,797,799],{},[75,798,790],{},[75,800,801],{},[89,802,726],{"href":725},[62,804,805,808],{},[75,806,807],{},"3230",[75,809,810],{},[89,811,716],{"href":715},[62,813,814,817],{},[75,815,816],{},"3231",[75,818,819],{},[89,820,716],{"href":715},[62,822,823,826],{},[75,824,825],{},"3232",[75,827,828],{},[89,829,716],{"href":715},[62,831,832,835],{},[75,833,834],{},"3233",[75,836,837],{},[89,838,716],{"href":715},[62,840,841,844],{},[75,842,843],{},"3234",[75,845,846],{},[89,847,716],{"href":715},[62,849,850,853],{},[75,851,852],{},"3240",[75,854,855],{},[89,856,858],{"href":857},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp52-cpp","EXP52-CPP. Do not rely on side effects in unevaluated operands",[62,860,861,864],{},[75,862,863],{},"3241",[75,865,866],{},[89,867,858],{"href":857},[62,869,870,873],{},[75,871,872],{},"3337",[75,874,875],{},[89,876,165],{"href":164},[62,878,879,882],{},[75,880,881],{},"3339",[75,883,884],{},[89,885,165],{"href":164},[62,887,888,891],{},[75,889,890],{},"3402",[75,892,893],{},[89,894,896],{"href":895},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fobject-oriented-programming-oop\u002Foop52-cpp","OOP52-CPP. Do not delete a polymorphic object without a virtual destructor",[62,898,899,902],{},[75,900,901],{},"3403",[75,903,904],{},[89,905,896],{"href":895},[62,907,908,911],{},[75,909,910],{},"3404",[75,912,913],{},[89,914,896],{"href":895},[62,916,917,920],{},[75,918,919],{},"3508",[75,921,922],{},[89,923,925],{"href":924},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexceptions-and-error-handling-err\u002Ferr60-cpp","ERR60-CPP. Exception objects must be nothrow copy constructible",[62,927,928,931],{},[75,929,930],{},"3510",[75,932,933],{},[89,934,936],{"href":935},"\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",[62,938,939,942],{},[75,940,941],{},"3802",[75,943,944],{},[89,945,947],{"href":946},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fcontainers-ctr\u002Fctr53-cpp","CTR53-CPP. Use valid iterator ranges",[62,949,950,953],{},[75,951,952],{},"4003",[75,954,955],{},[89,956,377],{"href":376},[62,958,959,962],{},[75,960,961],{},"4026",[75,963,964],{},[89,965,377],{"href":376},[62,967,968,971],{},[75,969,970],{},"4030",[75,972,973],{},[89,974,976],{"href":975},"\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",[62,978,979,982],{},[75,980,981],{},"4031",[75,983,984],{},[89,985,987],{"href":986},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexceptions-and-error-handling-err\u002Ferr61-cpp","ERR61-CPP. Catch exceptions by lvalue reference",[62,989,990,993],{},[75,991,992],{},"4032",[75,994,995],{},[89,996,998],{"href":997},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl\u002Fdcl58-cpp","DCL58-CPP. Do not modify the standard namespaces",[62,1000,1001,1004],{},[75,1002,1003],{},"4035",[75,1005,1006],{},[89,1007,998],{"href":997},[62,1009,1010,1012],{},[75,1011,1003],{},[75,1013,1014],{},[89,1015,1017],{"href":1016},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexceptions-and-error-handling-err\u002Ferr51-cpp","ERR51-CPP. Handle all exceptions",[62,1019,1020,1022],{},[75,1021,1003],{},[75,1023,1024],{},[89,1025,1027],{"href":1026},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexceptions-and-error-handling-err\u002Ferr55-cpp","ERR55-CPP. Honor exception specifications",[62,1029,1030,1033],{},[75,1031,1032],{},"4036",[75,1034,1035],{},[89,1036,1017],{"href":1016},[62,1038,1039,1041],{},[75,1040,1032],{},[75,1042,1043],{},[89,1044,1027],{"href":1026},[62,1046,1047,1050],{},[75,1048,1049],{},"4037",[75,1051,1052],{},[89,1053,1017],{"href":1016},[62,1055,1056,1059],{},[75,1057,1058],{},"4053",[75,1060,1061],{},[89,1062,1064],{"href":1063},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fobject-oriented-programming-oop\u002Foop53-cpp","OOP53-CPP. Write constructor member initializers in the canonical order",[62,1066,1067,1070],{},[75,1068,1069],{},"4072",[75,1071,1072],{},[89,1073,1075],{"href":1074},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fobject-oriented-programming-oop\u002Foop54-cpp","OOP54-CPP. Gracefully handle self-copy assignment",[62,1077,1078,1081],{},[75,1079,1080],{},"4073",[75,1082,1083],{},[89,1084,1075],{"href":1074},[62,1086,1087,1090],{},[75,1088,1089],{},"4075",[75,1091,1092],{},[89,1093,1095],{"href":1094},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexceptions-and-error-handling-err\u002Ferr56-cpp","ERR56-CPP. Guarantee exception safety",[62,1097,1098,1100],{},[75,1099,1089],{},[75,1101,1102],{},[89,1103,1075],{"href":1074},[62,1105,1106,1108],{},[75,1107,1089],{},[75,1109,1110],{},[89,1111,1113],{"href":1112},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fobject-oriented-programming-oop\u002Foop58-cpp","OOP58-CPP. Copy operations must not mutate the source object",[62,1115,1116,1119],{},[75,1117,1118],{},"4076",[75,1120,1121],{},[89,1122,1095],{"href":1094},[62,1124,1125,1127],{},[75,1126,1118],{},[75,1128,1129],{},[89,1130,1075],{"href":1074},[62,1132,1133,1136],{},[75,1134,1135],{},"4260",[75,1137,1138],{},[89,1139,1141],{"href":1140},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fobject-oriented-programming-oop\u002Foop50-cpp","OOP50-CPP. Do not invoke virtual functions from constructors or destructors",[62,1143,1144,1147],{},[75,1145,1146],{},"4261",[75,1148,1149],{},[89,1150,1141],{"href":1140},[62,1152,1153,1156],{},[75,1154,1155],{},"4262",[75,1157,1158],{},[89,1159,165],{"href":164},[62,1161,1162,1165],{},[75,1163,1164],{},"4263",[75,1166,1167],{},[89,1168,165],{"href":164},[62,1170,1171,1174],{},[75,1172,1173],{},"4264",[75,1175,1176],{},[89,1177,165],{"href":164},[62,1179,1180,1183],{},[75,1181,1182],{},"4273",[75,1184,1185],{},[89,1186,1141],{"href":1140},[62,1188,1189,1192],{},[75,1190,1191],{},"4274",[75,1193,1194],{},[89,1195,1141],{"href":1140},[62,1197,1198,1201],{},[75,1199,1200],{},"4275",[75,1202,1203],{},[89,1204,1141],{"href":1140},[62,1206,1207,1210],{},[75,1208,1209],{},"4276",[75,1211,1212],{},[89,1213,1141],{"href":1140},[62,1215,1216,1219],{},[75,1217,1218],{},"4277",[75,1220,1221],{},[89,1222,1141],{"href":1140},[62,1224,1225,1228],{},[75,1226,1227],{},"4278",[75,1229,1230],{},[89,1231,1141],{"href":1140},[62,1233,1234,1237],{},[75,1235,1236],{},"4279",[75,1238,1239],{},[89,1240,1141],{"href":1140},[62,1242,1243,1246],{},[75,1244,1245],{},"4280",[75,1247,1248],{},[89,1249,1141],{"href":1140},[62,1251,1252,1255],{},[75,1253,1254],{},"4281",[75,1256,1257],{},[89,1258,1141],{"href":1140},[62,1260,1261,1264],{},[75,1262,1263],{},"4282",[75,1265,1266],{},[89,1267,1141],{"href":1140},[62,1269,1270,1273],{},[75,1271,1272],{},"4303",[75,1274,1275],{},[89,1276,1278],{"href":1277},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fmemory-management-mem\u002Fmem50-cpp","MEM50-CPP. Do not access freed memory",[62,1280,1281,1284],{},[75,1282,1283],{},"4304",[75,1285,1286],{},[89,1287,1278],{"href":1277},[62,1289,1290,1293],{},[75,1291,1292],{},"4631",[75,1294,1295],{},[89,1296,998],{"href":997},[62,1298,1299,1302],{},[75,1300,1301],{},"4632",[75,1303,1304],{},[89,1305,726],{"href":725},[62,1307,1308,1310],{},[75,1309,1301],{},[75,1311,1312],{},[89,1313,1027],{"href":1026},[62,1315,1316,1319],{},[75,1317,1318],{},"4634",[75,1320,1321],{},[89,1322,1324],{"href":1323},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexceptions-and-error-handling-err\u002Ferr58-cpp","ERR58-CPP. Handle all exceptions thrown before main() begins executing",[62,1326,1327,1330],{},[75,1328,1329],{},"4636",[75,1331,1332],{},[89,1333,1324],{"href":1323},[62,1335,1336,1339],{},[75,1337,1338],{},"4637",[75,1340,1341],{},[89,1342,1324],{"href":1323},[62,1344,1345,1348],{},[75,1346,1347],{},"4639",[75,1349,1350],{},[89,1351,976],{"href":975},[62,1353,1354,1356],{},[75,1355,1347],{},[75,1357,1358],{},[89,1359,1324],{"href":1323},[62,1361,1362,1365],{},[75,1363,1364],{},"4671",[75,1366,1367],{},[89,1368,627],{"href":626},[62,1370,1371,1374],{},[75,1372,1373],{},"4961",[75,1375,1376],{},[89,1377,1379],{"href":1378},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fconcurrency-con\u002Fcon50-cpp","CON50-CPP. Do not destroy a mutex while it is locked",[62,1381,1382,1385],{},[75,1383,1384],{},"4962",[75,1386,1387],{},[89,1388,1379],{"href":1378},[62,1390,1391,1394],{},[75,1392,1393],{},"5003",[75,1395,1396],{},[89,1397,1399],{"href":1398},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl\u002Fdcl51-cpp","DCL51-CPP. Do not declare or define a reserved identifier",[62,1401,1402,1405],{},[75,1403,1404],{},"5014",[75,1406,1407],{},[89,1408,1410],{"href":1409},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexceptions-and-error-handling-err\u002Ferr50-cpp","ERR50-CPP. Do not abruptly terminate the program",[62,1412,1413,1416],{},[75,1414,1415],{},"5015",[75,1417,1418],{},[89,1419,1421],{"href":1420},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexceptions-and-error-handling-err\u002Ferr52-cpp","ERR52-CPP. Do not use setjmp() or longjmp()",[62,1423,1424,1427],{},[75,1425,1426],{},"5017",[75,1428,1429],{},[89,1430,1432],{"href":1431},"\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",[62,1434,1435,1438],{},[75,1436,1437],{},"5018",[75,1439,1440],{},[89,1441,1443],{"href":1442},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fconcurrency-con\u002Fcon51-cpp","CON51-CPP. Ensure actively held locks are released on exceptional conditions",[62,1445,1446,1449],{},[75,1447,1448],{},"5019",[75,1450,1451],{},[89,1452,1454],{"href":1453},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fconcurrency-con\u002Fcon54-cpp","CON54-CPP. Wrap functions that can spuriously wake up in a loop",[62,1456,1457,1460],{},[75,1458,1459],{},"5020",[75,1461,1462],{},[89,1463,1465],{"href":1464},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fconcurrency-con\u002Fcon55-cpp","CON55-CPP. Preserve thread safety and liveness when using condition variables",[62,1467,1468,1471],{},[75,1469,1470],{},"5028",[75,1472,1473],{},[89,1474,1476],{"href":1475},"\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fmiscellaneous-msc\u002Frand-for-generating-pseudorandom-numbers","MSC50-CPP. Do not use std::rand() for generating pseudorandom numbers",[62,1478,1479,1482],{},[75,1480,1481],{},"5038",[75,1483,1484],{},[89,1485,1432],{"href":1431},{"title":1487,"searchDepth":1488,"depth":1488,"links":1489},"",2,[],"md",{"tags":1492},[1493],"analyzer","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fcc-analyzers\u002Fprqa-qa-cpp",{"title":30,"description":41},"5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F4.cc-analyzers\u002F33.prqa-qa-cpp","ytM5fsJzZgSuhXEDvIru7JSW33OqR5yIV0TjAuU8wn8",[1499,1503],{"title":1500,"path":1501,"stem":1502,"children":-1},"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":1504,"path":1505,"stem":1506,"children":-1},"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",[1508],{"title":1509,"path":1510,"stem":1511,"children":1512},"SEI CERT C++ Coding Standard","\u002Fsei-cert-cpp-coding-standard","5.sei-cert-cpp-coding-standard\u002F1.index",[1513,1514,1582,1889,2106,2116],{"title":1509,"path":1510,"stem":1511},{"title":1515,"path":1516,"stem":1517,"children":1518},"Front Matter","\u002Fsei-cert-cpp-coding-standard\u002Ffront-matter","5.sei-cert-cpp-coding-standard\u002F2.front-matter\u002F1.index",[1519,1520],{"title":1515,"path":1516,"stem":1517},{"title":1521,"path":1522,"stem":1523,"children":1524},"Introduction","\u002Fsei-cert-cpp-coding-standard\u002Ffront-matter\u002Fintroduction","5.sei-cert-cpp-coding-standard\u002F2.front-matter\u002F2.introduction\u002F01.index",[1525,1526,1530,1534,1538,1542,1546,1550,1554,1558,1562,1566,1570,1574,1578],{"title":1521,"path":1522,"stem":1523},{"title":1527,"path":1528,"stem":1529},"Scope","\u002Fsei-cert-cpp-coding-standard\u002Ffront-matter\u002Fintroduction\u002Fscope","5.sei-cert-cpp-coding-standard\u002F2.front-matter\u002F2.introduction\u002F02.scope",{"title":1531,"path":1532,"stem":1533},"Audience","\u002Fsei-cert-cpp-coding-standard\u002Ffront-matter\u002Fintroduction\u002Faudience","5.sei-cert-cpp-coding-standard\u002F2.front-matter\u002F2.introduction\u002F03.audience",{"title":1535,"path":1536,"stem":1537},"Usage","\u002Fsei-cert-cpp-coding-standard\u002Ffront-matter\u002Fintroduction\u002Fusage","5.sei-cert-cpp-coding-standard\u002F2.front-matter\u002F2.introduction\u002F04.usage",{"title":1539,"path":1540,"stem":1541},"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":1543,"path":1544,"stem":1545},"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":1547,"path":1548,"stem":1549},"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":1551,"path":1552,"stem":1553},"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":1555,"path":1556,"stem":1557},"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":1559,"path":1560,"stem":1561},"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":1563,"path":1564,"stem":1565},"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":1567,"path":1568,"stem":1569},"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":1571,"path":1572,"stem":1573},"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":1575,"path":1576,"stem":1577},"Acknowledgments","\u002Fsei-cert-cpp-coding-standard\u002Ffront-matter\u002Fintroduction\u002Facknowledgments","5.sei-cert-cpp-coding-standard\u002F2.front-matter\u002F2.introduction\u002F14.acknowledgments",{"title":1579,"path":1580,"stem":1581},"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":1583,"path":1584,"stem":1585,"children":1586},"Rules","\u002Fsei-cert-cpp-coding-standard\u002Frules","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F01.index",[1587,1588,1610,1632,1664,1700,1738,1788,1802,1810,1842,1863],{"title":1583,"path":1584,"stem":1585},{"title":1589,"path":1590,"stem":1591,"children":1592},"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",[1593,1594,1598,1602,1606],{"title":1589,"path":1590,"stem":1591},{"title":1595,"path":1596,"stem":1597},"STR50-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminator","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fcharacters-and-strings-str\u002Fstr50-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F02.characters-and-strings-str\u002F2.str50-cpp",{"title":1599,"path":1600,"stem":1601},"STR52-CPP. Use valid references, pointers, and iterators to reference elements of a basic_string","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fcharacters-and-strings-str\u002Fstr52-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F02.characters-and-strings-str\u002F3.str52-cpp",{"title":1603,"path":1604,"stem":1605},"STR53-CPP. Range check element access","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fcharacters-and-strings-str\u002Fstr53-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F02.characters-and-strings-str\u002F4.str53-cpp",{"title":1607,"path":1608,"stem":1609},"string from a null pointer","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fcharacters-and-strings-str\u002Fstring-from-a-null-pointer","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F02.characters-and-strings-str\u002F5.string-from-a-null-pointer",{"title":1611,"path":1612,"stem":1613,"children":1614},"Concurrency (CON)","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fconcurrency-con","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F03.concurrency-con\u002F1.index",[1615,1616,1618,1620,1622,1624,1626,1628],{"title":1611,"path":1612,"stem":1613},{"title":1379,"path":1378,"stem":1617},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F03.concurrency-con\u002F2.con50-cpp",{"title":1443,"path":1442,"stem":1619},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F03.concurrency-con\u002F3.con51-cpp",{"title":134,"path":133,"stem":1621},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F03.concurrency-con\u002F4.con52-cpp",{"title":114,"path":113,"stem":1623},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F03.concurrency-con\u002F5.con53-cpp",{"title":1454,"path":1453,"stem":1625},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F03.concurrency-con\u002F6.con54-cpp",{"title":1465,"path":1464,"stem":1627},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F03.concurrency-con\u002F7.con55-cpp",{"title":1629,"path":1630,"stem":1631},"CON56-CPP. Do not speculatively lock a non-recursive mutex that is already owned by the calling thread","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fconcurrency-con\u002Fcon56-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F03.concurrency-con\u002F8.con56-cpp",{"title":1633,"path":1634,"stem":1635,"children":1636},"Containers (CTR)","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fcontainers-ctr","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F04.containers-ctr\u002F01.index",[1637,1638,1640,1644,1648,1650,1652,1656,1658,1662],{"title":1633,"path":1634,"stem":1635},{"title":441,"path":440,"stem":1639},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F04.containers-ctr\u002F02.ctr50-cpp",{"title":1641,"path":1642,"stem":1643},"CTR51-CPP. Use valid references, pointers, and iterators to reference elements of a container","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fcontainers-ctr\u002Fctr51-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F04.containers-ctr\u002F03.ctr51-cpp",{"title":1645,"path":1646,"stem":1647},"CTR52-CPP. Guarantee that library functions do not overflow","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fcontainers-ctr\u002Fctr52-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F04.containers-ctr\u002F04.ctr52-cpp",{"title":947,"path":946,"stem":1649},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F04.containers-ctr\u002F05.ctr53-cpp",{"title":263,"path":262,"stem":1651},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F04.containers-ctr\u002F06.ctr54-cpp",{"title":1653,"path":1654,"stem":1655},"CTR55-CPP. Do not use an additive operator on an iterator if the result would overflow","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fcontainers-ctr\u002Fctr55-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F04.containers-ctr\u002F07.ctr55-cpp",{"title":649,"path":648,"stem":1657},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F04.containers-ctr\u002F08.ctr56-cpp",{"title":1659,"path":1660,"stem":1661},"CTR57-CPP. Provide a valid ordering predicate","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fcontainers-ctr\u002Fctr57-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F04.containers-ctr\u002F09.ctr57-cpp",{"title":716,"path":715,"stem":1663},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F04.containers-ctr\u002F10.ctr58-cpp",{"title":1665,"path":1666,"stem":1667,"children":1668},"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",[1669,1670,1672,1674,1676,1678,1680,1684,1688,1692,1694,1696],{"title":1665,"path":1666,"stem":1667},{"title":154,"path":153,"stem":1671},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F05.declarations-and-initialization-dcl\u002F02.dcl50-cpp",{"title":1399,"path":1398,"stem":1673},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F05.declarations-and-initialization-dcl\u002F03.dcl51-cpp",{"title":92,"path":91,"stem":1675},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F05.declarations-and-initialization-dcl\u002F04.dcl52-cpp",{"title":223,"path":222,"stem":1677},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F05.declarations-and-initialization-dcl\u002F05.dcl53-cpp",{"title":212,"path":211,"stem":1679},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F05.declarations-and-initialization-dcl\u002F06.dcl54-cpp",{"title":1681,"path":1682,"stem":1683},"DCL55-CPP. Avoid information leakage when passing a class object across a trust boundary","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl\u002Fdcl55-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F05.declarations-and-initialization-dcl\u002F07.dcl55-cpp",{"title":1685,"path":1686,"stem":1687},"DCL56-CPP. Avoid cycles during initialization of static objects","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl\u002Fdcl56-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F05.declarations-and-initialization-dcl\u002F08.dcl56-cpp",{"title":1689,"path":1690,"stem":1691},"DCL57-CPP. Do not let exceptions escape from destructors or deallocation functions","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl\u002Fdcl57-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F05.declarations-and-initialization-dcl\u002F09.dcl57-cpp",{"title":998,"path":997,"stem":1693},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F05.declarations-and-initialization-dcl\u002F10.dcl58-cpp",{"title":243,"path":242,"stem":1695},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F05.declarations-and-initialization-dcl\u002F11.dcl59-cpp",{"title":1697,"path":1698,"stem":1699},"DCL60-CPP. Obey the one-definition rule","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl\u002Fdcl60-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F05.declarations-and-initialization-dcl\u002F12.dcl60-cpp",{"title":1701,"path":1702,"stem":1703,"children":1704},"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",[1705,1706,1708,1710,1712,1714,1716,1718,1720,1724,1726,1730,1732,1734],{"title":1701,"path":1702,"stem":1703},{"title":1410,"path":1409,"stem":1707},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F06.exceptions-and-error-handling-err\u002F02.err50-cpp",{"title":1017,"path":1016,"stem":1709},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F06.exceptions-and-error-handling-err\u002F03.err51-cpp",{"title":1421,"path":1420,"stem":1711},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F06.exceptions-and-error-handling-err\u002F04.err52-cpp",{"title":936,"path":935,"stem":1713},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F06.exceptions-and-error-handling-err\u002F05.err53-cpp",{"title":976,"path":975,"stem":1715},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F06.exceptions-and-error-handling-err\u002F06.err54-cpp",{"title":1027,"path":1026,"stem":1717},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F06.exceptions-and-error-handling-err\u002F07.err55-cpp",{"title":1095,"path":1094,"stem":1719},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F06.exceptions-and-error-handling-err\u002F08.err56-cpp",{"title":1721,"path":1722,"stem":1723},"ERR57-CPP. Do not leak resources when handling exceptions","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexceptions-and-error-handling-err\u002Ferr57-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F06.exceptions-and-error-handling-err\u002F09.err57-cpp",{"title":1324,"path":1323,"stem":1725},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F06.exceptions-and-error-handling-err\u002F10.err58-cpp",{"title":1727,"path":1728,"stem":1729},"ERR59-CPP. Do not throw an exception across execution boundaries","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexceptions-and-error-handling-err\u002Ferr59-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F06.exceptions-and-error-handling-err\u002F11.err59-cpp",{"title":925,"path":924,"stem":1731},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F06.exceptions-and-error-handling-err\u002F12.err60-cpp",{"title":987,"path":986,"stem":1733},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F06.exceptions-and-error-handling-err\u002F13.err61-cpp",{"title":1735,"path":1736,"stem":1737},"ERR62-CPP. Detect errors when converting a string to a number","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexceptions-and-error-handling-err\u002Ferr62-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F06.exceptions-and-error-handling-err\u002F14.err62-cpp",{"title":1739,"path":1740,"stem":1741,"children":1742},"Expressions (EXP)","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexpressions-exp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F07.expressions-exp\u002F01.index",[1743,1744,1746,1750,1752,1754,1756,1758,1760,1764,1768,1772,1776,1780,1784],{"title":1739,"path":1740,"stem":1741},{"title":678,"path":677,"stem":1745},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F07.expressions-exp\u002F02.exp50-cpp",{"title":1747,"path":1748,"stem":1749},"EXP51-CPP. Do not delete an array through a pointer of the incorrect type","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp51-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F07.expressions-exp\u002F03.exp51-cpp",{"title":858,"path":857,"stem":1751},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F07.expressions-exp\u002F04.exp52-cpp",{"title":274,"path":273,"stem":1753},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F07.expressions-exp\u002F05.exp53-cpp",{"title":377,"path":376,"stem":1755},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F07.expressions-exp\u002F06.exp54-cpp",{"title":627,"path":626,"stem":1757},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F07.expressions-exp\u002F07.exp55-cpp",{"title":616,"path":615,"stem":1759},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F07.expressions-exp\u002F08.exp56-cpp",{"title":1761,"path":1762,"stem":1763},"EXP57-CPP. Do not cast or delete pointers to incomplete classes","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp57-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F07.expressions-exp\u002F09.exp57-cpp",{"title":1765,"path":1766,"stem":1767},"EXP58-CPP. Pass an object of the correct type to va_start","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp58-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F07.expressions-exp\u002F10.exp58-cpp",{"title":1769,"path":1770,"stem":1771},"EXP59-CPP. Use offsetof() on valid types and members","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp59-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F07.expressions-exp\u002F11.exp59-cpp",{"title":1773,"path":1774,"stem":1775},"EXP60-CPP. Do not pass a nonstandard-layout type object across execution boundaries","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp60-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F07.expressions-exp\u002F12.exp60-cpp",{"title":1777,"path":1778,"stem":1779},"EXP61-CPP. A lambda object must not outlive any of its reference captured objects","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp61-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F07.expressions-exp\u002F13.exp61-cpp",{"title":1781,"path":1782,"stem":1783},"EXP62-CPP. Do not access the bits of an object representation that are not part of the object's value representation","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp62-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F07.expressions-exp\u002F14.exp62-cpp",{"title":1785,"path":1786,"stem":1787},"EXP63-CPP. Do not rely on the value of a moved-from object","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp63-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F07.expressions-exp\u002F15.exp63-cpp",{"title":1789,"path":1790,"stem":1791,"children":1792},"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",[1793,1794,1798],{"title":1789,"path":1790,"stem":1791},{"title":1795,"path":1796,"stem":1797},"FIO50-CPP. Do not alternately input and output from a file stream without an intervening positioning call","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Finput-output-fio\u002Ffio50-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F08.input-output-fio\u002F2.fio50-cpp",{"title":1799,"path":1800,"stem":1801},"FIO51-CPP. Close files when they are no longer needed","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Finput-output-fio\u002Ffio51-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F08.input-output-fio\u002F3.fio51-cpp",{"title":1803,"path":1804,"stem":1805,"children":1806},"Integers (INT)","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fintegers-int","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F09.integers-int\u002F1.index",[1807,1808],{"title":1803,"path":1804,"stem":1805},{"title":605,"path":604,"stem":1809},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F09.integers-int\u002F2.int50-cpp",{"title":1811,"path":1812,"stem":1813,"children":1814},"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",[1815,1816,1818,1820,1822,1826,1830,1834,1838],{"title":1811,"path":1812,"stem":1813},{"title":1278,"path":1277,"stem":1817},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F10.memory-management-mem\u002F2.mem50-cpp",{"title":165,"path":164,"stem":1819},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F10.memory-management-mem\u002F3.mem51-cpp",{"title":726,"path":725,"stem":1821},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F10.memory-management-mem\u002F4.mem52-cpp",{"title":1823,"path":1824,"stem":1825},"MEM53-CPP. Explicitly construct and destruct objects when manually managing object lifetime","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fmemory-management-mem\u002Fmem53-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F10.memory-management-mem\u002F5.mem53-cpp",{"title":1827,"path":1828,"stem":1829},"MEM54-CPP. Provide placement new with properly aligned pointers to sufficient storage capacity","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fmemory-management-mem\u002Fmem54-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F10.memory-management-mem\u002F6.mem54-cpp",{"title":1831,"path":1832,"stem":1833},"MEM55-CPP. Honor replacement dynamic storage management requirements","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fmemory-management-mem\u002Fmem55-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F10.memory-management-mem\u002F7.mem55-cpp",{"title":1835,"path":1836,"stem":1837},"MEM56-CPP. Do not store an already-owned pointer value in an unrelated smart pointer","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fmemory-management-mem\u002Fmem56-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F10.memory-management-mem\u002F8.mem56-cpp",{"title":1839,"path":1840,"stem":1841},"MEM57-CPP. Avoid using default operator new for over-aligned types","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fmemory-management-mem\u002Fmem57-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F10.memory-management-mem\u002F9.mem57-cpp",{"title":1843,"path":1844,"stem":1845,"children":1846},"Miscellaneous (MSC)","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fmiscellaneous-msc","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F11.miscellaneous-msc\u002F1.index",[1847,1848,1852,1854,1858,1860],{"title":1843,"path":1844,"stem":1845},{"title":1849,"path":1850,"stem":1851},"MSC51-CPP. Ensure your random number generator is properly seeded","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fmiscellaneous-msc\u002Fmsc51-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F11.miscellaneous-msc\u002F2.msc51-cpp",{"title":103,"path":102,"stem":1853},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F11.miscellaneous-msc\u002F3.msc52-cpp",{"title":1855,"path":1856,"stem":1857},"MSC53-CPP. Do not return from a function declared [[noreturn]]","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fmiscellaneous-msc\u002Fmsc53-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F11.miscellaneous-msc\u002F4.msc53-cpp",{"title":430,"path":429,"stem":1859},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F11.miscellaneous-msc\u002F5.msc54-cpp",{"title":1861,"path":1475,"stem":1862},"rand() for generating pseudorandom numbers","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F11.miscellaneous-msc\u002F6.rand-for-generating-pseudorandom-numbers",{"title":1864,"path":1865,"stem":1866,"children":1867},"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",[1868,1869,1871,1873,1875,1877,1879,1881,1885,1887],{"title":1864,"path":1865,"stem":1866},{"title":1141,"path":1140,"stem":1870},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F12.object-oriented-programming-oop\u002F02.oop50-cpp",{"title":638,"path":637,"stem":1872},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F12.object-oriented-programming-oop\u002F03.oop51-cpp",{"title":896,"path":895,"stem":1874},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F12.object-oriented-programming-oop\u002F04.oop52-cpp",{"title":1064,"path":1063,"stem":1876},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F12.object-oriented-programming-oop\u002F05.oop53-cpp",{"title":1075,"path":1074,"stem":1878},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F12.object-oriented-programming-oop\u002F06.oop54-cpp",{"title":357,"path":356,"stem":1880},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F12.object-oriented-programming-oop\u002F07.oop55-cpp",{"title":1882,"path":1883,"stem":1884},"OOP56-CPP. Honor replacement handler requirements","\u002Fsei-cert-cpp-coding-standard\u002Frules\u002Fobject-oriented-programming-oop\u002Foop56-cpp","5.sei-cert-cpp-coding-standard\u002F3.rules\u002F12.object-oriented-programming-oop\u002F08.oop56-cpp",{"title":1432,"path":1431,"stem":1886},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F12.object-oriented-programming-oop\u002F09.oop57-cpp",{"title":1113,"path":1112,"stem":1888},"5.sei-cert-cpp-coding-standard\u002F3.rules\u002F12.object-oriented-programming-oop\u002F10.oop58-cpp",{"title":1890,"path":1891,"stem":1892,"children":1893},"Back Matter","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F1.index",[1894,1895,1899,1903,2088,2102],{"title":1890,"path":1891,"stem":1892},{"title":1896,"path":1897,"stem":1898},"AA. Bibliography","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Faa-bibliography","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F2.aa-bibliography",{"title":1900,"path":1901,"stem":1902},"BB. Definitions","\u002Fsei-cert-cpp-coding-standard\u002Fback-matter\u002Fbb-definitions","5.sei-cert-cpp-coding-standard\u002F4.back-matter\u002F3.bb-definitions",{"title":1904,"path":1905,"stem":1906,"children":1907},"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",[1908,1909,1913,1917,1921,1925,1929,1933,1937,1941,1945,1949,1953,1957,1961,1965,1969,1973,1977,1981,1985,1989,1993,1997,2001,2005,2009,2013,2017,2021,2025,2029,2030,2031,2032,2036,2040,2044,2048,2052,2056,2060,2064,2068,2072,2076,2080,2084],{"title":1904,"path":1905,"stem":1906},{"title":1910,"path":1911,"stem":1912},"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":1914,"path":1915,"stem":1916},"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":1918,"path":1919,"stem":1920},"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":1922,"path":1923,"stem":1924},"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":1926,"path":1927,"stem":1928},"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":1930,"path":1931,"stem":1932},"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":1934,"path":1935,"stem":1936},"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":1938,"path":1939,"stem":1940},"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":1942,"path":1943,"stem":1944},"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":1946,"path":1947,"stem":1948},"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":1950,"path":1951,"stem":1952},"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":1954,"path":1955,"stem":1956},"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":1958,"path":1959,"stem":1960},"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":1962,"path":1963,"stem":1964},"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":1966,"path":1967,"stem":1968},"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":1970,"path":1971,"stem":1972},"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":1974,"path":1975,"stem":1976},"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":1978,"path":1979,"stem":1980},"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":1982,"path":1983,"stem":1984},"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":1986,"path":1987,"stem":1988},"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":1990,"path":1991,"stem":1992},"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":1994,"path":1995,"stem":1996},"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":1998,"path":1999,"stem":2000},"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":2002,"path":2003,"stem":2004},"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":2006,"path":2007,"stem":2008},"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":2010,"path":2011,"stem":2012},"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":2014,"path":2015,"stem":2016},"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":2018,"path":2019,"stem":2020},"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":2022,"path":2023,"stem":2024},"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":2026,"path":2027,"stem":2028},"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":1500,"path":1501,"stem":1502},{"title":30,"path":1494,"stem":1496},{"title":1504,"path":1505,"stem":1506},{"title":2033,"path":2034,"stem":2035},"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":2037,"path":2038,"stem":2039},"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":2041,"path":2042,"stem":2043},"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":2045,"path":2046,"stem":2047},"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":2049,"path":2050,"stem":2051},"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":2053,"path":2054,"stem":2055},"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":2057,"path":2058,"stem":2059},"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":2061,"path":2062,"stem":2063},"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":2065,"path":2066,"stem":2067},"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":2069,"path":2070,"stem":2071},"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":2073,"path":2074,"stem":2075},"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":2077,"path":2078,"stem":2079},"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":2081,"path":2082,"stem":2083},"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":2085,"path":2086,"stem":2087},"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":2089,"path":2090,"stem":2091,"children":2092},"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",[2093,2094,2098],{"title":2089,"path":2090,"stem":2091},{"title":2095,"path":2096,"stem":2097},"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":2099,"path":2100,"stem":2101},"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":2103,"path":2104,"stem":2105},"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":2107,"path":2108,"stem":2109,"children":2110},"Admin","\u002Fsei-cert-cpp-coding-standard\u002Fadmin","5.sei-cert-cpp-coding-standard\u002F5.admin\u002F1.index",[2111,2112],{"title":2107,"path":2108,"stem":2109},{"title":2113,"path":2114,"stem":2115},"TODO List","\u002Fsei-cert-cpp-coding-standard\u002Fadmin\u002Ftodo-list","5.sei-cert-cpp-coding-standard\u002F5.admin\u002F2.todo-list",{"title":2117,"path":2118,"stem":2119},"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",1775657785859]