Modern-CPP-Programming/htmls/07.Basic_Concepts_V.html
2026-01-06 09:09:47 -08:00

2666 lines
1.0 MiB
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<!-- Created by pdf2htmlEX (https://github.com/pdf2htmlEX/pdf2htmlEX) -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8"/>
<meta name="generator" content="pdf2htmlEX"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<style type="text/css">
/*!
* Base CSS for pdf2htmlEX
* Copyright 2012,2013 Lu Wang <coolwanglu@gmail.com>
* https://github.com/pdf2htmlEX/pdf2htmlEX/blob/master/share/LICENSE
*/#sidebar{position:absolute;top:0;left:0;bottom:0;width:250px;padding:0;margin:0;overflow:auto}#page-container{position:absolute;top:0;left:0;margin:0;padding:0;border:0}@media screen{#sidebar.opened+#page-container{left:250px}#page-container{bottom:0;right:0;overflow:auto}.loading-indicator{display:none}.loading-indicator.active{display:block;position:absolute;width:64px;height:64px;top:50%;left:50%;margin-top:-32px;margin-left:-32px}.loading-indicator img{position:absolute;top:0;left:0;bottom:0;right:0}}@media print{@page{margin:0}html{margin:0}body{margin:0;-webkit-print-color-adjust:exact}#sidebar{display:none}#page-container{width:auto;height:auto;overflow:visible;background-color:transparent}.d{display:none}}.pf{position:relative;background-color:white;overflow:hidden;margin:0;border:0}.pc{position:absolute;border:0;padding:0;margin:0;top:0;left:0;width:100%;height:100%;overflow:hidden;display:block;transform-origin:0 0;-ms-transform-origin:0 0;-webkit-transform-origin:0 0}.pc.opened{display:block}.bf{position:absolute;border:0;margin:0;top:0;bottom:0;width:100%;height:100%;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;user-select:none}.bi{position:absolute;border:0;margin:0;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;user-select:none}@media print{.pf{margin:0;box-shadow:none;page-break-after:always;page-break-inside:avoid}@-moz-document url-prefix(){.pf{overflow:visible;border:1px solid #fff}.pc{overflow:visible}}}.c{position:absolute;border:0;padding:0;margin:0;overflow:hidden;display:block}.t{position:absolute;white-space:pre;font-size:1px;transform-origin:0 100%;-ms-transform-origin:0 100%;-webkit-transform-origin:0 100%;unicode-bidi:bidi-override;-moz-font-feature-settings:"liga" 0}.t:after{content:''}.t:before{content:'';display:inline-block}.t span{position:relative;unicode-bidi:bidi-override}._{display:inline-block;color:transparent;z-index:-1}::selection{background:rgba(127,255,255,0.4)}::-moz-selection{background:rgba(127,255,255,0.4)}.pi{display:none}.d{position:absolute;transform-origin:0 100%;-ms-transform-origin:0 100%;-webkit-transform-origin:0 100%}.it{border:0;background-color:rgba(255,255,255,0.0)}.ir:hover{cursor:pointer}</style>
<style type="text/css">
/*!
* Fancy styles for pdf2htmlEX
* Copyright 2012,2013 Lu Wang <coolwanglu@gmail.com>
* https://github.com/pdf2htmlEX/pdf2htmlEX/blob/master/share/LICENSE
*/@keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes swing{0{transform:rotate(0)}10%{transform:rotate(0)}90%{transform:rotate(720deg)}100%{transform:rotate(720deg)}}@-webkit-keyframes swing{0{-webkit-transform:rotate(0)}10%{-webkit-transform:rotate(0)}90%{-webkit-transform:rotate(720deg)}100%{-webkit-transform:rotate(720deg)}}@media screen{#sidebar{background-color:#2f3236;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0IiBoZWlnaHQ9IjQiPgo8cmVjdCB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjNDAzYzNmIj48L3JlY3Q+CjxwYXRoIGQ9Ik0wIDBMNCA0Wk00IDBMMCA0WiIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2U9IiMxZTI5MmQiPjwvcGF0aD4KPC9zdmc+")}#outline{font-family:Georgia,Times,"Times New Roman",serif;font-size:13px;margin:2em 1em}#outline ul{padding:0}#outline li{list-style-type:none;margin:1em 0}#outline li>ul{margin-left:1em}#outline a,#outline a:visited,#outline a:hover,#outline a:active{line-height:1.2;color:#e8e8e8;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;display:block;overflow:hidden;outline:0}#outline a:hover{color:#0cf}#page-container{background-color:#9e9e9e;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1IiBoZWlnaHQ9IjUiPgo8cmVjdCB3aWR0aD0iNSIgaGVpZ2h0PSI1IiBmaWxsPSIjOWU5ZTllIj48L3JlY3Q+CjxwYXRoIGQ9Ik0wIDVMNSAwWk02IDRMNCA2Wk0tMSAxTDEgLTFaIiBzdHJva2U9IiM4ODgiIHN0cm9rZS13aWR0aD0iMSI+PC9wYXRoPgo8L3N2Zz4=");-webkit-transition:left 500ms;transition:left 500ms}.pf{margin:13px auto;box-shadow:1px 1px 3px 1px #333;border-collapse:separate}.pc.opened{-webkit-animation:fadein 100ms;animation:fadein 100ms}.loading-indicator.active{-webkit-animation:swing 1.5s ease-in-out .01s infinite alternate none;animation:swing 1.5s ease-in-out .01s infinite alternate none}.checked{background:no-repeat url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3goQDSYgDiGofgAAAslJREFUOMvtlM9LFGEYx7/vvOPM6ywuuyPFihWFBUsdNnA6KLIh+QPx4KWExULdHQ/9A9EfUodYmATDYg/iRewQzklFWxcEBcGgEplDkDtI6sw4PzrIbrOuedBb9MALD7zv+3m+z4/3Bf7bZS2bzQIAcrmcMDExcTeXy10DAFVVAQDksgFUVZ1ljD3yfd+0LOuFpmnvVVW9GHhkZAQcxwkNDQ2FSCQyRMgJxnVdy7KstKZpn7nwha6urqqfTqfPBAJAuVymlNLXoigOhfd5nmeiKL5TVTV+lmIKwAOA7u5u6Lped2BsbOwjY6yf4zgQQkAIAcedaPR9H67r3uYBQFEUFItFtLe332lpaVkUBOHK3t5eRtf1DwAwODiIubk5DA8PM8bYW1EU+wEgCIJqsCAIQAiB7/u253k2BQDDMJBKpa4mEon5eDx+UxAESJL0uK2t7XosFlvSdf0QAEmlUnlRFJ9Waho2Qghc1/U9z3uWz+eX+Wr+lL6SZfleEAQIggA8z6OpqSknimIvYyybSCReMsZ6TislhCAIAti2Dc/zejVNWwCAavN8339j27YbTg0AGGM3WltbP4WhlRWq6Q/btrs1TVsYHx+vNgqKoqBUKn2NRqPFxsbGJzzP05puUlpt0ukyOI6z7zjOwNTU1OLo6CgmJyf/gA3DgKIoWF1d/cIY24/FYgOU0pp0z/Ityzo8Pj5OTk9PbwHA+vp6zWghDC+VSiuRSOQgGo32UErJ38CO42wdHR09LBQK3zKZDDY2NupmFmF4R0cHVlZWlmRZ/iVJUn9FeWWcCCE4ODjYtG27Z2Zm5juAOmgdGAB2d3cBADs7O8uSJN2SZfl+WKlpmpumaT6Yn58vn/fs6XmbhmHMNjc3tzDGFI7jYJrm5vb29sDa2trPC/9aiqJUy5pOp4f6+vqeJ5PJBAB0dnZe/t8NBajx/z37Df5OGX8d13xzAAAAAElFTkSuQmCC)}}</style>
<style type="text/css">
.ff0{font-family:sans-serif;visibility:hidden;}
@font-face{font-family:ff1;src:url('data:application/font-woff;base64,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')format("woff");}.ff1{font-family:ff1;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff2;src:url('data:application/font-woff;base64,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')format("woff");}.ff2{font-family:ff2;line-height:0.727000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff3;src:url('data:application/font-woff;base64,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')format("woff");}.ff3{font-family:ff3;line-height:0.704000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff4;src:url('data:application/font-woff;base64,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')format("woff");}.ff4{font-family:ff4;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff5;src:url('data:application/font-woff;base64,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')format("woff");}.ff5{font-family:ff5;line-height:0.915000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff6;src:url('data:application/font-woff;base64,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')format("woff");}.ff6{font-family:ff6;line-height:0.923000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff7;src:url('data:application/font-woff;base64,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')format("woff");}.ff7{font-family:ff7;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff8;src:url('data:application/font-woff;base64,d09GRgABAAAAAATgAA0AAAAABuQAAwACAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAExAAAABoAAAAcpiahkkdERUYAAASoAAAAGwAAAB4AJwALT1MvMgAAAaQAAABEAAAAVlXIgqpjbWFwAAAB/AAAAEYAAAFKRYDkOWdhc3AAAASgAAAACAAAAAj//wADZ2x5ZgAAAlAAAAB0AAAAdF5LOhRoZWFkAAABMAAAADMAAAA2Lf0axGhoZWEAAAFkAAAAHgAAACQGSgNsaG10eAAAAegAAAAUAAAAFAcYAERsb2NhAAACRAAAAAwAAAAMAAAAOm1heHAAAAGEAAAAHQAAACAASAAnbmFtZQAAAsQAAAG7AAAC2R+DGYdwb3N0AAAEgAAAAB4AAAA0ObKyo3icY2BkYGBgZmh21xVaHM9v85WBm/kFUIThadPrbjjt8n8C8ySmbUAuBwMTSBQAaD8NKgB4nGNgZGBg2vZ/AgMD8zUGIGCexMDIgApYAWUfA70AAHicY2BkYGBgZVBhANEMDExAzAhmO4D5DAAGWwBwAAAAeJxjYGR8zfiFgZWBgamLaQ8DA0MPhGZ8wGDIyAQUZWBjZoABRiB2gHEC0lxTgJSC0jGmbf8nAFVuYyiAqmEAACwtDEAB9AAAAAAAAAFNAAAAAQAAA9YARHicY2BgYGaAYBkGRgYQcAHyGMF8FgYNIM0GpBkZmBgUlI79/w/kg+n/j+/aQdUDASMbA5zDyAQkmBhQASPEiuEMAMdbCdwAAAAAAAAAAAAAAAAAOgABAET/kAOSArYAIwAAAQcXHgIVFCMnBwYjIjU0NxMnJjU0PgEzIRM2MhcTITIeARQDg+sIAywmDf3sBwoNA1rsDgkLCwEdWgYWBloBHQsLCQFtrBcLhnYED7SrCQ8FCQEVqwkJBwYBARQVFf7sAQYOAAAAeJxtUcFq20AQfavYpg2l9NrbXAo22LKsgI1MCDUhPhSUQww59SLkxVKxJFdaR/ineumv5BR66Knf0af1FnKoBjRvZmfmvdkF8B4/oHD+CvxyWKGvHh32MFDfHL6AqJ8O91jz2+E+PnhvHB6g731ipeq9ZfRiuzqscKm+OOzhnfrq8AU+q+8O91jz7HCfXH8cHuDS+4hbVDjghBo5dshgIBgixYh+hoi2wJg4RECLiFbcSdv6FAlKZmJ6w17Nkw6dT/Y82XB6ylgze7KTry2HIecSU1przWd9gYa+4uQdbsjfsbbs7SYLHjijsbxP/G+ZWbO2tHrvbbe2SjbUF1OzD9xWh1Od7zIjw3QksyhajCUMgkhWha7zNCklTkymi8Qw2MumSnNtTjK8zow5LKfTtm39pGj8qt7djMbS5iaTB93o+klvZV2VRu6TQku8WcUL0t3hyJ07hbg77jVdbJXmzBcM9DY/0v+TvXaranu5Pi9XeCWvVzjHc0z4EBP7ACEjdMxratIS+oEsz/z088lsEgbhHK9GwB4Cj1ZXQy2VfbHuLa8saTdUWKDrJq9KCYIrPwhC+c+Qv+WyeN4AeJxjYGLAD1iBmJGBiYGZkYm9NC/TyMjZDAALhQJBAAAAAAAB//8AAnicY2BkYGDgAWIxIGZiYARCFjAG8RgAA8oAMwB4nGNgYGBkAILbCqeqQfTTptfdMBoAT+4H/AAA')format("woff");}.ff8{font-family:ff8;line-height:0.806000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff9;src:url('data:application/font-woff;base64,d09GRgABAAAAAAWAAA0AAAAAB6AAAwACAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAFZAAAABoAAAAcpiahmEdERUYAAAVIAAAAHAAAAB4AJwAMT1MvMgAAAaQAAABEAAAAVlXmhJRjbWFwAAACAAAAAEcAAAFSIfYpumdhc3AAAAVAAAAACAAAAAj//wADZ2x5ZgAAAlgAAAEIAAABCN6/qDpoZWFkAAABMAAAADMAAAA2LgcaymhoZWEAAAFkAAAAHgAAACQGZQOAaG10eAAAAegAAAAYAAAAGA7BAGlsb2NhAAACSAAAAA4AAAAOAIQASm1heHAAAAGEAAAAHQAAACAASQA0bmFtZQAAA2AAAAG4AAAC5VioE9Zwb3N0AAAFGAAAACUAAAA+ZVt0UXicY2BkYGBgZmjedEcrMZ7f5isDN/MLoAjD06bXfXDa6P9E5nVMW4FcDgYmkCgAlA4OKgB4nGNgZGBg2vp/IgMD8wsGIGBex8DIgArYAGj0A+wAAHicY2BkYGBgYzBkANEMDExAzAhmO4D5DAAHuwB+AAAAeJxjYGS+yviFgZWBgamLaQ8DA0MPhGZ8wGDIyAQUZWBjZoABRiBOgHEC0lxTgJSC0jGmrf8nAlVuZciHqmEAACo9DEoB9AAAAAAAAAFNAAAD6AAAA+gANwOwADJ4nGNgYGBmgGAZBkYGEPAB8hjBfBYGAyDNAYRMQFpB8a7Ssf//Eaz/j++p37WH6gIDRjYGOJcRpIeJARUwQqwazgAAZaYM8wAAAAAAAAAAAAAAAEoAhAAAAAEANwBTA64BoQAwAAATFz4CNzYzMhcWFzMmJzMWFwYHIzY3IyIvAQ8BBiInLgIjJw4BBwYiJjU0PwE2Mr2kCVJJAQ0HCRIHQuBDIh8mcG4oHyJD2BcLSktPFhIOAgwKAYkPLgcREAwQRBQSAVaUCEpBAQsQBj08V2o9Om1XPApCREcUDgIKCXwNKQYQDAgJDzwTAAABADL/kQN+ArUAJAAAAQcTFhUUIyIvAQcGIyI1PwETJyY1NDYzIRM2MzIWFxMhMhYVFANx71wDCwgH7+8LBAsCAlvwDAwQASFaBgkGBARbASERCwFxrv7nCQULCa2tCQsHBwEZrgkGCAMBFhQGDP7oAwgEeJxtUctq20AUPaPYhoZQ2j+47coGWx4r4GATAm6Id8oihkBXRciDJbAkI40j/FNZ91tK6bq7/kKPxtNFoLqge+7r3DMzAN7jFQrnr8QvjxX66qvHAQaq8PgCn9R3j3vM//a4jw/BR48HGASanar3jtFPN9VhhUsVexzgSn3z+AJflPW4x/wPj/sQ9cfjAa6Cz7hHhQNOqJFjhwwWgiFSjOhnWNBuMCaOoGkLohUKGNefIuH5BDG95axhpUPnyp6VDdlTxobZk2O+dTssdy4xpbXOQvYXaOgrMu9wx/3d1pazHbPgiRyN2/vC/5aZNXtLp/fRTRunZEN9MZVrcuG+OpzqfJdZGaYjmS0WN2OJtF7IqjB1nialxInNTJFYBnvZVGlu7EmGt5m1h+V02rZtmBRNWNW7u9FY2txm8mQaU7+Yrayr0spjUhiJN6t4prnvAUceuxOJh+Pe0MVObM58wcBs8yP9P+Vrf1rj7jekZuGtvD3FOTPHhNHEvULECN3yNWUZiUItSy+BYD6ZTSIdzfGGBec68OzUNVRUuafrHvXare6IhQ2mbvKqFK2vQ60j+T/PX+K9eoR4nGNgYsAP2ICYkYGJgZmRiZGZvTQv08jQxQVMGzmbAQAotASEAAAAAAAAAf//AAJ4nGNgZGBg4AFiMSBmYmAEQlYgZgHzGAAD1QA0eJxjYGBgZACC2wqnqkH006bXfTAaAFAMCAIAAA==')format("woff");}.ff9{font-family:ff9;line-height:0.804000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ffa;src:url('data:application/font-woff;base64,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')format("woff");}.ffa{font-family:ffa;line-height:0.922000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ffb;src:url('data:application/font-woff;base64,d09GRgABAAAAABZkAA0AAAAAHvgAAgAEAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAWSAAAABoAAAAcpiahnkdERUYAABYsAAAAHAAAAB4AJwBTT1MvMgAAAaQAAABGAAAAVlXoGRdjbWFwAAAC2AAAAO0AAAGq9oKeo2dhc3AAABYkAAAACAAAAAj//wADZ2x5ZgAABGQAAA97AAAVyIA9cKBoZWFkAAABMAAAADQAAAA2LYobAWhoZWEAAAFkAAAAIAAAACQGVQLaaG10eAAAAewAAADqAAABNJjCEUBsb2NhAAADyAAAAJwAAACcyNrOGm1heHAAAAGEAAAAHgAAACAAkwBKbmFtZQAAE+AAAAGsAAAC+r/NfRxwb3N0AAAVjAAAAJgAAADDcmzY9nicY2BkYGBgYmSz0pmnGc9v85WBm/kFUIThadPriTD6/+H/bMwLmd4BuRwMTCBRAGjgDfh4nGNgZGBgevefjYGBecP/w/+vMS9kAIqgAF8AqtkHM3icY2BkYGDwZXBnYGEAASYgZmQAiTmA+QwAEaMA3gAAeJxjYGTMZZzAwMrAwNTFtIeBgaEHQjM+YDBkZAKKMrAyM4BBA1DQgQEBAtJcU4CUwm9mpnf/2YAq3zH8AvIZQXIA/4sMYwAAeJxNjy9Pw1AUxc+9b2YlqVmWNGuHWdXGBIZ0FoMgC+lCBaZpFwzZdxhm+xL7BCQICGJqDmwNClk5hWpm2XkPBC/5vfvn3PNynwRwR6b2AvSAoaxwQxLTRiJdlNROXGxYN9Qb3P1FS/QvH7o5ohtEpNQlLvUThWbIdUI2rD+QcybXLft95GaBe/YKrZFwvtA1GeFMnxDri/P45hW+1LjQFmayY7+FmHEg5wjtDqxTfONavJ932eOWeWp6SG2f+qn1OU9G/yN3fkDHaRV8febbFb/PXN6o2T98OebGw0GvEGrwixkjPALd+zl0AAB4nGNgYGBmgGAZBkYGEFgC5DGC+SwMHUBajkEAKMLHoMCgxqDJYMJgwWDN4MkQwBDOUKUgqSCroPSb+f9/oDqQvAaDNoMZgxWDI4M3QxBDIlBeBijP8P///8f/7/2/+//O/9v/b/2/+v/K/8v/Tz3QeaD1QI3VE2ovHsDIxgBXxMgEJJjQFUC8wAB0MisbAzsHJxc3Dy8fvwCDoJAwg4goWEpMXEJSSlpGVo5BXkFRSVmFQVVNXUNTC26Gto6unr6BoZGxiamZuYWllbWNrZ29g6OTswsh5yGAB/FKGRjc3BlcYWwvb0KqAczsLpkAAAAAAAAAAAAAAAAAAGgAjACwANIA4gDwAPwBHAFaAXIBtAH0AhACUgJuArQCxgLcAwADMgNmA4YDpgPAA/IECgQWBDAEQgRwBIoEsATSBPgFNgVSBXAFjAXEBfYGIAZGBnIGngbCByIHQgdUB3QHjAeYB8oH6ggQCDwIbAiCCMwI6gkICSIJUglqCZYJtgnGCeAJ+goICkYKdAqcCuR4nH1YC3QbVXqe/8oe2ZYtWdbLT1kPS7It24o1kkaPSLZjyw/JkS3Jdiw/Er9CHmQTslDAu4kT8iIJBMKj3aZNyNLCQhvoSUnWobsmh4TDAS+wXeiydLel4bQHCj2FbU9g2QU86X9nZMdQ2nOkmavRvf/9/+///scdRsbU3/gP8gJ5nWlg/EyUYXJZq8WBX7vXw/v4CGkBjwPHPs6t12lZud7gw8cGHHBuHjxNYLWwOq0hApom4mDlOMY/yAtr/YO9t0wmtjXK23MKcmX5soreSKC7J+HZ6m+qrYj493m5YEA4JzeWVjRWeL1FCldM3woWvzsmVwWD09FIc14gJy9XppDJk7H07RNh10x0567GRMtkycu7bCXwaYmt1sMlOtf0CO0KfouTJya3s4NhGGD6brDQSz5htGiL1a728BEZz4maGWXQG37RVVzbVKoJDzsbqmoC1V+ch44fzjl7+LKS4dl9T4z9cHq0hhHl+FGOV5Jj08qVMrkVLfd6mmQOTg/er0vRh1/84ptS9OeX5TxL3iRdjAZ/aa1mtdbiVZstHs6s9rh1ajN50yx8VCt8aDZDaS0YQLkyLjWbhQ8lGZM3DjIXmTTDMgwvt/JWL3exvq6sLA1ze9P0fwVzBbTMl4wMdTV7zaAVPof8K0FpLV7pWvyPowvT6fSKfT9F+1T4QyuHrMuBOhp+miucY1V5hbkwSG/kN7lFX6W0hXm5RbK/0RZSnQjlDSySHyE+dlGCEqnQBJQrfARQiEFPih1NMquFQm8Q6bJYW5rhTaEWjcVeOeZuyFQ2JTRsfrmzot+kVlen+quh8wcbPEFtsDH9wJ8ORHwuT0b4dyB+lbpWv5n//v7wzlslPDJ4eRr3RlXqwMupWbnXx3NqDp4WLu3l+g+GtHuDJE9PgrnhpUdxfj3Ov4LzneL8FojIvB671aIkcrsDeSuRWwly6cO5fSGAK8LuPeuNVbXqRLt5TXVJvjoXcvJzmx6d+COryZTfWSDfrfkOW8rOt+7pqq72+4yR0bJml6U0F9hC+RN7Rxxxmyl/bT67sxgknZfxqqd8okHGGxEmyijiBFQ/AqJOrNwhwkeDzQiwOJvZk1SYtvv87Ypy3t4Vz2kMhOrXDOlqqrcE47f6eX/qYnJ269pmX2qtvsFlDLNQsN7V2Ox3+zzB4Vb3eJV6XPJXJSrxDjnJFDBK1MCqs3rNXg1iZlWzMnhnuk/4fGl0+hl48dy5c2HEcRj2tAgvrfJzOWYIqrkcdW+SiRnBoBMVpvDJMUvQVMDqjDJ0tQ8Wq6yhdKU3WF/52Hd4zuvp3pLfsblzLGWwREJRIPmlHlvEXvovwT5HR7ErNpc884o2pNt7R/rEdG9dZOPawmJDfVdDpG4Zu89Qh5MiV5UynbVYg3shamZYtLbHGgc+nkVPXIazpM+x9dSr26EfcqGLka3obmCsjCuLO01mfBPcTGlGkInAi6nLp1k1hsW7h4dm+4KR8G2p/t3hiD850B7gO+hXtt69JtHNe2KI/t2pyLhWm27s2rq1qzGt1YyBjFvX5vG2tQnXu7q7ujtiPYijGIewgFrJGUaDkajORmMatqWFjjT1kRjn4pyC7JxstKfTUrzjzKgY86I/yRyZR2lqhjFbHWa5FTiNzO6wspTEZG6sV3h3fQxyh7tGq2TAesuU5a+/TuaFBEBab360296FGsmoXmQK5SgZPVMtYWRWr0Bj99idoENX0zs+9pGpB7cLv/9428mN3cnbtt2Rnrtj8uj3kw+dSt6+EN9N5rd28gMlRVO/nol+/rNQSvhkvei/dTc+I3FylTGhfJFADnsxTwmkN2AE2lflCB9P4qEaW/vhTRs3bjrsq3O6lc46BzcR7eiITqyz2vjGmnzFtm1Qu31bXp42ZSwsHNrwvdkNQ4UKO2IygbacQlvyKCYgWmKm3FzW/dSFfcIfgN1/Yej49lOnth+HwQdeIfN///DBHy395CzquRHX15MLNFfXgdqsQ7ag9WYdBQRzAqkXPHD5EnLtOMSE+TdxMEcutMHHYWEJmOx6Ja4vwh8311oxyyvP4+SD0CS8lYHz5LvwZVh4GSdmsRlaxub/QcaLPCBDMzslZAIuT5OqocHpl5CJthx6y94s4aJQlqVsqmIJF92T4axemxEXBWWKmmrE4ZUjmzPCuUwGBjPUHKTGm+BisnYwl3C+WDPU3KVMBn/gc4rvfctyZHIdlQMckPvGPjs8OAi3jgufwo5j/4aSTsDtwifLsuA6rmFFTDHh2OC6cGumGRRkfuk4EefMIBFZnFMm6udgVSCzUiZTRQ0avYHz8RpOxiJz69Yc7nm0NQ8Suy1nyuRQmDzwXbID2Dv3CU/A4afrlh4l8xuEqWi15y1IS7mD6jyNsotEnSWZGgPqQab3fNYOCfECHxxbegjVLj9GdiGP/NgTPYU9UQHGBMMUZ7MG516dHMhTf7dv70+e3z83cWg0c/jg2Mgh+FT42S//4fSf/6Nw+sBfPH7w/r89z2Q52Yn7F1BWISeRilY1t5qVnUc3PpX5w+ajycnkiRPpTfCfA3cJ18j83am2pPBuelnGNtEGvWiFVRJBQ5RfEbMts/DY0H9vf3h8fWZq4OTJwUkICy+R+V3x8JRhno8LX8VEPBowJ15H22pX6pBeLEMOLN5S/fa5kXtSX2cE+tHD9f0TsztVE3e1Jet1tjZvS5Vv7tW0qnd8Xb9VV+PqbTF7XxiciyaT/Z5ATYmquKiiOtCZuMvd39rtajaWqBSaSmsQ98bWihwi58U8LsYH2pHN5OTQEYyQTGYEr0fIBNkFSyfJbdAmcQj9kUT71Ss5HIkkegEHJPnQLVv+ODPZ3jGT+GjHI4/sgDcE96YtWzfCz+larHbkfomz+UBTpEQncr/w2zHht+PP+ljIHz2MXIyh/1tPGtd8CEPZdbLHcZ0Rf0hsZOV4R+5k+agxQjXQkezx1zbcvgZbqNaZ5GtDSZeNQG73SHKqqkaWA2zPKJUND/21m7smPIl7fPDUn6n9X4FfOLf5hEYb+BKCYn32YY07BW+gh03Ux97lUiV2BXKpR5F7JfJhfT0VD28L+s/c7bYlO9l4qnNT4g3e7qq21LiSzpZ24vSG3euck/EzkYKo0arRSD1ACvd4T8z1ZcveF2NYquB0H51Y997b2dsdScS7M9HxRMrb4bBG+JFr0/cGmlD9X4WObdowEHq3dVCKrxqUeRb1Nkj5yy7WVYOcngyUIGkLZ2OZsT2z002tDYW1a+vc7eXrIxuitdzxyydLytrKS/xxZ2zCh/pRWc+J+lWsxgDToZqTeVdiD81/LtGW7p7ZEutfF0/YQ/xI0ldvMnta7p2aPMqDfentV/mBzNBgpVGy24pyH0MdS0S7zbTxwjPMinC9qC0rh8eE18jg2oEOtnvDyNyd6ZE1tYH8jgZnV+E/9Uz42zzHpyeP90Q8rZFOv2Q7agmj5Aq1HcR+sgo4HQ1OzNWSaBh11BeVm3W7d8ZjsU1dNQ3kdnWuylp+V1CYgwPBkdikArNs5Q03vA+vMI0Mz3RKslirg8Y3PYzptCFwG3N02e6Ft+NHku7jWDEjUVA0HidYsDmSOpf360oKOUWOebzdXacIDqvL/HXO0nvGx+5pLa8yb2zja2MDf+m1WXjeYnvw3hG9SZUHmZZIBo4iZRv59okqpd5LWE0lZw709fnb7KbhOqe/Y5PJ9OsdHvdtbkGIKtWl+TmWhgaKQxIvF9BvWjF/e2jXz1ZBllk6uJAAhcZR4WlOxP1Dx8Cq1Jh1xSOhz5BNi91n0D9xRPMJ8qDUG9GKQ5ue0/F4Hhanhe9lqA9vvHSDY57HOSqaRw0rmStCMAXQ2vh83B0J6kz1BdpKdTyTCbX3WcLVOUUmAwGUAMyA2P9ma5dDql08J4d3Uqf7o92vjTz9XvoEKuT7xTOSb9Em5vTNGojaSDUQn5NF9JUlayvJ2npzxOkk37h1ZDGRq3aaOffyrTs4PFPpH0cMNJU1WoTg5uBq9/pU6szK3nAB9/hfeOq+gWd3YHgVnnC1q/cM5bsR+f428l0hRqV2helSkC93t2/fM5o5sH9s5J7EQNA/OBAIpf958sjhqekHToykNwwNDI6NSzkjAu+hLmJM3swZulU5Q2xQaNaIx8KJeNd4ZybRF1hXW2DlgsPXZo4E/ovMNa89vjE6HVzUqlxTUkzWoNznUG4xzbC5q2IdC46Xkw5oq8K9faBramevdV1FfjzudQWG+wIRW8HVT8NHJ2aOVJcrOoSX77fFJmKdmwNFEoYpvHSh/AJ6ZoAsejx0xSbina274BCZjP8Kro5uApxbiXhtRbw48ay/TC3xsI/HQ1QrgocasSjStwgGmviNObB1jbOnf7iwJ7VRqcYiZyk3q3zVDr5cFY8WtiYGC1XVep2zqUKWk1eQx+7vtJkaOpqjqlJlYY5MzhYp6kI27MmJqc0eUeqLFGxOXklpTk6BWlMm6q9BnXpJiLKd5lWvmFM4HeYXnZbm1N6envTAhuiJE1xzXYX9ACiC+/YFv0ibRf7g2gt4jii5mUVXFUy4EG/fHnIlqpq5aGJNKByCPuHHNlPACxap7sFlXKuQ6p5UL1sALj8z/ExisoaFPE8fLAgd+F2asriO/iJbY0/jmgpxjYPWShXgWoO0dvlOTh8b7sGzSE5dpO9Yr6c5F3IbAp1tdXiva6Uyf7+p0XXvz2Hh2b9yrT2x8Pax2oYjv6T2UEBel3SisWvlHZyBxu7r6T95KHV1IX38SOrSwsL77zz55DsidsobnGhDKdWHvphwAU0V0IInM4ORoDIauPybSq/JZmVr7QWFhsKaq32+PHOTDGQHYGHpo2hjXltxTkXFCCzsLek/YoxChMqlZ+iHUa5afI8A2dZFB9Ibg4eF46BIYP9yH9wi/G4QB4/UQQZCDuHp7DuASfiAuSj1wprV73HIDD3UEfo/3Cn+XySe/9BGziDdLoonwKviFT5I4Xz80jiawjV3rayRpBqk249F4VdvbpHKvi/6HTNLtPAD6X0Rnk60wr+CcRaMVB76kNwm1jTn/1nVcr/2+NsLHehWHnx73WtfeUD0tAyiNpQ/i7g3rQNVtEfERIBxK//a5uJLB9wbFtPpnHj87J244Xp/hbnSVGqbJTPppR5YkHYZjU0oOkpqnLNZu+BllK2jPQB8q0QN7gX2r8k7G4/DgRVh7WoUJnQg2jkiTteyupYxzd/Q9mtyHd+OIrm2bMB6v6lS3G7JbCvUlxfPUh0GW2vMN80hhthEQQfd/5KaVVnK7s4CGZ9A5Jj/AUjFwXAAeJydUsFO20AQfWuSiFYV4lZV6mGOQZUtx9BIwA2UIEUkoJhEXDewSawEL7KDonxE/wRx51v6C/2Ivqy3PaS3euWZN7NvZmdmF8AB3qBQfeO/WGFfffY4QENFHu/hm/rhcQ2H6qfHdRwEHz1u4DA4J1PVPtB6dVFbrMivexzgkxKP9zBW3z2uQdS7x3V8Vb88bkCCL7iExTM2KJBhhjlWECSIuY4RclX4lN4JWYILRJQ9aDxgwdg1SuqMPo0cj24vQt+xBm6/Ym4ZTdq5y2R4ksYSU1rWyTv67qlHSNHBkFJwRX1Dzy2tI2bEpX3eFNlsvpIkjo/DkPJUJhu5iKSnHxZ2XS4y0fmj9KJ+JAO7pjOTps1lYuZ6ORU7lTtzL6O0M0zlangzuk2PmPeaBaeugRIttovrfqrzskW07aHAk6sWA1s8aequa2TldMGxGTe0iJGCM/67+UI2Ysh7YRLNiIrVpr/lR5zQQtfmq64tZkaSKJYz+VNFODSzl6Uu6GqHLXadtP+tefcM7EZv36LhRsm7qO6hKjnGCTHGpigzTopHxyfyP/l/A3LufcV4nG3NuU4CAQAA0be7lYEgiEjQSIUHQvAKeNTgAR4oIp7tJvyGDT8ksdUvww01k0w7IzRn9mXXIm4TA6HIkpS0jGVZOSvyVhWsKSpZt2FTWcWWbTtJq2pPTV3DvgOHjhxrajlx6sy5to4Ll65c6+q5SU537vU9eDTwZOjZyItXb959+PTj29QkCP36C6IwjqM4Hv8DXMIVmwAAAAH//wACeJxjYGRgYOABYjEgZmJgBEIfIGYB8xgABuIAe3icY2BgYGQAgtsKp6pB9NOm1xNhNABQKggIAAA=')format("woff");}.ffb{font-family:ffb;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ffc;src:url('data:application/font-woff;base64,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')format("woff");}.ffc{font-family:ffc;line-height:0.922000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ffd;src:url('data:application/font-woff;base64,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')format("woff");}.ffd{font-family:ffd;line-height:0.922000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ffe;src:url('data:application/font-woff;base64,d09GRgABAAAAAAowAA0AAAAADawAAgAEAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAKFAAAABoAAAAcpiahoEdERUYAAAn4AAAAHAAAAB4AJwAfT1MvMgAAAagAAABDAAAAVlWNXpZjbWFwAAACSAAAAIQAAAFyXZE//mdhc3AAAAnwAAAACAAAAAj//wADZ2x5ZgAAAwAAAAUIAAAGaGz2zfJoZWFkAAABMAAAADMAAAA2LWYbA2hoZWEAAAFkAAAAIgAAACQGGAIiaG10eAAAAewAAABaAAAAZCh/BcRsb2NhAAACzAAAADQAAAA0ELoSYm1heHAAAAGIAAAAHQAAACAAXQAwbmFtZQAACAgAAAGoAAAC7kL+sqFwb3N0AAAJsAAAAD8AAABUAsQDZXicY2BkYGBgYmTbZx5QEc9v85WBm/kFUIThadPrSXCa8b8xsz3TQSCXg4EJJAoAX3wMZwB4nGNgZGBgOvjfmIGB2YCB4b8Tsz1DCoMoAzKQBABowgQ/AAB4nGNgZGBgkGTQZWBiAAEQycgAEnMA8xkACW8AjgAAAHicY2Bk3M04gYGVgYGpi2kPgyxDD4j+P5fxAYMhIxNQlIGVmQEGGBmQQECaawqQUmCoYjr43xio8iDDWZgaAFitDMwAeJxjlGAAA0ZfEAFE4QwmjO8Y3JiEGYIZTzLYA2l7IG3HaMWQzvCVIQiEmQ0YAoHigUxMDBZAWosxHqi2i0GFsZghBciPZrzFkMO0jyEHSDMy7meQBQC62xBiAAB4nGNgYGBmgGAZBkYGEMgB8hjBfBaGACAtAIQgeQUGXYY0hkyGAoZyhqr//6EiiUCRHIYihsr///8//n/9/5L/i/4v+D///zyoaSiAkY0BLszIBCSY0BVAnAIHLJhmEASsbOwcnFwMDNwMDDy8fPwCDIJCwiKiYgziEmQYRn0AAEsVFxwAAAAAAAAAAAAAAA4ASgB6AKAA0AD+ASYBOAFEAX4BogHMAfgCEAJUAnYCmAK2AuYDFAM0eJxlVF1MW2UY/t5z1p7+cPr/A22Btac/tLBCe7oeoHAKYS1CYTv0AAWB0jEEsrgsWZbM3ewv2eaYmKlTY6JLtsXdGI0/ya4aF2aM8cILL8zMNNutick06qI3K77nFHHTpD9fk9Pned73eZ6PAEmROyCTJ4QmJOQX/JCvPWLBdkckhCL5rcfwO3xDXCREiJ8TtFwgLIiQhXSYCzBCmk+6zCAETBSjdfFJQaTglqQbW8tE9eyt83pjMDol6acnR8ctx4zm5OygRhtvi4fsLk04IXf0DdGxRH9quGNp9M3UroZAYzNnN3gsROGVtx5TCeo2sRAvqjIBF4hDhOHsPK1QMgq7GZAxTTU7Lx8IZDyMQb4qDczMD2dXbYPpHB93ZruPPDx0sclt6KRu1+71rpenit33xSLCEyBZnGtLnYuElJlEQFg3E0cibX0U+GyuVFlqe3eFz7T5/N3x0QWzuTdbmgp1rX9+xebJexyrQ8+VedSKWJSMWk3E9/SO+KQb5QrhHUQR4I5snJgaGXE4LhSm01np65ivt+eIzTYg9PIGTSr78sHKJQHCT+59mSqW5MmUwaDsQkStv6BWm7oLv4rF/EuC24hTCgncr91lB0V5Wl8qlZedjrdLC5wnB/ZAqyUuN/6Qq+zNJdYPVS4X+rqCSbd+XxL3sIrL+IvaVPYAqNQEZuAZjubsnMDX4eGnUMwRijNNx9ijE9JEgS3YLSdGgh3UUasu4j8u1s7BKXGmsGRUfcP1gkC9gVliCOHRLwGBbkhlias4KlA9UUFO5Zk07ouuP3FDuirhLyAThNBZ+IoElS3aRVCnMsMzR55B/934ZqgHskhTtCXkS+UaUs+cK+PmkYU1XXFuIwAB1uZ3WGZ6/3jqdHd4rFi8puYAOakAcjr+y6kSMbD5f+BnQBHqmjJ3N2Yggh4ZiXs7r3V36lGtByBN2ZzXy/OHnc6bC4srK9ahTM+a1Zrtz6z+ePDC+aXljVdnJ6YmixPzc0TdZWxLpBKozUSatjHVBjA7DUChLrUBr4xLnbx8UTLMLub7Vs39PeGsNe5+6cjD5Qs9v1KnujLri/nFoP178aAys4wfnyAuhgsUw1VMAa4Pn7TukSqjjuljcBoWxr6Du3NlCp8PYv6qOFuHooJGFYKSQAxdBDuJY2rQEUa5DrQt4MaXCzb0e/oF3/MjzX0zZdOuhmanVehw7TYyre2RTodx/4CvvzDNajzeJj5ubzsby/iMHSPJQZvHrKWNVnck2ZrwWrXU7nwk4/LpNAaro13RvYw6blIZ7IHaWUHNKM9gXhkt9nW+uL/Ukp5iZ7yj3ivslaRtpcsTugREPH1afFTaXe/9HPrUClUF45+mYklVd/AAm5LhwPF0hB2W8zp3kpcb+uWuTE8WDtRuB1tSAvgVjBfRnChisITogaN5bCCfRrcFKlr7baFYDDVSlKnUkm2Gam0fVL99jWt7PbmWINv/pVn8LzYZaC4SjqQETsnbNop9+4tmf55z0wBg3P+C3CnZWQ1YPxh1NdBg+1hB/dMTz+ij72xC9YvLvAhDD84FBRhHfNjiVW0eRduOWcqFTfMuxBYpReWn3njYYe5q1HMxA9ti6z48GdJ5GX1uoADVJ49ie+0aXc66y+OZher7sTNJ/9mVk4jdrNwViG0lJAqCclO2g+BnMOXpDMB7tTN6mBzXNmo3WDiqq304ice32kGGbLT2EfwNNthKOniclVJNS+tQED03thVBqpu3e8os/SAhRinoUrFCsa00rbhNNG1Da64mldJ/4I95vI0/xZ/w/sg7ubkIdmdCZs6ce2buzBAATfyFQvXcf2GFTfXLYgcNdWzxBo7Uu8U17KhPi+toOsriBnYcn0pV22L0x2SVWKGp6hY72FZ7Fm9gqAKLa9hXHxbX8Vv9s7iBfWcXV9B4wQo5UkwwxQKCAD7fU7h8K3xONqZKcAmPtoMIj5gxd4mCPiUXIcOTOfPQNaqeOa+UpeKAcWYqJbwpwhxjRtrYIbkH+hFCXGNAK7ih75O5Y3TIirjSL6s8nUwXEvj+qevSnku8kktPOtHjTC+LWSpR9iQdr+tJTy9JpnKgM4mTaTQfix7LMHmQUXg9COVm0B/dhYese8uGQzNAwVFx2w2jrCAoB8jxbFpFT+fPEX3bTLEwPufOErMxj1sSXPD7XszlBDHTU7zizWhLTYv8id1uwAhtnS3aOp8kEni+XIhtwe3H8/T1LSHTck84b9Ba73b9Aqyllr9gwkYLKqr1V836OCPGfZIXKRfEa/0z+XHx/50YfC94nG3Dxw1AAAAAwMMCvhYwiZpItKhhJ8P6YwCXnJDn/l5Sf5JvIBSJZXKFUqXWaHV6g9FktlhtdofzBZxYCigAAAAAAf//AAJ4nGNgZGBg4AFiMSBmYmAEQgkgZgHzGAAEpgBHeJxjYGBgZACC2wqnqkH006bXk2A0AFA0CAoAAA==')format("woff");}.ffe{font-family:ffe;line-height:0.910000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:fff;src:url('data:application/font-woff;base64,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')format("woff");}.fff{font-family:fff;line-height:0.922000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff10;src:url('data:application/font-woff;base64,d09GRgABAAAAAAwQAA0AAAAAEDgAAgAEAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAL9AAAABoAAAAcpiahrkdERUYAAAvYAAAAHAAAAB4AJwAnT1MvMgAAAaQAAABDAAAAVlXomWZjbWFwAAACWAAAAL4AAAGqmWSf5Wdhc3AAAAvQAAAACAAAAAj//wADZ2x5ZgAAA1wAAAZvAAAIaPd4hAZoZWFkAAABMAAAADIAAAA2LOkbEGhoZWEAAAFkAAAAHwAAACQFtAH5aG10eAAAAegAAABvAAAAhDbKBeZsb2NhAAADGAAAAEQAAABEHgQf9G1heHAAAAGEAAAAHgAAACAAZgBHbmFtZQAACcwAAAGsAAAC+sXNhxxwb3N0AAALeAAAAFcAAABsUMKjDXicY2BkYGBgYmSLPDhbLZ7f5isDN/MLoAjD06bXMxH0f1amw0zvgFwOBiaQKABryg0UAAB4nGNgZGBgevefFUj+YmD4f4PpMANQBAUoAgCK3wWwAHicY2BkYGBQZHBhYGYAASYgZmQAiTmA+QwADJ0ArgAAeJxjYGTczziBgZWBgamLaQ8DA0MPhGZ8wGDIyAQUZWBlZoABRgcGBAhIc00BUgq/GZne/Qfpf8fwG6QGJAcABAQMMwB4nGOUYAADRl8gfgXEtQx+QGzG9IvBDMiPAGJNRgGGeKafQLEiBidGLoYoxqtAuW9AdZsZlIG0MpBWZNRmkAKqlQbyfRmeMXgAsR+IDRSTA6v1BeJyoHwSgxDjAaA9Bxj4GFcySDNxM0gBALzSGtMAeJxjYGBgZoBgGQZGBhBYAuQxgvksDB1AWo5BACjCx6DAoMmgzWDEYMVgy+DM4MmQyZDDUMBQwlD1m/H/f6A6BQYNoLwhXD4RKJ/HUMRQAZL///j/nf+3/1/7f/7/2f8n/h/+v+b/qv8r/6/4v5RVHmovHsDIxgBXxMgEJJjQFUC8AAIsrAxsYAY7B1SEk4GBC8zgBpM8OCzh5eMXEBQSFhFlYBBjEJeQZJCSlgEKy8rJE3IeFYACQRUAKM8oZQAAAAAAAAAAAAAAAAAeADwAYAB8AKgAugDaARABHAFUAYABqAHQAgACIgJ+AqACsgK+At4DBAMwA0YDhgOkA7wD5gQGBDR4nG1VW2wb1xG9s5RIPUktyeVDEmkul+RSlsRY3BdJSaQlkZRI03JISqQkM3rYaeDW8U9T9yGnEpA0duUGbhMgVQwUTRoEkD8K1E4KI3CFOq6B/gioUfcjBVzU6Ef7FbRfLWCkojp3STlp2gXu3V3szsw5M3PmEiCzB62QZf5OLIS0CiG2R5PMBs7u9AJkx3Z3x7xynA+6Tny2A7NQuNF34ls3z22vn7xI8AKiom2kYRvsMQlJgyKLERAlB0SeWgbGdp/Uf/m5Jb9zaPshc585Tpxoaxd41i74FZb3K7LEs7IU5Vg+ytz31T+1Weuf+nxgt1nB7nvyxRf8iH4W0Nm7zPsUwwAoEmsUFFmVVE1iJXi3/uv12ExL54WUbT3BGF3hbiOT2v+xHn8At4/Qrl+301RFDgl+oykkqlLUwdmNJqNJiqqjAB/Vv/N44VRKTdn4tmPXVr6eSa8unDe6jB+k/lxdnKzmS0Md7393Ibk2VjkNhCEr6P0m7BIDMRFiExARrptFvOB8sZ4uEvxHJVeY+/AiaSc2RIHsddpR7ukTMt//0OdjTvoO77BotVn/gItinzz4J5Ni7hEec4dABb8YUmQtCVLU6XAiBcoEa+iQopqqMSlVDCdfqdVqgy8dVwYiw5bwgBhduTyVXk6GgvKwv7Pzq+fe2n5hJNbWbi17zF0/v7ReqXZ1iY06LVE+zG3kQySBlW5WKvhCORz8C96APeIiQUJ4QTGD4KcoVE3PpKmRR5PiNzOcXUcCb+R7a0Nx9Wvj50aCpzLGXDFbK/SNp4ek8JCPDzrcpcF8wN46ICeik0eXZ96ZMLGCqz9ktxMabxbjPcTQZtJHO4aS5hAPS8OY9IgNxio8vJCbSRTymUr6dOFZZTLYf8SvLTx+/jVtmLld/2Nsa7kyH3/gc7nmdH4C+t3WeWAuKQPq0GmKgJ5DCtzpgO3pDy5988xwcrArqEWy2cJ4Ocu0HJW/v1b7EeuecNvPZfNrsf4eipP620Gc3dQj5gWBhqhPJysZlNChU9gpJIvTZ74yM5vKF4SEuvisMiGNX/nNFRkC+x8/VspLlXmi8+ab+OzEgwh5L+iIOKPQxOp0mCIG2rmwXX8A86PFKYMhV154+WJxORIYNXpCHsvgVPdfZtfifXyLsnVmbevk2GBQdrSnZZ1/L25l5mPC4Z3C84CEeRVo1zb8QzkU9scunM/ncrXpowLzjR5h+NuJ+ga8kljKrXUQ7Iy+AwkewW9JmMhkquHHJFIRYZGQ7yhE9WfaHs1FHauSXrdGQlSbPAh+Onr0Gj5y9/bLBr42MTLQEZ/f26id3ki5Pfiuiun5d6SgT6Or+r0q5zO3QXV8rApbTGtLREsveywO5fX47CktNeAdjoSH1ckVnv+ZohwbxVV/kDGzrvaWwNAwcj+JWG9grey0UqwcYQS/GTzQbCsObhRae47ygQhbyGtzlyFk7Q3YR8aFJ9hHe5nrjfrM4P5T5lpD71QhGmbu7XzeWKnA7ssVPcezuL/9uYbwK9VQMz7m7X/jc1+KP534Yny4l85dx9he7I097I1O4mhqotm/jcQ2Urm3sVjdpKtQiqtzxUSs9KfVy6+tnX39B0ul6vyN5Rpp6isJDxHLl/TF/R99vZjPjhXyU0vpxcJs7HgI9RWvUH39g9l4Jr61Mn029rsjbtdZcsgdkugXGwWektMgmVnLZ46fh1fhufwjuLdQA/y3D/msIp/BQwQaBlTkiEGMMHTEJQ3YNibEwtm9gEcUKnM1V63lujLlmrnHy5oD3iArHgmpbvOJya6JfNnn6VWibmFTKw2loxmLy9zVYjC1WS0BOai4u5kjE8Gk09ve2mHvHaJYrRg/y4wSK50F9DyiIpA4FARnj2qQLaRLpbnM1avPhz3iJnQnNjcT/y4JDZ50u4tzv5PWUjQJmig5NckEd+euXS3/6vb8qxtzt+7c+esn7733if6/+UCGW/g/nn9gMKOCnwGa3RQYJBzikmqDW7+38H5bt/OYUQz1uCzCnVPT463Qcgl29/8mjlhb2iYsnP807P7ieiILY9QnVg620Cern2l0gg2CwnPQOMi26m9CawFPrivwXP2zeXz4YRiWYFSs7+jwDfosuIuzgPYyThtA+gasl+m/5gHXnBJwt1g05PM/eQkHw4kY73bzLuEi80JxPwe7jfFQm1ntSFuDA+vkP/0MwrUAeJydUsFO20AQfWuSiFYV4lZV6mGOQZUtx9BIwA2UIEUkoJhEXDewSawEL7KDonxE/wRx51v6C/2Ivqy3PaS3euWZN7NvZmdmF8AB3qBQfeO/WGFfffY4QENFHu/hm/rhcQ2H6qfHdRwEHz1u4DA4J1PVPtB6dVFbrMivexzgkxKP9zBW3z2uQdS7x3V8Vb88bkCCL7iExTM2KJBhhjlWECSIuY4RclX4lN4JWYILRJQ9aDxgwdg1SuqMPo0cj24vQt+xBm6/Ym4ZTdq5y2R4ksYSU1rWyTv67qlHSNHBkFJwRX1Dzy2tI2bEpX3eFNlsvpIkjo/DkPJUJhu5iKSnHxZ2XS4y0fmj9KJ+JAO7pjOTps1lYuZ6ORU7lTtzL6O0M0zlangzuk2PmPeaBaeugRIttozrfqrzskW07aHAk6sWA1s8aequa2TldMGxGTe0iIMSnPHfzReyEUPeC5NoRlSsNv0tP+KEFro2X3VtMTOSRLGcyZ8qwqGZvSx1QVc7bLHrpP1vzbtnYDd6+xYNN0reRXUPVckxTogxNkWZcVI8Oj6R/8n/G30SfdV4nG3KrQ5AUABA4eMKApOINook8ArG9bsZhoBsiub5uZN922kHwec5iPgTqDQEOiYWNg4uHj6h+jNyJAUlFTUNLR09AyMTMwsrG7smjPs6ZRonL4bYCrsAAAAAAf//AAJ4nGNgZGBg4AFiMSBmYmAEQgUgZgHzGAAE/gBPeJxjYGBgZACC2wqnqkH006bXM2E0AFB6CBgAAA==')format("woff");}.ff10{font-family:ff10;line-height:1.001000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff11;src:url('data:application/font-woff;base64,d09GRgABAAAAAAwIAA0AAAAAEDAAAgAEAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAL7AAAABoAAAAcpiahrkdERUYAAAvQAAAAHAAAAB4AJwAnT1MvMgAAAaQAAABDAAAAVlXomVVjbWFwAAACWAAAAL4AAAGqmWSf5Wdhc3AAAAvIAAAACAAAAAj//wADZ2x5ZgAAA1wAAAZvAAAIaPd4hAZoZWFkAAABMAAAADIAAAA2LOkbEGhoZWEAAAFkAAAAHwAAACQFtAH5aG10eAAAAegAAABuAAAAhDTVBeZsb2NhAAADGAAAAEQAAABEHgQf9G1heHAAAAGEAAAAHgAAACAAZgBHbmFtZQAACcwAAAGsAAAC+sXNhxxwb3N0AAALeAAAAE8AAABkAwsEMXicY2BkYGBgYmT7KXVTIZ7f5isDN/MLoAjD06bXMxH0f1amw0zvgFwOBiaQKAB01Q1FAAB4nGNgZGBgevefFUj+YmD4f4PpMANQBAUoAgCK3wWwAHicY2BkYGBQZHBhYGYAASYgZmQAiTmA+QwADJ0ArgAAeJxjYGRcxziBgZWBgamLaQ8DA0MPhGZ8wGDIyAQUZWBlZoABRgcGBAhIc00BUgq/GZne/Qfpf8fwG6QGJAcA/nIMIgB4nGOUYAADRl8QAUQ1DH5AbMb0i8GM8SVDBBBrMgowxIP4TIUMToxcDFGMV4By34DqNjMoA2llIK3IqM0gBVQrDeT7Mjxj8ABiPxAbKCYHVusDxOVA+UQGIcb9QHv2M/AxrmCQZuJmkAIATWsZ3QAAeJxjYGBgZoBgGQZGBhBYAuQxgvksDB1AWo5BACjCx6DAoMmgzWDEYMVgy+DM4MmQyZDDUMBQwlD1m/H/f6A6BQYNoLwhXD4RKJ/HUMRQAZL///j/nf+3/1/7f/7/2f8n/h/+v+b/qv8r/6/4v5RVHmovHsDIxgBXxMgEJJjQFUC8AAIsrAxsYAY7B1SEk4GBC8zgBpM8OCzh5eMXEBQSFhFlYBBjEJeQZJCSlgEKy8rJE3IeFYACQRUAKM8oZQAAAAAAAAAAAAAAAAAeADwAYAB8AKgAugDaARABHAFUAYABqAHQAgACIgJ+AqACsgK+At4DBAMwA0YDhgOkA7wD5gQGBDR4nG1VW2wb1xG9s5RIPUktyeVDEmkul+RSlsRY3BdJSaQlkZRI03JISqQkM3rYaeDW8U9T9yGnEpA0duUGbhMgVQwUTRoEkD8K1E4KI3CFOq6B/gioUfcjBVzU6Ef7FbRfLWCkojp3STlp2gXu3V3szsw5M3PmEiCzB62QZf5OLIS0CiG2R5PMBs7u9AJkx3Z3x7xynA+6Tny2A7NQuNF34ls3z22vn7xI8AKiom2kYRvsMQlJgyKLERAlB0SeWgbGdp/Uf/m5Jb9zaPshc585Tpxoaxd41i74FZb3K7LEs7IU5Vg+ytz31T+1Weuf+nxgt1nB7nvyxRf8iH4W0Nm7zPsUwwAoEmsUFFmVVE1iJXi3/uv12ExL54WUbT3BGF3hbiOT2v+xHn8At4/Qrl+301RFDgl+oykkqlLUwdmNJqNJiqqjAB/Vv/N44VRKTdn4tmPXVr6eSa8unDe6jB+k/lxdnKzmS0Md7393Ibk2VjkNhCEr6P0m7BIDMRFiExARrptFvOB8sZ4uEvxHJVeY+/AiaSc2RIHsddpR7ukTMt//0OdjTvoO77BotVn/gItinzz4J5Ni7hEec4dABb8YUmQtCVLU6XAiBcoEa+iQopqqMSlVDCdfqdVqgy8dVwYiw5bwgBhduTyVXk6GgvKwv7Pzq+fe2n5hJNbWbi17zF0/v7ReqXZ1iY06LVE+zG3kQySBlW5WKvhCORz8C96APeIiQUJ4QTGD4KcoVE3PpKmRR5PiNzOcXUcCb+R7a0Nx9Wvj50aCpzLGXDFbK/SNp4ek8JCPDzrcpcF8wN46ICeik0eXZ96ZMLGCqz9ktxMabxbjPcTQZtJHO4aS5hAPS8OY9IgNxio8vJCbSRTymUr6dOFZZTLYf8SvLTx+/jVtmLld/2Nsa7kyH3/gc7nmdH4C+t3WeWAuKQPq0GmKgJ5DCtzpgO3pDy5988xwcrArqEWy2cJ4Ocu0HJW/v1b7EeuecNvPZfNrsf4eipP620Gc3dQj5gWBhqhPJysZlNChU9gpJIvTZ74yM5vKF4SEuvisMiGNX/nNFRkC+x8/VspLlXmi8+ab+OzEgwh5L+iIOKPQxOp0mCIG2rmwXX8A86PFKYMhV154+WJxORIYNXpCHsvgVPdfZtfifXyLsnVmbevk2GBQdrSnZZ1/L25l5mPC4Z3C84CEeRVo1zb8QzkU9scunM/ncrXpowLzjR5h+NuJ+ga8kljKrXUQ7Iy+AwkewW9JmMhkquHHJFIRYZGQ7yhE9WfaHs1FHauSXrdGQlSbPAh+Onr0Gj5y9/bLBr42MTLQEZ/f26id3ki5Pfiuiun5d6SgT6Or+r0q5zO3QXV8rApbTGtLREsveywO5fX47CktNeAdjoSH1ckVnv+ZohwbxVV/kDGzrvaWwNAwcj+JWG9grey0UqwcYQS/GTzQbCsObhRae47ygQhbyGtzlyFk7Q3YR8aFJ9hHe5nrjfrM4P5T5lpD71QhGmbu7XzeWKnA7ssVPcezuL/9uYbwK9VQMz7m7X/jc1+KP534Yny4l85dx9he7I097I1O4mhqotm/jcQ2Urm3sVjdpKtQiqtzxUSs9KfVy6+tnX39B0ul6vyN5Rpp6isJDxHLl/TF/R99vZjPjhXyU0vpxcJs7HgI9RWvUH39g9l4Jr61Mn029rsjbtdZcsgdkugXGwWektMgmVnLZ46fh1fhufwjuLdQA/y3D/msIp/BQwQaBlTkiEGMMHTEJQ3YNibEwtm9gEcUKnM1V63lujLlmrnHy5oD3iArHgmpbvOJya6JfNnn6VWibmFTKw2loxmLy9zVYjC1WS0BOai4u5kjE8Gk09ve2mHvHaJYrRg/y4wSK50F9DyiIpA4FARnj2qQLaRLpbnM1avPhz3iJnQnNjcT/y4JDZ50u4tzv5PWUjQJmig5NckEd+euXS3/6vb8qxtzt+7c+esn7733if6/+UCGW/g/nn9gMKOCnwGa3RQYJBzikmqDW7+38H5bt/OYUQz1uCzCnVPT463Qcgl29/8mjlhb2iYsnP807P7ieiILY9QnVg620Cern2l0gg2CwnPQOMi26m9CawFPrivwXP2zeXz4YRiWYFSs7+jwDfosuIuzgPYyThtA+gasl+m/5gHXnBJwt1g05PM/eQkHw4kY73bzLuEi80JxPwe7jfFQm1ntSFuDA+vkP/0MwrUAeJydUsFO20AQfWuSiFYV4lZV6mGOQZUtx9BIwA2UIEUkoJhEXDewSawEL7KDonxE/wRx51v6C/2Ivqy3PaS3euWZN7NvZmdmF8AB3qBQfeO/WGFfffY4QENFHu/hm/rhcQ2H6qfHdRwEHz1u4DA4J1PVPtB6dVFbrMivexzgkxKP9zBW3z2uQdS7x3V8Vb88bkCCL7iExTM2KJBhhjlWECSIuY4RclX4lN4JWYILRJQ9aDxgwdg1SuqMPo0cj24vQt+xBm6/Ym4ZTdq5y2R4ksYSU1rWyTv67qlHSNHBkFJwRX1Dzy2tI2bEpX3eFNlsvpIkjo/DkPJUJhu5iKSnHxZ2XS4y0fmj9KJ+JAO7pjOTps1lYuZ6ORU7lTtzL6O0M0zlangzuk2PmPeaBaeugRIttozrfqrzskW07aHAk6sWA1s8aequa2TldMGxGTe0iIMSnPHfzReyEUPeC5NoRlSsNv0tP+KEFro2X3VtMTOSRLGcyZ8qwqGZvSx1QVc7bLHrpP1vzbtnYDd6+xYNN0reRXUPVckxTogxNkWZcVI8Oj6R/8n/G30SfdV4nG3KuwqCAABA0aONhpONgi1NfoavUogSbcjmftM/U3H2wN2u0G75yx25bgVCJ5GzWOIilbltf6FUqTXuHlqdp5e33mD08TX5mVc5IQk8AAAAAAH//wACeJxjYGRgYOABYjEgZmJgBEIFIGYB8xgABP4AT3icY2BgYGQAgtsKp6pB9NOm1zNhNABQeggYAAA=')format("woff");}.ff11{font-family:ff11;line-height:1.001000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff12;src:url('data:application/font-woff;base64,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')format("woff");}.ff12{font-family:ff12;line-height:0.932000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff13;src:url('data:application/font-woff;base64,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')format("woff");}.ff13{font-family:ff13;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff14;src:url('data:application/font-woff;base64,d09GRgABAAAAAAVAAA0AAAAAB8AAAgADAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAFJAAAABoAAAAcpiahskdERUYAAAUIAAAAHAAAAB4AJwAMT1MvMgAAAaQAAABEAAAAVlRrgkdjbWFwAAACAAAAAEcAAAFSIakpMGdhc3AAAAUAAAAACAAAAAj//wADZ2x5ZgAAAlgAAAC1AAAAzOrr7apoZWFkAAABMAAAADEAAAA2Liga02hoZWEAAAFkAAAAIAAAACQF5ARiaG10eAAAAegAAAAYAAAAGA2MAHJsb2NhAAACSAAAAA4AAAAOAGYALm1heHAAAAGEAAAAHQAAACAASQApbmFtZQAAAxAAAAG2AAADQt/+T5Zwb3N0AAAEyAAAADUAAABAUEiiEHicY2BkYGBgYjiy59P5P/H8Nl8ZuJlfAEUYnja9ng2nLf9/YT7JBOJyMIApAN4ND7QAAAB4nGNgZGBgYvj/hYGBhYUBCJhPMqQwSDIgAzYAUiEDTnicY2BkYGBgY1BjANEMDExAzAhmO4D5DAAGqABzAAAAeJxjYGTezjiBgZWBgamLaQ+DIkMPiP7fw/iAwZCRCSjKwMrMAAOMQJwA4wSkuaYAKQUlGyaG/19AKhl4oGoYAFBOC38BGAAAAAAAAAFNAAAEBAAABAQAOQMfADl4nGNgYGBmgGAZBkYGEPAB8hjBfBYGAyDNAYRMQFpBcYKSzf//CNb/x/dK7p6E6gIDRjYGOJcRpIeJARUwQqwazgAAaeAMHAAAAAAAAAAAAAAAAC4AZgAAeJxjYGSw/P+F+SQTA4M0AwODiLKimLiINqOSuh6jupqJuR2juZk1o5EoG7si80mxP7/LJXmEuJj4C4M4OYMK+Zm4hHgky5lZGfm1Qvv4uEIbpVgEWKQaQ7n4+kKBhjEAzWZoYHrKWMKgCuSIsCkrqQHNVVbiY2YHsk1NzIyNxMTlGI2N7JjNgWymp3F++n4mRp4afArqCuJMTLz8GAKMAX5NBga62uyiStZqEsrIHAYAGWkiVAAAAHicrVLLattAFD2j2IbQ4mVWWVzaTQKRkGUwJKuSEBtMZAcrDtmOEtkWtjVBUjBe9IsS8kf9lx5J00JLyaoadO+578cMgC7eodB897+xQld9tdhBR32z+AA99WpxC0fOJ4vb6Dq/fDrUf6enah1SequjKqxwrNoWO/isAosPEKuRxS2cqR8Wt3HsfLG4gzNniisYPGOPHCmWWKGEIIDP04fL0+BzamN6CS7hkY6h8Yg1Y3coyFPqNDI81TYPYe01qe2NZ+VxQjmrMyWspLHBgpKp6R11D+RzRLjGjFQwIp9Sc0vplBlxZZ73ebpclRL4ft91Sc8l3sulJ2P9uDa7Yp2Kzp5k7IWeTMyOylROTCZxstKbhZiF3CUPMo+uZ5GMZtP5bXTKvDdsOGRDJduKOOaWLRq2V3Bw3IShLlfRfhubTUG5miqnS9U/JibfavJhPVpZ85yLTOo1elyd4IL/RxVcjpkw5oWyZnQTMaC+Zy8goIShycqhyZeJBJ4vF/JnX+4sWb5sdE7DwO1xM8Hg47n+rop/56tecEJzwRtsbq8Zq3ofQmOSFyn3y5b8vvyfij8BhouTVQAAeJxjYGJg+P/x2+7/ExjUGLABNiBmZGBiYGZkYmTmTCwqyi/PSU0rYS/OzM3MSSwCAHRvDEMAAAAAAAAB//8AAnicY2BkYGDgAWIxIGZiYARCViBmAfMYAAPVADR4nGNgYGBkAILbCqeqQfTTptezYTQAUI4IHAAA')format("woff");}.ff14{font-family:ff14;line-height:0.524000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff15;src:url('data:application/font-woff;base64,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')format("woff");}.ff15{font-family:ff15;line-height:0.915000;font-style:normal;font-weight:normal;visibility:visible;}
.ff16{font-family:sans-serif;visibility:hidden;}
@font-face{font-family:ff17;src:url('data:application/font-woff;base64,d09GRgABAAAAAATAAA0AAAAABtgAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEpAAAABoAAAAcpiah4EdERUYAAASIAAAAGwAAAB4AJwALT1MvMgAAAZwAAAA/AAAAVlVXVldjbWFwAAAB8AAAAEYAAAFKzKIgqGdhc3AAAASAAAAACAAAAAj//wADZ2x5ZgAAAkQAAADSAAAA4MubV/JoZWFkAAABMAAAADAAAAA2Lgwb42hoZWEAAAFgAAAAGQAAACQHQgPuaG10eAAAAdwAAAAUAAAAFAcqAD5sb2NhAAACOAAAAAwAAAAMACgAmG1heHAAAAF8AAAAHQAAACAASQBDbmFtZQAAAxgAAAFGAAACZKcJF/pwb3N0AAAEYAAAAB4AAAA0TLakpHicY2BkYGBgZHBUn3LhXDy/zVcGbuYXQBGGp02vNyHTzC+YI4EUBwMTiAcAeoQMi3icY2BkYGCOZAAC5hdQkpEBFbACADPuAjoAAAB4nGNgZGBgYGVwYGBiAAEQycgAEnMA8xkACS4AjQAAAHicY2Bk/MI4gYGVgYGpi2kPAwNDD4RmfMBgyMgEFGVgZWaAAUYBBgQISHNNAVIKz8KZI0F8CMnACCIA6SYJUgAB9AA+AAAAAAFNAAAAAQAAA+gAAHicY2BgYGaAYBkGRgYQcAHyGMF8FgYNIM0GpBkZmBgUnoX//w/kg+n/jyXXQtUDASMbA5zDyAQkmBhQASPEiuEMACjNCjEAAAAAABQAFAAUABQAcHicHcsxCsJAEIXhmSxMJAHDxmw6hRg3lopuYiEaIUewskkRW3ttPIC9d7C38BxWNmIlgmcQWVwzxcCD/wML5gB4YStgYANMxjxmPOL7zyfH3dx6fF9s9T0BWGCOvU0nITdCBBRH3STlKhtHozYGZpHgQWhWNkOVTXEUtripugNEMi9J1QT7Sd2HzC8LPSzKssAD53or01TiVSqn0Ws4N+E13UofqUk5EW7WjvCw7QlcnmtxLUq/5yuph392tl0X7/rpidrQgsg2qHI6QsAPxO4tjgAAeJyNkD1Ow0AQhd/mT4JIiAKlnorOxnbhIlRWoqShChIlYMkrJ1LijdZRopTcAHEKREHFAag4F8+blUhBEVur+Wbn7+0AuMAnFA7fDZ49K/Tx7rmFLr49t3Gtrjx30Ff3nru4VC+ee7z/YKbqnNF7dFUNKwzw6rmFc3x5buMOP547GKhbz12IevLc4/0bRjBYYw+LBUrMsYFgjBxbaNKUVKFgXJAgQowUITnDkr8cVdXO07SatqkumImRWe/topxvZJxvtUzzqthLEsVpKNlyKS5Ui9W1tltdsGBCPRX7Zdi5bgYrWkxMtcl2ujYrOjN32yjDzKzy6q+qsZaKtNMbUrFgyPN/10MsRcB3Be59CT03a2JsqSUJIxnK0Wx6aRAHSZSkp0l9cOuouaYmVziiWWLorTBB23phKomiOOSRk9r+AvZ2Z2sAAHicY2BiwA9YgZiRgYmBmZGJvTQv09XM1BwAC8ICSwAAAAAAAf//AAJ4nGNgZGBg4AFiMSBmYmAEQhYwBvEYAAPKADMAeJxjYGBgZACC2wqnqkH006bXm2A0AFF0CEoAAA==')format("woff");}.ff17{font-family:ff17;line-height:0.857000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff18;src:url('data:application/font-woff;base64,d09GRgABAAAAAASsAA0AAAAABrgAAwACAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEkAAAABoAAAAcpiah+EdERUYAAAR0AAAAGwAAAB4AJwALT1MvMgAAAaQAAABEAAAAVlR/VaNjbWFwAAAB/AAAAEYAAAFKzAQg92dhc3AAAARsAAAACAAAAAj//wADZ2x5ZgAAAlAAAAA8AAAAPJvRqjxoZWFkAAABMAAAADQAAAA2Lg8a2GhoZWEAAAFkAAAAIAAAACQF8wPGaG10eAAAAegAAAAUAAAAFAcq/+xsb2NhAAACRAAAAAwAAAAMAAAAHm1heHAAAAGEAAAAHQAAACAASAATbmFtZQAAAowAAAG+AAAC5TaW9Hpwb3N0AAAETAAAAB4AAAA0TLafpXicY2BkYGBgZmjOfdBcHs9v85WBm/kFUIThadPrfTD6/5v/b5j/MHEAuRwMTCBRAMQeEG14nGNgZGBg4vj/hoGB+cX/N//fMP9hAIqgAFYAunsHvXicY2BkYGBgZRBgANEMDExAzAhmO4D5DAAEZwBcAAAAeJxjYGT8wviFgZWBgamLaQ8DA0MPhGZ8wGDIyAQUZWBjZoABRgEGBAhIc00BUgrPOJg4/r8BquRgEAGpAckBABiuCsMB9AAAAAAAAAFNAAAAAQAAA+j/7HicY2BgYGaAYBkGRgYQcAHyGMF8FgYNIM0GpBkZmBgUnnH8/w/kg+n/jyX/QNUDASMbA5zDyAQkmBhQASPEiuEMAM7xCeIAAAAAAAAAAAAAAAAAHgAB/+z/7AP8AggADwAACQEGIyImNTQ3ATYzMhYVFAPw/BgDBQgMDAPnAwYIDAHi/g0DDAgMBQH0AwwIDXicbZHNattAFIXPOLahJZT2DW67ssGWxwo4yIRAGmIIWF4kobSrIuTBEkSSkSYRfqmu+yyldN1dX6FH4+kiUA3ofvdn7j0zA+ANvkHh+JX45VlhoL547mGoCs8neK++e+4z/tvzAG977zwPMexpVqr+K3o/3a6OFV6r2HMPp+qr5xN8VNZzn/EfngcQ9cfzEKe9D7hGhT0OqJFjhwwWghFSjGnniLjOMSGH0FwR6QoFjKtPkfB8gpjWcq9hpqNj5pGZe3ZP6RtGD67zhZthOXOJGVfrVsD6Ag1txc47XHJ+N7Xl3q6z4I49Gjf3mf8tIyvWlk7vxu02pDVu6d1QuWYvXFf7Q53vMiujdCzzKDqfSKh1JFeFqfM0KSVObGaKxNJ5lPsqzY09yOgis3a/nM3atg2Sogmqenc5nkib20zuTGPqZ7OVVVVa2SSFkfXt5mauOW9NIQ8U8pmYPBia2InN8USBiM02f6L9p3zlT2vc/QbULLyVl6c4RhaY0pu6VwjpoRu+oiwjYaBl6SUQFtP5NNThAi+64JgHPrkrbKiock/XPeqZG901FhaYusmrUrQ+C7QO5f99/gJcAnnWAAB4nGNgYsAPWIGYkYGJgZmRib00L9PVzMACAAu5AkcAAAAAAAH//wACeJxjYGRgYOABYjEgZmJgBEIWMAbxGAADygAzAHicY2BgYGQAgtsKp6pB9NOm1/tgNABR7AhiAAA=')format("woff");}.ff18{font-family:ff18;line-height:0.540000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff19;src:url('data:application/font-woff;base64,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')format("woff");}.ff19{font-family:ff19;line-height:0.900000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff1a;src:url('data:application/font-woff;base64,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')format("woff");}.ff1a{font-family:ff1a;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff1b;src:url('data:application/font-woff;base64,d09GRgABAAAAAAUAAA0AAAAAB1AAAgADAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAE5AAAABoAAAAcpiaiEkdERUYAAATIAAAAGwAAAB4AJwALT1MvMgAAAaQAAABHAAAAVlQ5YOpjbWFwAAACAAAAAEoAAAFKB3UDQ2dhc3AAAATAAAAACAAAAAj//wADZ2x5ZgAAAlgAAACMAAAAjOQOceBoZWFkAAABMAAAADMAAAA2LIga42hoZWEAAAFkAAAAIAAAACQEEQKqaG10eAAAAewAAAAUAAAAFASyABtsb2NhAAACTAAAAAwAAAAMAAAARm1heHAAAAGEAAAAHQAAACAASAAzbmFtZQAAAuQAAAG2AAADNv1LNmFwb3N0AAAEnAAAACEAAAAs/4z3fnicY2BkYGBgYjhSv/+xRTy/zVcGbuYXQBGGp02vT8Np6f9fmdwZ1wO5HEC1QAAAtCYPAgB4nGNgZGBgXP//KwMDkw8DEDC5M6QwSDIgA1YAZGgDv3icY2BkYGBgZTBgANEMDExAzAhmO4D5DAAHhwB8AAAAeJxjYGRUY5zAwMrAwNTFtIdBkaEHRP/vYXzAYMjIBBRlYGVmgIFGBiQQkOaaAqQUmA8wrv//lYGBcT0DN5DPCJIDAEGvDM0AARgAAAAAAAABTQAAAAEAAAJMABt4nGNgYGBmgGAZBkYGEHAB8hjBfBYGDSDNBqQZGZgYFJgP/P8P5IPp/4//uEDVAwEjGwOcw8gEJJgYUAEjxIpBCVioYwwAnkkJuwAAAAAAAAAAAAAAAABGAAEAG//1AkcBrwAvAAABFCsBBhUUFxYVFAYjIiYnJjU0NyMDDgEjIiY1NDc2NyMiBwYjIjU0Njc2MyEyHgECRzJ1ER8HGxAPEAgJKXJEEhcZDxARUCc5UTEHCQ4sEy87AVoNDg4BlSRQRWFGDwgRGBUdJCxOrP75Ri8SCwkirIhKDAsHQBMvAgwAAAB4nK1STWvbQBB9K39AoM2th5YeprckIFWRwcWBXJLGIaZygh2XHLt2ZFvY0Ya1gvEfyqn07/Tv9Gm1FFraniqhmTdvPnZmtAD28Q0K9fP5J1Z4qd55HKCtTj1uIFbPHjfxKmh43MJ+8MHjNnnLSNXco/XVZVVY4Y1qeRzghXrvcQNf1EePmzhS3z1u4W3w2uM2joI+zmHwiB0sciywRAlBgphvByHfGvfIThklOENEOYDGDCvmbrGhzslpFLh3vgipixo6fx1ZRRzQLlyljCdprDGnZZy8JXdHPcEYFxhRCi6pr8nc0DpkRZybx53NF8tSkjjuhCFlT6Y7OYtkoGcrs92sctHFvQyiNJKh2ZLM5cAUMs2Wej0XM5fb7E4m44vRWC5H15Ob8SHrfmLDKRsq2dYVZdVazrZ7dKWpLpdXpV7nM5rVSBYPLgJDYx80dd/NVTptucXM7TDi3gQn/P5ePuSEGTOeyGjm1vFd8sd+9wkt9E1R9o1dZJJEsZzIL02Fo2zxtNaWfDc85k6S7r8m+v1I/LFYdXEzejfMqn9aPVB1LYTOzG5yrpXtxB35D8f9AHR2jm0AAHicY2BiYPj/8dvu/xMY1BiwAVYgZmRgYmBmmA0AyfoF/wAAAAAAAAH//wACeJxjYGRgYOABYjEgZmJgBEIWMAbxGAADygAzAHicY2BgYGQAgtsKp6pB9NOm16dhNABSbgh8AAA=')format("woff");}.ff1b{font-family:ff1b;line-height:0.442000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff1c;src:url('data:application/font-woff;base64,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')format("woff");}.ff1c{font-family:ff1c;line-height:0.921000;font-style:normal;font-weight:normal;visibility:visible;}
.m0{transform:matrix(0.250000,0.000000,0.000000,0.250000,0,0);-ms-transform:matrix(0.250000,0.000000,0.000000,0.250000,0,0);-webkit-transform:matrix(0.250000,0.000000,0.000000,0.250000,0,0);}
.m1{transform:none;-ms-transform:none;-webkit-transform:none;}
.v0{vertical-align:0.000000px;}
.ls0{letter-spacing:0.000000px;}
.sc_{text-shadow:none;}
.sc0{text-shadow:-0.015em 0 transparent,0 0.015em transparent,0.015em 0 transparent,0 -0.015em transparent;}
@media screen and (-webkit-min-device-pixel-ratio:0){
.sc_{-webkit-text-stroke:0px transparent;}
.sc0{-webkit-text-stroke:0.015em transparent;text-shadow:none;}
}
.ws0{word-spacing:0.000000px;}
._57{margin-left:-9.022504px;}
._4{margin-left:-3.844782px;}
._c{margin-left:-2.410162px;}
._6{margin-left:-1.291162px;}
._b{width:1.115811px;}
._0{width:3.073600px;}
._55{width:4.516092px;}
._53{width:6.240614px;}
._1b{width:10.163118px;}
._1e{width:11.241741px;}
._e{width:12.369573px;}
._a{width:13.445534px;}
._11{width:14.530921px;}
._7{width:15.589581px;}
._8{width:16.995502px;}
._f{width:18.477950px;}
._d{width:20.371604px;}
._5{width:21.691454px;}
._20{width:23.012331px;}
._4f{width:24.307901px;}
._12{width:25.522195px;}
._13{width:27.179276px;}
._4c{width:29.666838px;}
._3{width:31.241700px;}
._9{width:32.422412px;}
._1a{width:33.771608px;}
._1{width:36.288314px;}
._14{width:37.658880px;}
._2{width:40.829100px;}
._24{width:47.808845px;}
._3f{width:50.055986px;}
._17{width:56.488320px;}
._36{width:66.789398px;}
._43{width:74.478575px;}
._23{width:76.312514px;}
._26{width:78.200215px;}
._27{width:87.402079px;}
._16{width:94.147200px;}
._25{width:96.978309px;}
._35{width:109.341432px;}
._2e{width:110.563252px;}
._19{width:112.976640px;}
._3b{width:130.966895px;}
._15{width:132.800834px;}
._5e{width:135.424691px;}
._2a{width:149.796335px;}
._22{width:151.338499px;}
._5f{width:152.353183px;}
._31{width:164.353418px;}
._1f{width:168.625775px;}
._18{width:169.816450px;}
._1d{width:187.455215px;}
._44{width:188.645890px;}
._59{width:206.284655px;}
._3c{width:207.475330px;}
._33{width:210.153707px;}
._2f{width:225.953280px;}
._4a{width:243.943535px;}
._1c{width:245.134210px;}
._56{width:263.612160px;}
._37{width:282.441600px;}
._47{width:300.431855px;}
._3e{width:301.974019px;}
._39{width:338.090735px;}
._3d{width:339.281410px;}
._4e{width:357.759360px;}
._32{width:372.829402px;}
._28{width:376.588800px;}
._38{width:394.579055px;}
._5a{width:414.247680px;}
._52{width:433.780099px;}
._49{width:451.906560px;}
._46{width:477.854186px;}
._29{width:489.565440px;}
._48{width:508.394880px;}
._34{width:529.047714px;}
._30{width:535.069537px;}
._40{width:660.309606px;}
._41{width:677.859840px;}
._2d{width:747.506092px;}
._51{width:809.665920px;}
._50{width:879.128055px;}
._2c{width:918.694970px;}
._45{width:920.875610px;}
._10{width:924.226254px;}
._21{width:977.361510px;}
._4b{width:1008.330275px;}
._3a{width:1133.394434px;}
._4d{width:1178.333215px;}
._42{width:1228.133786px;}
._5d{width:1254.639279px;}
._5c{width:1279.745199px;}
._5b{width:1328.079254px;}
._54{width:1331.139789px;}
._58{width:1356.245709px;}
._2b{width:1416.930304px;}
.fc10{color:rgb(156,102,0);}
.fcf{color:rgb(135,0,0);}
.fce{color:rgb(117,117,0);}
.fc0{color:rgb(35,55,59);}
.fc1{color:rgb(250,250,250);}
.fc2{color:rgb(255,255,255);}
.fc5{color:rgb(102,102,102);}
.fc8{color:rgb(173,34,49);}
.fc6{color:rgb(61,122,122);}
.fc9{color:rgb(246,133,18);}
.fca{color:rgb(16,136,110);}
.fcd{color:rgb(186,33,33);}
.fc3{color:rgb(0,0,255);}
.fcb{color:transparent;}
.fc7{color:rgb(0,128,0);}
.fc4{color:rgb(176,0,64);}
.fcc{color:rgb(57,75,79);}
.fs9{font-size:23.910400px;}
.fs6{font-size:27.895200px;}
.fs5{font-size:31.880400px;}
.fs8{font-size:35.865600px;}
.fs4{font-size:39.850400px;}
.fs7{font-size:43.636400px;}
.fs3{font-size:47.820800px;}
.fs2{font-size:57.384800px;}
.fs1{font-size:82.650000px;}
.fs0{font-size:99.148400px;}
.y0{bottom:-0.500000px;}
.y39b{bottom:6.188000px;}
.y114{bottom:6.293000px;}
.y299{bottom:6.463000px;}
.y307{bottom:7.257000px;}
.y212{bottom:7.624000px;}
.y229{bottom:7.957000px;}
.y2f9{bottom:8.266000px;}
.y28e{bottom:8.525000px;}
.y8e{bottom:10.502000px;}
.y36c{bottom:10.505000px;}
.y3a3{bottom:11.090000px;}
.y1d1{bottom:12.116000px;}
.y11{bottom:13.018000px;}
.y2d4{bottom:13.108000px;}
.y148{bottom:14.426000px;}
.y11e{bottom:14.542000px;}
.y268{bottom:14.736000px;}
.y196{bottom:16.181000px;}
.y177{bottom:16.629000px;}
.y23b{bottom:18.517000px;}
.y113{bottom:18.896000px;}
.y298{bottom:19.065000px;}
.y233{bottom:19.075000px;}
.y1e3{bottom:19.852000px;}
.y306{bottom:19.860000px;}
.y211{bottom:20.227000px;}
.y228{bottom:20.560000px;}
.y2e7{bottom:21.742000px;}
.y28d{bottom:22.273000px;}
.y154{bottom:22.737000px;}
.y8d{bottom:23.105000px;}
.y83{bottom:23.369000px;}
.y330{bottom:23.539000px;}
.y3dd{bottom:24.862000px;}
.y36b{bottom:25.100000px;}
.y12f{bottom:25.409000px;}
.y377{bottom:25.631000px;}
.y2d3{bottom:25.710000px;}
.y35f{bottom:25.725000px;}
.y274{bottom:26.102000px;}
.y3d2{bottom:26.592000px;}
.y3c2{bottom:26.671000px;}
.y1d0{bottom:27.697000px;}
.y34e{bottom:27.762000px;}
.yfc{bottom:29.392000px;}
.y2c4{bottom:29.501000px;}
.y380{bottom:29.778000px;}
.y183{bottom:30.178000px;}
.y1c4{bottom:30.985000px;}
.y23a{bottom:31.120000px;}
.y112{bottom:31.499000px;}
.y297{bottom:31.668000px;}
.y232{bottom:31.678000px;}
.y195{bottom:31.762000px;}
.y176{bottom:32.211000px;}
.y305{bottom:32.463000px;}
.y210{bottom:32.830000px;}
.y2a7{bottom:33.003000px;}
.y77{bottom:33.018000px;}
.y227{bottom:33.162000px;}
.y21b{bottom:33.466000px;}
.yc5{bottom:33.815000px;}
.y31c{bottom:34.159000px;}
.y328{bottom:34.327000px;}
.y2e6{bottom:34.345000px;}
.y247{bottom:34.657000px;}
.y147{bottom:34.681000px;}
.y310{bottom:35.349000px;}
.y1bc{bottom:35.381000px;}
.y8c{bottom:35.708000px;}
.y2f8{bottom:35.907000px;}
.y82{bottom:35.972000px;}
.y10{bottom:36.119000px;}
.y32f{bottom:36.141000px;}
.y267{bottom:36.295000px;}
.y2bf{bottom:36.569000px;}
.y5c{bottom:37.090000px;}
.y3c0{bottom:37.290000px;}
.y3d1{bottom:37.476000px;}
.y168{bottom:37.481000px;}
.y2b2{bottom:37.515000px;}
.yce{bottom:37.886000px;}
.y12e{bottom:38.012000px;}
.yb4{bottom:38.046000px;}
.y376{bottom:38.234000px;}
.y153{bottom:38.318000px;}
.y35e{bottom:38.328000px;}
.ya5{bottom:39.351000px;}
.y2f2{bottom:39.574000px;}
.y36a{bottom:39.696000px;}
.y2b{bottom:40.233000px;}
.y49{bottom:40.553000px;}
.y2dd{bottom:40.567000px;}
.y131{bottom:40.570000px;}
.y3a2{bottom:40.594000px;}
.y38b{bottom:40.774000px;}
.y3dc{bottom:40.968000px;}
.y1b1{bottom:41.456000px;}
.y28c{bottom:41.974000px;}
.yfb{bottom:41.994000px;}
.y368{bottom:42.394000px;}
.y182{bottom:42.532000px;}
.y3af{bottom:42.853000px;}
.y6{bottom:43.061000px;}
.y1c3{bottom:43.588000px;}
.y239{bottom:43.723000px;}
.y111{bottom:44.101000px;}
.y296{bottom:44.271000px;}
.y25d{bottom:44.348000px;}
.y304{bottom:45.065000px;}
.y280{bottom:45.180000px;}
.y1da{bottom:45.287000px;}
.y106{bottom:45.349000px;}
.y20f{bottom:45.432000px;}
.y1f5{bottom:45.508000px;}
.y2a6{bottom:45.605000px;}
.y76{bottom:45.620000px;}
.y226{bottom:45.765000px;}
.y3b1{bottom:46.069000px;}
.yc4{bottom:46.417000px;}
.y31b{bottom:46.761000px;}
.y252{bottom:46.910000px;}
.y246{bottom:47.259000px;}
.y39a{bottom:47.666000px;}
.y8b{bottom:48.310000px;}
.y3d0{bottom:48.360000px;}
.y1a{bottom:48.390000px;}
.y2f7{bottom:48.510000px;}
.y18d{bottom:48.520000px;}
.y81{bottom:48.574000px;}
.y32e{bottom:48.744000px;}
.y355{bottom:49.160000px;}
.yed{bottom:49.215000px;}
.y34d{bottom:49.296000px;}
.y5b{bottom:49.443000px;}
.y1ec{bottom:49.605000px;}
.y1ff{bottom:49.755000px;}
.y342{bottom:49.993000px;}
.y167{bottom:50.084000px;}
.y2be{bottom:50.318000px;}
.ydd{bottom:50.322000px;}
.y6c{bottom:50.485000px;}
.ycd{bottom:50.489000px;}
.y1e2{bottom:50.537000px;}
.y375{bottom:50.587000px;}
.y12d{bottom:50.614000px;}
.yb3{bottom:50.649000px;}
.ya4{bottom:50.694000px;}
.y1cf{bottom:50.726000px;}
.y39{bottom:50.913000px;}
.y2d2{bottom:50.916000px;}
.y35d{bottom:50.931000px;}
.y1bb{bottom:50.962000px;}
.y273{bottom:51.308000px;}
.y37f{bottom:51.312000px;}
.y2dc{bottom:53.169000px;}
.y38a{bottom:53.376000px;}
.y19f{bottom:53.937000px;}
.y1b0{bottom:54.059000px;}
.y3a{bottom:54.528000px;}
.y15a{bottom:54.531000px;}
.yfa{bottom:54.597000px;}
.y146{bottom:54.937000px;}
.y181{bottom:55.135000px;}
.y3ae{bottom:55.456000px;}
.y28b{bottom:55.723000px;}
.ya1{bottom:56.113000px;}
.y2b1{bottom:56.124000px;}
.y48{bottom:56.134000px;}
.y130{bottom:56.151000px;}
.y3c1{bottom:56.176000px;}
.y1c2{bottom:56.191000px;}
.y238{bottom:56.325000px;}
.y110{bottom:56.704000px;}
.y175{bottom:56.758000px;}
.y231{bottom:56.883000px;}
.y25c{bottom:56.950000px;}
.ye5{bottom:56.986000px;}
.y303{bottom:57.668000px;}
.y27f{bottom:57.782000px;}
.y266{bottom:57.854000px;}
.y1d9{bottom:57.889000px;}
.y105{bottom:57.952000px;}
.y367{bottom:57.976000px;}
.y1f4{bottom:58.111000px;}
.y75{bottom:58.223000px;}
.y327{bottom:58.352000px;}
.y225{bottom:58.368000px;}
.y21a{bottom:58.672000px;}
.y2b0{bottom:58.847000px;}
.yc3{bottom:59.020000px;}
.y2c3{bottom:59.030000px;}
.y3cf{bottom:59.245000px;}
.y251{bottom:59.264000px;}
.y31a{bottom:59.364000px;}
.y2a{bottom:59.436000px;}
.y2e5{bottom:59.550000px;}
.y5{bottom:59.736000px;}
.y245{bottom:59.862000px;}
.y21{bottom:60.404000px;}
.y30f{bottom:60.554000px;}
.y2f6{bottom:60.863000px;}
.y8a{bottom:60.913000px;}
.y18c{bottom:61.122000px;}
.y80{bottom:61.177000px;}
.y3bf{bottom:61.238000px;}
.y152{bottom:61.347000px;}
.y11d{bottom:61.610000px;}
.y30{bottom:61.656000px;}
.y354{bottom:61.762000px;}
.y2f1{bottom:61.766000px;}
.y3db{bottom:61.855000px;}
.y34c{bottom:61.898000px;}
.ya3{bottom:62.036000px;}
.y3a1{bottom:62.153000px;}
.y1fe{bottom:62.357000px;}
.y341{bottom:62.596000px;}
.y166{bottom:62.686000px;}
.ydc{bottom:62.925000px;}
.y139{bottom:62.934000px;}
.y6b{bottom:63.087000px;}
.ycc{bottom:63.092000px;}
.yb2{bottom:63.252000px;}
.y194{bottom:63.259000px;}
.y1ce{bottom:63.328000px;}
.y2d1{bottom:63.518000px;}
.y35c{bottom:63.533000px;}
.y272{bottom:63.910000px;}
.y37e{bottom:63.914000px;}
.y51{bottom:63.919000px;}
.y2bd{bottom:64.066000px;}
.y369{bottom:64.176000px;}
.yec{bottom:64.797000px;}
.y1e1{bottom:65.879000px;}
.y389{bottom:65.979000px;}
.yf{bottom:66.339000px;}
.y19e{bottom:66.539000px;}
.y1af{bottom:66.661000px;}
.y31{bottom:66.862000px;}
.yf9{bottom:67.200000px;}
.y18{bottom:67.593000px;}
.y3ad{bottom:68.059000px;}
.y1c1{bottom:68.544000px;}
.y338{bottom:68.600000px;}
.y10f{bottom:69.307000px;}
.y28a{bottom:69.471000px;}
.y295{bottom:69.476000px;}
.y230{bottom:69.486000px;}
.y25b{bottom:69.553000px;}
.y5a{bottom:69.610000px;}
.y38{bottom:70.116000px;}
.y3ce{bottom:70.129000px;}
.y302{bottom:70.271000px;}
.y27e{bottom:70.385000px;}
.y392{bottom:70.492000px;}
.y104{bottom:70.554000px;}
.y20e{bottom:70.638000px;}
.y1f3{bottom:70.714000px;}
.y374{bottom:70.775000px;}
.y2a5{bottom:70.811000px;}
.y74{bottom:70.826000px;}
.ybb{bottom:70.858000px;}
.y224{bottom:70.970000px;}
.y19{bottom:71.208000px;}
.y3b0{bottom:71.274000px;}
.y2af{bottom:71.449000px;}
.yc2{bottom:71.623000px;}
.y319{bottom:71.967000px;}
.y2e4{bottom:72.153000px;}
.y3b8{bottom:72.280000px;}
.y244{bottom:72.465000px;}
.ye4{bottom:72.568000px;}
.y399{bottom:72.610000px;}
.y47{bottom:72.957000px;}
.y30e{bottom:73.157000px;}
.ya2{bottom:73.378000px;}
.y89{bottom:73.516000px;}
.y366{bottom:73.557000px;}
.y7f{bottom:73.780000px;}
.y151{bottom:73.949000px;}
.y11c{bottom:74.213000px;}
.y2f0{bottom:74.368000px;}
.y63{bottom:74.435000px;}
.y3da{bottom:74.457000px;}
.y34b{bottom:74.501000px;}
.y340{bottom:74.950000px;}
.y1fd{bottom:74.960000px;}
.y145{bottom:75.193000px;}
.ydb{bottom:75.278000px;}
.y165{bottom:75.289000px;}
.ycb{bottom:75.445000px;}
.yb1{bottom:75.854000px;}
.y1cd{bottom:75.931000px;}
.y1ba{bottom:75.983000px;}
.y2d0{bottom:76.121000px;}
.y250{bottom:76.325000px;}
.y271{bottom:76.513000px;}
.y37d{bottom:76.517000px;}
.y50{bottom:76.522000px;}
.y326{bottom:76.922000px;}
.y3a0{bottom:77.735000px;}
.y2f5{bottom:77.924000px;}
.y2db{bottom:78.374000px;}
.y138{bottom:78.516000px;}
.y388{bottom:78.582000px;}
.y28{bottom:78.639000px;}
.y193{bottom:78.841000px;}
.y16d{bottom:78.869000px;}
.y19d{bottom:79.142000px;}
.y1ae{bottom:79.264000px;}
.y265{bottom:79.413000px;}
.y20{bottom:79.607000px;}
.y3f{bottom:79.717000px;}
.yf8{bottom:79.802000px;}
.y2bc{bottom:79.807000px;}
.y1eb{bottom:80.290000px;}
.y3ac{bottom:80.661000px;}
.y205{bottom:80.666000px;}
.y3cd{bottom:81.013000px;}
.y337{bottom:81.203000px;}
.y1e0{bottom:81.222000px;}
.y174{bottom:81.306000px;}
.y12a{bottom:81.480000px;}
.y237{bottom:81.531000px;}
.y180{bottom:81.685000px;}
.y10e{bottom:81.909000px;}
.y159{bottom:82.068000px;}
.y22f{bottom:82.089000px;}
.y29{bottom:82.254000px;}
.y301{bottom:82.873000px;}
.y143{bottom:82.984000px;}
.y27d{bottom:82.988000px;}
.y1d8{bottom:83.095000px;}
.y2c8{bottom:83.237000px;}
.y20d{bottom:83.240000px;}
.y40{bottom:83.333000px;}
.y2a4{bottom:83.413000px;}
.y73{bottom:83.428000px;}
.yba{bottom:83.461000px;}
.y223{bottom:83.573000px;}
.y219{bottom:83.877000px;}
.yc1{bottom:83.976000px;}
.y2ae{bottom:84.052000px;}
.y318{bottom:84.569000px;}
.y2e3{bottom:84.756000px;}
.y3b7{bottom:84.883000px;}
.y243{bottom:85.067000px;}
.y3be{bottom:85.186000px;}
.ye{bottom:85.542000px;}
.y30d{bottom:85.760000px;}
.y88{bottom:85.869000px;}
.y18b{bottom:86.327000px;}
.y373{bottom:86.356000px;}
.y7e{bottom:86.382000px;}
.y150{bottom:86.552000px;}
.y16{bottom:86.796000px;}
.y11b{bottom:86.816000px;}
.y1a5{bottom:86.968000px;}
.y2ef{bottom:86.971000px;}
.y3d9{bottom:87.060000px;}
.y34a{bottom:87.104000px;}
.y94{bottom:87.633000px;}
.y164{bottom:87.892000px;}
.y1cc{bottom:88.285000px;}
.y6a{bottom:88.293000px;}
.yb0{bottom:88.457000px;}
.y2c2{bottom:88.559000px;}
.y1b9{bottom:88.586000px;}
.y1c0{bottom:88.594000px;}
.y2cf{bottom:88.724000px;}
.y35b{bottom:88.739000px;}
.y4f{bottom:88.875000px;}
.y289{bottom:89.037000px;}
.y270{bottom:89.116000px;}
.y12c{bottom:89.271000px;}
.y37{bottom:89.319000px;}
.y59{bottom:89.777000px;}
.ya0{bottom:90.353000px;}
.y17{bottom:90.411000px;}
.y144{bottom:90.775000px;}
.y1ad{bottom:91.618000px;}
.y32d{bottom:91.780000px;}
.yf7{bottom:92.405000px;}
.y325{bottom:92.504000px;}
.y3ab{bottom:93.264000px;}
.y204{bottom:93.269000px;}
.y336{bottom:93.806000px;}
.y236{bottom:93.884000px;}
.y17f{bottom:94.039000px;}
.yeb{bottom:94.326000px;}
.y16c{bottom:94.451000px;}
.y10d{bottom:94.512000px;}
.y294{bottom:94.681000px;}
.y22e{bottom:94.691000px;}
.y25a{bottom:94.758000px;}
.y264{bottom:94.995000px;}
.y300{bottom:95.227000px;}
.y2bb{bottom:95.388000px;}
.y1d7{bottom:95.448000px;}
.y27c{bottom:95.590000px;}
.y1ea{bottom:95.633000px;}
.y103{bottom:95.760000px;}
.y20c{bottom:95.843000px;}
.y1f2{bottom:95.919000px;}
.yb9{bottom:96.063000px;}
.y222{bottom:96.176000px;}
.yca{bottom:96.408000px;}
.y218{bottom:96.480000px;}
.y1df{bottom:96.564000px;}
.y2ad{bottom:96.655000px;}
.y173{bottom:96.888000px;}
.y33f{bottom:96.938000px;}
.y129{bottom:97.062000px;}
.y317{bottom:97.172000px;}
.y2e2{bottom:97.358000px;}
.y3b6{bottom:97.486000px;}
.y398{bottom:97.554000px;}
.y242{bottom:97.670000px;}
.y27{bottom:97.842000px;}
.yda{bottom:97.956000px;}
.ye3{bottom:98.112000px;}
.y30c{bottom:98.362000px;}
.y24f{bottom:98.367000px;}
.y18a{bottom:98.681000px;}
.y1f{bottom:98.810000px;}
.y3e{bottom:98.920000px;}
.y93{bottom:98.975000px;}
.y14f{bottom:99.155000px;}
.y39f{bottom:99.294000px;}
.y11a{bottom:99.418000px;}
.y62{bottom:99.456000px;}
.y4e{bottom:99.486000px;}
.y1a4{bottom:99.570000px;}
.y2ee{bottom:99.574000px;}
.y3d8{bottom:99.663000px;}
.y349{bottom:99.706000px;}
.y2ba{bottom:100.011000px;}
.y1fc{bottom:100.165000px;}
.y163{bottom:100.494000px;}
.y69{bottom:100.895000px;}
.yaf{bottom:101.060000px;}
.y1b8{bottom:101.189000px;}
.y365{bottom:101.321000px;}
.y2ce{bottom:101.326000px;}
.y35a{bottom:101.341000px;}
.y9f{bottom:101.696000px;}
.y26f{bottom:101.718000px;}
.y37c{bottom:101.722000px;}
.yf5{bottom:102.143000px;}
.y58{bottom:102.380000px;}
.y192{bottom:102.392000px;}
.yc0{bottom:102.532000px;}
.y137{bottom:102.540000px;}
.y3cc{bottom:102.781000px;}
.y288{bottom:102.786000px;}
.y2da{bottom:103.580000px;}
.y387{bottom:103.787000px;}
.y1bf{bottom:104.175000px;}
.y19c{bottom:104.347000px;}
.y32c{bottom:104.382000px;}
.yd{bottom:104.745000px;}
.yf6{bottom:104.759000px;}
.y12b{bottom:104.852000px;}
.y29d{bottom:105.461000px;}
.y15{bottom:105.999000px;}
.y335{bottom:106.408000px;}
.y17e{bottom:106.641000px;}
.y9c{bottom:107.115000px;}
.y293{bottom:107.284000px;}
.y259{bottom:107.361000px;}
.y3bd{bottom:107.741000px;}
.y27b{bottom:108.193000px;}
.y1cb{bottom:108.334000px;}
.y102{bottom:108.362000px;}
.y72{bottom:108.385000px;}
.yb8{bottom:108.417000px;}
.y20b{bottom:108.446000px;}
.y36{bottom:108.522000px;}
.y2a3{bottom:108.619000px;}
.y221{bottom:108.778000px;}
.y2f4{bottom:109.082000px;}
.y158{bottom:109.605000px;}
.y2e1{bottom:109.712000px;}
.yea{bottom:109.908000px;}
.y241{bottom:110.273000px;}
.y189{bottom:110.287000px;}
.y92{bottom:110.317000px;}
.y87{bottom:110.900000px;}
.y30b{bottom:110.965000px;}
.y24e{bottom:110.970000px;}
.y1e9{bottom:110.975000px;}
.y142{bottom:111.031000px;}
.y46{bottom:111.064000px;}
.y324{bottom:111.074000px;}
.y7d{bottom:111.588000px;}
.y14e{bottom:111.757000px;}
.y119{bottom:112.021000px;}
.y61{bottom:112.058000px;}
.y1a3{bottom:112.173000px;}
.y2ed{bottom:112.176000px;}
.y3d7{bottom:112.265000px;}
.y3de{bottom:112.307000px;}
.y348{bottom:112.309000px;}
.y172{bottom:112.469000px;}
.y2b9{bottom:112.614000px;}
.y128{bottom:112.643000px;}
.y2c7{bottom:112.766000px;}
.y1fb{bottom:112.768000px;}
.y9e{bottom:113.038000px;}
.y162{bottom:113.097000px;}
.yae{bottom:113.662000px;}
.y3cb{bottom:113.665000px;}
.ye2{bottom:113.694000px;}
.y1b7{bottom:113.791000px;}
.y1ac{bottom:113.909000px;}
.y2cd{bottom:113.929000px;}
.y235{bottom:113.934000px;}
.y359{bottom:113.944000px;}
.y26e{bottom:114.072000px;}
.y37b{bottom:114.325000px;}
.y57{bottom:114.733000px;}
.yf4{bottom:114.746000px;}
.y136{bottom:115.143000px;}
.y2ff{bottom:115.352000px;}
.y372{bottom:115.362000px;}
.y2d9{bottom:116.182000px;}
.y386{bottom:116.390000px;}
.y391{bottom:116.494000px;}
.y263{bottom:116.529000px;}
.y287{bottom:116.534000px;}
.y32b{bottom:116.736000px;}
.y364{bottom:116.902000px;}
.y19b{bottom:116.950000px;}
.y26{bottom:117.045000px;}
.y4{bottom:117.135000px;}
.y1d6{bottom:117.490000px;}
.y2f{bottom:117.614000px;}
.y191{bottom:117.974000px;}
.y1e{bottom:118.013000px;}
.y2c1{bottom:118.088000px;}
.y3d{bottom:118.123000px;}
.y3aa{bottom:118.469000px;}
.y203{bottom:118.474000px;}
.y334{bottom:118.762000px;}
.y140{bottom:118.822000px;}
.y292{bottom:119.887000px;}
.y22d{bottom:119.897000px;}
.y258{bottom:119.964000px;}
.yc9{bottom:120.350000px;}
.y39e{bottom:120.853000px;}
.y33e{bottom:120.963000px;}
.y101{bottom:120.965000px;}
.y2a2{bottom:120.972000px;}
.y20a{bottom:121.048000px;}
.y25f{bottom:121.063000px;}
.y397{bottom:121.106000px;}
.y1f1{bottom:121.124000px;}
.y220{bottom:121.381000px;}
.y2ac{bottom:121.611000px;}
.y91{bottom:121.659000px;}
.y217{bottom:121.685000px;}
.yd9{bottom:121.981000px;}
.y316{bottom:122.377000px;}
.y3b5{bottom:122.691000px;}
.y240{bottom:122.875000px;}
.y24d{bottom:123.573000px;}
.y160{bottom:123.852000px;}
.y1ca{bottom:123.916000px;}
.y7c{bottom:123.941000px;}
.yc{bottom:123.948000px;}
.ybf{bottom:124.066000px;}
.y14d{bottom:124.360000px;}
.y9d{bottom:124.380000px;}
.y2ec{bottom:124.530000px;}
.y3ca{bottom:124.549000px;}
.y60{bottom:124.661000px;}
.y1a2{bottom:124.776000px;}
.y3d6{bottom:124.868000px;}
.y347{bottom:124.912000px;}
.y14{bottom:125.202000px;}
.y2b8{bottom:125.216000px;}
.y1fa{bottom:125.371000px;}
.y161{bottom:125.450000px;}
.ye9{bottom:125.489000px;}
.y4d{bottom:126.036000px;}
.y68{bottom:126.101000px;}
.yad{bottom:126.265000px;}
.y1e8{bottom:126.317000px;}
.y1ab{bottom:126.512000px;}
.y2cc{bottom:126.532000px;}
.y141{bottom:126.612000px;}
.y45{bottom:126.646000px;}
.y323{bottom:126.656000px;}
.y37a{bottom:126.928000px;}
.y1de{bottom:127.249000px;}
.yf3{bottom:127.349000px;}
.y35{bottom:127.725000px;}
.y135{bottom:127.746000px;}
.y2c6{bottom:128.347000px;}
.y2d8{bottom:128.536000px;}
.y86{bottom:128.957000px;}
.y19a{bottom:129.303000px;}
.yb7{bottom:129.463000px;}
.y3bc{bottom:130.297000px;}
.y371{bottom:130.944000px;}
.y3a9{bottom:131.072000px;}
.y202{bottom:131.077000px;}
.y390{bottom:132.076000px;}
.y10c{bottom:132.320000px;}
.y363{bottom:132.484000px;}
.y291{bottom:132.489000px;}
.y22c{bottom:132.499000px;}
.y257{bottom:132.566000px;}
.yc8{bottom:132.953000px;}
.y90{bottom:133.002000px;}
.y1d5{bottom:133.072000px;}
.y2e0{bottom:133.176000px;}
.y16b{bottom:133.181000px;}
.y1be{bottom:133.182000px;}
.y17d{bottom:133.192000px;}
.y27a{bottom:133.398000px;}
.y1f0{bottom:133.478000px;}
.y33d{bottom:133.566000px;}
.y100{bottom:133.568000px;}
.y209{bottom:133.651000px;}
.y71{bottom:133.914000px;}
.y21f{bottom:133.984000px;}
.y216{bottom:134.288000px;}
.yd8{bottom:134.584000px;}
.y188{bottom:134.845000px;}
.yd3{bottom:134.885000px;}
.y56{bottom:134.900000px;}
.y315{bottom:134.980000px;}
.y31d{bottom:135.206000px;}
.y3b4{bottom:135.294000px;}
.y3c9{bottom:135.433000px;}
.y23f{bottom:135.478000px;}
.y26d{bottom:135.616000px;}
.y30a{bottom:135.921000px;}
.y286{bottom:136.101000px;}
.y24c{bottom:136.175000px;}
.y29c{bottom:136.213000px;}
.y25{bottom:136.248000px;}
.ybe{bottom:136.419000px;}
.y15f{bottom:136.454000px;}
.y2e{bottom:136.817000px;}
.y2fe{bottom:136.887000px;}
.y14c{bottom:136.963000px;}
.y171{bottom:137.017000px;}
.y1a1{bottom:137.129000px;}
.y157{bottom:137.141000px;}
.y1d{bottom:137.216000px;}
.y118{bottom:137.226000px;}
.y5f{bottom:137.264000px;}
.y3c{bottom:137.326000px;}
.y353{bottom:137.378000px;}
.y3d5{bottom:137.471000px;}
.y346{bottom:137.514000px;}
.y1f9{bottom:137.724000px;}
.y2b7{bottom:137.819000px;}
.y126{bottom:137.972000px;}
.y41{bottom:138.248000px;}
.y67{bottom:138.703000px;}
.y32a{bottom:138.778000px;}
.yac{bottom:138.868000px;}
.y2cb{bottom:138.885000px;}
.y1b6{bottom:138.996000px;}
.y1aa{bottom:139.114000px;}
.y358{bottom:139.149000px;}
.y3{bottom:139.153000px;}
.y1c9{bottom:139.497000px;}
.y379{bottom:139.530000px;}
.y333{bottom:139.925000px;}
.yf2{bottom:139.951000px;}
.y9b{bottom:141.355000px;}
.y1e7{bottom:141.411000px;}
.y190{bottom:141.525000px;}
.y385{bottom:141.595000px;}
.y4c{bottom:141.617000px;}
.ye1{bottom:142.324000px;}
.y39d{bottom:142.387000px;}
.y1dd{bottom:142.591000px;}
.y396{bottom:142.640000px;}
.yb{bottom:143.151000px;}
.y3a8{bottom:143.426000px;}
.y201{bottom:143.430000px;}
.y44{bottom:143.468000px;}
.y31e{bottom:144.201000px;}
.y13{bottom:144.405000px;}
.y85{bottom:144.539000px;}
.y10b{bottom:144.923000px;}
.y308{bottom:145.092000px;}
.y22b{bottom:145.102000px;}
.y256{bottom:145.169000px;}
.y17c{bottom:145.545000px;}
.yc7{bottom:145.556000px;}
.y2eb{bottom:145.576000px;}
.y127{bottom:145.763000px;}
.y33c{bottom:146.168000px;}
.y208{bottom:146.254000px;}
.y3c8{bottom:146.317000px;}
.y2a1{bottom:146.577000px;}
.y21e{bottom:146.586000px;}
.y13f{bottom:146.868000px;}
.y2f3{bottom:146.890000px;}
.y34{bottom:146.928000px;}
.yd7{bottom:147.186000px;}
.y187{bottom:147.448000px;}
.y262{bottom:147.528000px;}
.y314{bottom:147.583000px;}
.y2c0{bottom:147.617000px;}
.y38f{bottom:147.657000px;}
.y7b{bottom:147.976000px;}
.y23e{bottom:148.081000px;}
.y16a{bottom:148.763000px;}
.y24b{bottom:148.778000px;}
.y362{bottom:148.847000px;}
.y15e{bottom:149.057000px;}
.y2fd{bottom:149.489000px;}
.y70{bottom:149.495000px;}
.y14b{bottom:149.565000px;}
.y5e{bottom:149.617000px;}
.y117{bottom:149.829000px;}
.y285{bottom:149.849000px;}
.y352{bottom:149.981000px;}
.y3d4{bottom:150.073000px;}
.y2b6{bottom:150.173000px;}
.yd2{bottom:150.467000px;}
.y322{bottom:150.681000px;}
.y2df{bottom:150.909000px;}
.y66{bottom:151.057000px;}
.y26c{bottom:151.198000px;}
.y199{bottom:151.346000px;}
.yab{bottom:151.470000px;}
.y357{bottom:151.503000px;}
.y1b5{bottom:151.599000px;}
.y8f{bottom:151.713000px;}
.y1a9{bottom:151.717000px;}
.y29b{bottom:151.794000px;}
.y378{bottom:151.884000px;}
.y3bb{bottom:152.260000px;}
.y370{bottom:152.478000px;}
.yf1{bottom:152.554000px;}
.y170{bottom:152.599000px;}
.y9a{bottom:152.698000px;}
.y134{bottom:152.951000px;}
.yb6{bottom:153.239000px;}
.y125{bottom:153.554000px;}
.y1c8{bottom:154.058000px;}
.y384{bottom:154.198000px;}
.y329{bottom:154.360000px;}
.y309{bottom:154.477000px;}
.y13c{bottom:154.659000px;}
.ybd{bottom:154.975000px;}
.ye8{bottom:155.018000px;}
.y2ab{bottom:155.047000px;}
.y55{bottom:155.067000px;}
.y25e{bottom:155.434000px;}
.y24{bottom:155.450000px;}
.y1bd{bottom:155.961000px;}
.y2d{bottom:156.020000px;}
.y1c{bottom:156.419000px;}
.y3b{bottom:156.529000px;}
.y2ca{bottom:157.441000px;}
.y22a{bottom:157.456000px;}
.y10a{bottom:157.525000px;}
.y290{bottom:157.695000px;}
.y2c5{bottom:157.876000px;}
.ye0{bottom:157.906000px;}
.y1dc{bottom:157.934000px;}
.y97{bottom:158.117000px;}
.y17b{bottom:158.148000px;}
.y279{bottom:158.354000px;}
.y33b{bottom:158.522000px;}
.yff{bottom:158.773000px;}
.y207{bottom:158.856000px;}
.y1a0{bottom:159.171000px;}
.y21d{bottom:159.189000px;}
.y215{bottom:159.493000px;}
.y1ef{bottom:159.505000px;}
.y1f8{bottom:159.767000px;}
.yd6{bottom:159.789000px;}
.y313{bottom:160.185000px;}
.y3b3{bottom:160.499000px;}
.y23d{bottom:160.683000px;}
.y332{bottom:160.961000px;}
.y24a{bottom:161.132000px;}
.y2ea{bottom:161.158000px;}
.y15d{bottom:161.660000px;}
.y2b5{bottom:161.779000px;}
.y2fc{bottom:162.092000px;}
.y2a0{bottom:162.159000px;}
.y14a{bottom:162.168000px;}
.ya{bottom:162.354000px;}
.y116{bottom:162.432000px;}
.y13d{bottom:162.450000px;}
.y351{bottom:162.584000px;}
.y345{bottom:162.720000px;}
.y261{bottom:163.109000px;}
.y7a{bottom:163.558000px;}
.y284{bottom:163.597000px;}
.y1b4{bottom:163.953000px;}
.y99{bottom:164.040000px;}
.y1a8{bottom:164.070000px;}
.yaa{bottom:164.073000px;}
.y200{bottom:164.477000px;}
.y156{bottom:164.678000px;}
.y3a7{bottom:164.721000px;}
.y18f{bottom:165.077000px;}
.y36f{bottom:165.081000px;}
.yf0{bottom:165.157000px;}
.y133{bottom:165.554000px;}
.y169{bottom:165.585000px;}
.y4b{bottom:165.642000px;}
.yd1{bottom:166.048000px;}
.y33{bottom:166.131000px;}
.y1e6{bottom:166.193000px;}
.y2d7{bottom:166.272000px;}
.y5d{bottom:166.678000px;}
.y54{bottom:167.670000px;}
.y3c7{bottom:168.086000px;}
.y29a{bottom:168.158000px;}
.y38e{bottom:168.693000px;}
.y1d4{bottom:169.689000px;}
.y28f{bottom:170.048000px;}
.y6f{bottom:170.058000px;}
.y109{bottom:170.128000px;}
.y13b{bottom:170.240000px;}
.y255{bottom:170.374000px;}
.y395{bottom:170.403000px;}
.yc6{bottom:170.512000px;}
.y84{bottom:170.556000px;}
.ye7{bottom:170.600000px;}
.y206{bottom:171.210000px;}
.y21c{bottom:171.543000px;}
.y39c{bottom:171.891000px;}
.y214{bottom:172.096000px;}
.y65{bottom:172.103000px;}
.yd5{bottom:172.143000px;}
.y312{bottom:172.539000px;}
.y186{bottom:172.653000px;}
.y3b2{bottom:172.853000px;}
.y2c9{bottom:173.022000px;}
.y23c{bottom:173.037000px;}
.y198{bottom:173.139000px;}
.ydf{bottom:173.487000px;}
.y2aa{bottom:173.618000px;}
.y15c{bottom:174.262000px;}
.yb5{bottom:174.285000px;}
.y23{bottom:174.653000px;}
.y2fb{bottom:174.695000px;}
.y234{bottom:174.770000px;}
.y115{bottom:174.785000px;}
.y350{bottom:174.937000px;}
.y3d3{bottom:175.030000px;}
.y1ee{bottom:175.087000px;}
.y2c{bottom:175.223000px;}
.y344{bottom:175.322000px;}
.y98{bottom:175.382000px;}
.y1b{bottom:175.622000px;}
.y2de{bottom:175.843000px;}
.ybc{bottom:176.011000px;}
.y331{bottom:176.542000px;}
.ya9{bottom:176.676000px;}
.y2{bottom:177.056000px;}
.y16f{bottom:177.147000px;}
.y3a6{bottom:177.323000px;}
.y2b4{bottom:177.361000px;}
.y36e{bottom:177.683000px;}
.yef{bottom:177.759000px;}
.y26b{bottom:177.836000px;}
.y132{bottom:177.907000px;}
.y13e{bottom:178.031000px;}
.y249{bottom:178.193000px;}
.y321{bottom:178.444000px;}
.y3c6{bottom:178.970000px;}
.y383{bottom:179.403000px;}
.y33a{bottom:179.568000px;}
.y53{bottom:180.023000px;}
.y1f7{bottom:180.803000px;}
.y1c7{bottom:180.825000px;}
.y123{bottom:181.152000px;}
.y4a{bottom:181.224000px;}
.y9{bottom:181.556000px;}
.y43{bottom:181.576000px;}
.yd0{bottom:181.630000px;}
.y1e5{bottom:181.774000px;}
.y2d6{bottom:181.853000px;}
.y254{bottom:182.728000px;}
.y108{bottom:182.731000px;}
.y361{bottom:182.970000px;}
.y277{bottom:183.157000px;}
.y283{bottom:183.164000px;}
.yfe{bottom:183.729000px;}
.y260{bottom:184.145000px;}
.y38d{bottom:184.275000px;}
.y276{bottom:184.382000px;}
.y278{bottom:184.627000px;}
.y17a{bottom:184.698000px;}
.y185{bottom:185.007000px;}
.y79{bottom:185.117000px;}
.y1d3{bottom:185.271000px;}
.y32{bottom:185.334000px;}
.y121{bottom:185.420000px;}
.y356{bottom:185.640000px;}
.y394{bottom:185.985000px;}
.y15b{bottom:186.616000px;}
.y96{bottom:186.725000px;}
.y2fa{bottom:187.048000px;}
.y149{bottom:187.124000px;}
.y12{bottom:187.636000px;}
.y343{bottom:187.676000px;}
.y2e9{bottom:188.171000px;}
.y1db{bottom:188.369000px;}
.y18e{bottom:188.628000px;}
.y155{bottom:188.703000px;}
.y124{bottom:188.943000px;}
.y1b3{bottom:188.984000px;}
.ya8{bottom:189.029000px;}
.y1a7{bottom:189.102000px;}
.yde{bottom:189.851000px;}
.y3c5{bottom:189.854000px;}
.y3a5{bottom:189.926000px;}
.y36d{bottom:190.037000px;}
.yee{bottom:190.113000px;}
.y1ed{bottom:190.668000px;}
.y311{bottom:191.094000px;}
.y29f{bottom:191.425000px;}
.y6e{bottom:191.592000px;}
.y2a9{bottom:191.665000px;}
.y64{bottom:191.669000px;}
.y382{bottom:192.006000px;}
.y26a{bottom:193.417000px;}
.y22{bottom:193.856000px;}
.y320{bottom:194.025000px;}
.ye6{bottom:194.625000px;}
.yd4{bottom:194.821000px;}
.y107{bottom:195.084000px;}
.y339{bottom:195.149000px;}
.y197{bottom:195.181000px;}
.y3ba{bottom:195.604000px;}
.y34f{bottom:195.983000px;}
.y1f6{bottom:196.384000px;}
.y1c6{bottom:196.406000px;}
.y184{bottom:196.613000px;}
.y122{bottom:196.733000px;}
.y282{bottom:196.912000px;}
.y179{bottom:197.052000px;}
.ycf{bottom:197.211000px;}
.y213{bottom:197.301000px;}
.y1e4{bottom:197.356000px;}
.y1{bottom:197.678000px;}
.y42{bottom:197.939000px;}
.y120{bottom:198.023000px;}
.y2d5{bottom:198.217000px;}
.y248{bottom:199.229000px;}
.y360{bottom:199.333000px;}
.y38c{bottom:199.856000px;}
.y275{bottom:199.963000px;}
.y95{bottom:199.994000px;}
.y52{bottom:200.190000px;}
.y3c4{bottom:200.738000px;}
.y8{bottom:200.759000px;}
.yfd{bottom:200.790000px;}
.y1d2{bottom:200.852000px;}
.y16e{bottom:201.694000px;}
.y3a4{bottom:202.279000px;}
.y393{bottom:202.807000px;}
.y2e8{bottom:203.753000px;}
.y13a{bottom:203.920000px;}
.y381{bottom:204.359000px;}
.y1b2{bottom:204.565000px;}
.y1a6{bottom:204.683000px;}
.y253{bottom:204.770000px;}
.y2b3{bottom:205.370000px;}
.y78{bottom:206.676000px;}
.y6d{bottom:207.174000px;}
.y29e{bottom:207.788000px;}
.y2a8{bottom:208.029000px;}
.y178{bottom:209.655000px;}
.y269{bottom:209.781000px;}
.ya7{bottom:210.153000px;}
.y31f{bottom:210.389000px;}
.y11f{bottom:210.626000px;}
.y281{bottom:210.661000px;}
.y3c3{bottom:211.373000px;}
.y3b9{bottom:212.427000px;}
.y1c5{bottom:212.770000px;}
.y7{bottom:236.149000px;}
.ya6{bottom:240.488000px;}
.ha{height:19.359269px;}
.h16{height:20.722208px;}
.h12{height:22.093117px;}
.h1a{height:22.124998px;}
.h9{height:23.910300px;}
.h18{height:24.818995px;}
.he{height:24.890726px;}
.hf{height:25.285248px;}
.h10{height:26.899200px;}
.hb{height:27.576477px;}
.hc{height:27.616327px;}
.h6{height:29.887800px;}
.h14{height:30.196389px;}
.h11{height:30.283662px;}
.h13{height:31.243662px;}
.hd{height:32.727300px;}
.h17{height:33.091994px;}
.h5{height:33.187635px;}
.h15{height:34.072320px;}
.h7{height:35.865600px;}
.h4{height:40.456284px;}
.h8{height:43.038600px;}
.h19{height:57.276450px;}
.h3{height:58.268250px;}
.h2{height:74.361300px;}
.h0{height:255.118000px;}
.h1{height:255.500000px;}
.w0{width:453.543000px;}
.w1{width:454.000000px;}
.x0{left:0.000000px;}
.x5{left:10.667000px;}
.x3b{left:19.388000px;}
.x35{left:25.410000px;}
.x1{left:28.346000px;}
.x48{left:30.770000px;}
.xe{left:32.091000px;}
.x3c{left:33.328000px;}
.x6{left:34.488000px;}
.x11{left:36.225000px;}
.x43{left:37.761000px;}
.x39{left:40.018000px;}
.x15{left:42.468000px;}
.x38{left:44.700000px;}
.x22{left:47.176000px;}
.x7{left:50.486000px;}
.x4b{left:51.883000px;}
.x12{left:53.153000px;}
.x37{left:54.836000px;}
.x27{left:57.679000px;}
.x33{left:59.547000px;}
.x23{left:61.298000px;}
.x18{left:62.614000px;}
.x17{left:63.697000px;}
.x1a{left:65.312000px;}
.x19{left:67.706000px;}
.x4d{left:70.926000px;}
.x14{left:89.542000px;}
.x41{left:103.664000px;}
.x45{left:105.460000px;}
.x10{left:106.772000px;}
.x24{left:108.371000px;}
.x4c{left:115.473000px;}
.x26{left:116.662000px;}
.x2{left:118.687000px;}
.xb{left:135.611000px;}
.xd{left:137.493000px;}
.x3d{left:139.799000px;}
.x44{left:146.030000px;}
.x2d{left:150.395000px;}
.x2e{left:151.485000px;}
.x40{left:153.081000px;}
.x16{left:155.445000px;}
.xa{left:158.968000px;}
.x3{left:160.449000px;}
.xf{left:163.645000px;}
.x28{left:169.569000px;}
.x29{left:171.569000px;}
.x34{left:173.639000px;}
.xc{left:175.395000px;}
.x47{left:178.513000px;}
.x25{left:188.396000px;}
.x9{left:208.395000px;}
.x2a{left:227.356000px;}
.x3e{left:229.322000px;}
.x3a{left:230.762480px;}
.x1b{left:234.797000px;}
.x2f{left:236.311000px;}
.x20{left:237.497000px;}
.x1c{left:239.318000px;}
.x3f{left:241.731000px;}
.x1d{left:247.689000px;}
.x46{left:249.241000px;}
.x42{left:253.006000px;}
.x30{left:258.697000px;}
.x36{left:270.423000px;}
.x4a{left:272.680000px;}
.x1f{left:275.898000px;}
.x1e{left:278.202000px;}
.x49{left:326.756000px;}
.x31{left:332.320000px;}
.x2b{left:335.184000px;}
.x2c{left:338.047000px;}
.x32{left:339.489000px;}
.x4{left:378.705000px;}
.x4e{left:415.934000px;}
.x21{left:418.767000px;}
.x13{left:420.169000px;}
.x8{left:424.403000px;}
@media print{
.v0{vertical-align:0.000000pt;}
.ls0{letter-spacing:0.000000pt;}
.ws0{word-spacing:0.000000pt;}
._57{margin-left:-12.030006pt;}
._4{margin-left:-5.126375pt;}
._c{margin-left:-3.213549pt;}
._6{margin-left:-1.721549pt;}
._b{width:1.487748pt;}
._0{width:4.098134pt;}
._55{width:6.021455pt;}
._53{width:8.320819pt;}
._1b{width:13.550823pt;}
._1e{width:14.988988pt;}
._e{width:16.492764pt;}
._a{width:17.927378pt;}
._11{width:19.374562pt;}
._7{width:20.786108pt;}
._8{width:22.660669pt;}
._f{width:24.637267pt;}
._d{width:27.162139pt;}
._5{width:28.921939pt;}
._20{width:30.683108pt;}
._4f{width:32.410535pt;}
._12{width:34.029594pt;}
._13{width:36.239035pt;}
._4c{width:39.555784pt;}
._3{width:41.655600pt;}
._9{width:43.229883pt;}
._1a{width:45.028811pt;}
._1{width:48.384419pt;}
._14{width:50.211840pt;}
._2{width:54.438800pt;}
._24{width:63.745126pt;}
._3f{width:66.741315pt;}
._17{width:75.317760pt;}
._36{width:89.052531pt;}
._43{width:99.304767pt;}
._23{width:101.750018pt;}
._26{width:104.266953pt;}
._27{width:116.536105pt;}
._16{width:125.529600pt;}
._25{width:129.304412pt;}
._35{width:145.788577pt;}
._2e{width:147.417669pt;}
._19{width:150.635520pt;}
._3b{width:174.622527pt;}
._15{width:177.067778pt;}
._5e{width:180.566254pt;}
._2a{width:199.728447pt;}
._22{width:201.784666pt;}
._5f{width:203.137578pt;}
._31{width:219.137890pt;}
._1f{width:224.834367pt;}
._18{width:226.421933pt;}
._1d{width:249.940287pt;}
._44{width:251.527853pt;}
._59{width:275.046207pt;}
._3c{width:276.633773pt;}
._33{width:280.204943pt;}
._2f{width:301.271040pt;}
._4a{width:325.258047pt;}
._1c{width:326.845613pt;}
._56{width:351.482880pt;}
._37{width:376.588800pt;}
._47{width:400.575807pt;}
._3e{width:402.632026pt;}
._39{width:450.787647pt;}
._3d{width:452.375213pt;}
._4e{width:477.012480pt;}
._32{width:497.105869pt;}
._28{width:502.118400pt;}
._38{width:526.105407pt;}
._5a{width:552.330240pt;}
._52{width:578.373466pt;}
._49{width:602.542080pt;}
._46{width:637.138915pt;}
._29{width:652.753920pt;}
._48{width:677.859840pt;}
._34{width:705.396951pt;}
._30{width:713.426049pt;}
._40{width:880.412809pt;}
._41{width:903.813120pt;}
._2d{width:996.674789pt;}
._51{width:1079.554560pt;}
._50{width:1172.170740pt;}
._2c{width:1224.926627pt;}
._45{width:1227.834146pt;}
._10{width:1232.301673pt;}
._21{width:1303.148681pt;}
._4b{width:1344.440367pt;}
._3a{width:1511.192578pt;}
._4d{width:1571.110954pt;}
._42{width:1637.511714pt;}
._5d{width:1672.852372pt;}
._5c{width:1706.326932pt;}
._5b{width:1770.772338pt;}
._54{width:1774.853052pt;}
._58{width:1808.327612pt;}
._2b{width:1889.240405pt;}
.fs9{font-size:31.880533pt;}
.fs6{font-size:37.193600pt;}
.fs5{font-size:42.507200pt;}
.fs8{font-size:47.820800pt;}
.fs4{font-size:53.133867pt;}
.fs7{font-size:58.181867pt;}
.fs3{font-size:63.761067pt;}
.fs2{font-size:76.513067pt;}
.fs1{font-size:110.200000pt;}
.fs0{font-size:132.197867pt;}
.y0{bottom:-0.666667pt;}
.y39b{bottom:8.250667pt;}
.y114{bottom:8.390667pt;}
.y299{bottom:8.617333pt;}
.y307{bottom:9.676000pt;}
.y212{bottom:10.165333pt;}
.y229{bottom:10.609333pt;}
.y2f9{bottom:11.021333pt;}
.y28e{bottom:11.366667pt;}
.y8e{bottom:14.002667pt;}
.y36c{bottom:14.006667pt;}
.y3a3{bottom:14.786667pt;}
.y1d1{bottom:16.154667pt;}
.y11{bottom:17.357333pt;}
.y2d4{bottom:17.477333pt;}
.y148{bottom:19.234667pt;}
.y11e{bottom:19.389333pt;}
.y268{bottom:19.648000pt;}
.y196{bottom:21.574667pt;}
.y177{bottom:22.172000pt;}
.y23b{bottom:24.689333pt;}
.y113{bottom:25.194667pt;}
.y298{bottom:25.420000pt;}
.y233{bottom:25.433333pt;}
.y1e3{bottom:26.469333pt;}
.y306{bottom:26.480000pt;}
.y211{bottom:26.969333pt;}
.y228{bottom:27.413333pt;}
.y2e7{bottom:28.989333pt;}
.y28d{bottom:29.697333pt;}
.y154{bottom:30.316000pt;}
.y8d{bottom:30.806667pt;}
.y83{bottom:31.158667pt;}
.y330{bottom:31.385333pt;}
.y3dd{bottom:33.149333pt;}
.y36b{bottom:33.466667pt;}
.y12f{bottom:33.878667pt;}
.y377{bottom:34.174667pt;}
.y2d3{bottom:34.280000pt;}
.y35f{bottom:34.300000pt;}
.y274{bottom:34.802667pt;}
.y3d2{bottom:35.456000pt;}
.y3c2{bottom:35.561333pt;}
.y1d0{bottom:36.929333pt;}
.y34e{bottom:37.016000pt;}
.yfc{bottom:39.189333pt;}
.y2c4{bottom:39.334667pt;}
.y380{bottom:39.704000pt;}
.y183{bottom:40.237333pt;}
.y1c4{bottom:41.313333pt;}
.y23a{bottom:41.493333pt;}
.y112{bottom:41.998667pt;}
.y297{bottom:42.224000pt;}
.y232{bottom:42.237333pt;}
.y195{bottom:42.349333pt;}
.y176{bottom:42.948000pt;}
.y305{bottom:43.284000pt;}
.y210{bottom:43.773333pt;}
.y2a7{bottom:44.004000pt;}
.y77{bottom:44.024000pt;}
.y227{bottom:44.216000pt;}
.y21b{bottom:44.621333pt;}
.yc5{bottom:45.086667pt;}
.y31c{bottom:45.545333pt;}
.y328{bottom:45.769333pt;}
.y2e6{bottom:45.793333pt;}
.y247{bottom:46.209333pt;}
.y147{bottom:46.241333pt;}
.y310{bottom:47.132000pt;}
.y1bc{bottom:47.174667pt;}
.y8c{bottom:47.610667pt;}
.y2f8{bottom:47.876000pt;}
.y82{bottom:47.962667pt;}
.y10{bottom:48.158667pt;}
.y32f{bottom:48.188000pt;}
.y267{bottom:48.393333pt;}
.y2bf{bottom:48.758667pt;}
.y5c{bottom:49.453333pt;}
.y3c0{bottom:49.720000pt;}
.y3d1{bottom:49.968000pt;}
.y168{bottom:49.974667pt;}
.y2b2{bottom:50.020000pt;}
.yce{bottom:50.514667pt;}
.y12e{bottom:50.682667pt;}
.yb4{bottom:50.728000pt;}
.y376{bottom:50.978667pt;}
.y153{bottom:51.090667pt;}
.y35e{bottom:51.104000pt;}
.ya5{bottom:52.468000pt;}
.y2f2{bottom:52.765333pt;}
.y36a{bottom:52.928000pt;}
.y2b{bottom:53.644000pt;}
.y49{bottom:54.070667pt;}
.y2dd{bottom:54.089333pt;}
.y131{bottom:54.093333pt;}
.y3a2{bottom:54.125333pt;}
.y38b{bottom:54.365333pt;}
.y3dc{bottom:54.624000pt;}
.y1b1{bottom:55.274667pt;}
.y28c{bottom:55.965333pt;}
.yfb{bottom:55.992000pt;}
.y368{bottom:56.525333pt;}
.y182{bottom:56.709333pt;}
.y3af{bottom:57.137333pt;}
.y6{bottom:57.414667pt;}
.y1c3{bottom:58.117333pt;}
.y239{bottom:58.297333pt;}
.y111{bottom:58.801333pt;}
.y296{bottom:59.028000pt;}
.y25d{bottom:59.130667pt;}
.y304{bottom:60.086667pt;}
.y280{bottom:60.240000pt;}
.y1da{bottom:60.382667pt;}
.y106{bottom:60.465333pt;}
.y20f{bottom:60.576000pt;}
.y1f5{bottom:60.677333pt;}
.y2a6{bottom:60.806667pt;}
.y76{bottom:60.826667pt;}
.y226{bottom:61.020000pt;}
.y3b1{bottom:61.425333pt;}
.yc4{bottom:61.889333pt;}
.y31b{bottom:62.348000pt;}
.y252{bottom:62.546667pt;}
.y246{bottom:63.012000pt;}
.y39a{bottom:63.554667pt;}
.y8b{bottom:64.413333pt;}
.y3d0{bottom:64.480000pt;}
.y1a{bottom:64.520000pt;}
.y2f7{bottom:64.680000pt;}
.y18d{bottom:64.693333pt;}
.y81{bottom:64.765333pt;}
.y32e{bottom:64.992000pt;}
.y355{bottom:65.546667pt;}
.yed{bottom:65.620000pt;}
.y34d{bottom:65.728000pt;}
.y5b{bottom:65.924000pt;}
.y1ec{bottom:66.140000pt;}
.y1ff{bottom:66.340000pt;}
.y342{bottom:66.657333pt;}
.y167{bottom:66.778667pt;}
.y2be{bottom:67.090667pt;}
.ydd{bottom:67.096000pt;}
.y6c{bottom:67.313333pt;}
.ycd{bottom:67.318667pt;}
.y1e2{bottom:67.382667pt;}
.y375{bottom:67.449333pt;}
.y12d{bottom:67.485333pt;}
.yb3{bottom:67.532000pt;}
.ya4{bottom:67.592000pt;}
.y1cf{bottom:67.634667pt;}
.y39{bottom:67.884000pt;}
.y2d2{bottom:67.888000pt;}
.y35d{bottom:67.908000pt;}
.y1bb{bottom:67.949333pt;}
.y273{bottom:68.410667pt;}
.y37f{bottom:68.416000pt;}
.y2dc{bottom:70.892000pt;}
.y38a{bottom:71.168000pt;}
.y19f{bottom:71.916000pt;}
.y1b0{bottom:72.078667pt;}
.y3a{bottom:72.704000pt;}
.y15a{bottom:72.708000pt;}
.yfa{bottom:72.796000pt;}
.y146{bottom:73.249333pt;}
.y181{bottom:73.513333pt;}
.y3ae{bottom:73.941333pt;}
.y28b{bottom:74.297333pt;}
.ya1{bottom:74.817333pt;}
.y2b1{bottom:74.832000pt;}
.y48{bottom:74.845333pt;}
.y130{bottom:74.868000pt;}
.y3c1{bottom:74.901333pt;}
.y1c2{bottom:74.921333pt;}
.y238{bottom:75.100000pt;}
.y110{bottom:75.605333pt;}
.y175{bottom:75.677333pt;}
.y231{bottom:75.844000pt;}
.y25c{bottom:75.933333pt;}
.ye5{bottom:75.981333pt;}
.y303{bottom:76.890667pt;}
.y27f{bottom:77.042667pt;}
.y266{bottom:77.138667pt;}
.y1d9{bottom:77.185333pt;}
.y105{bottom:77.269333pt;}
.y367{bottom:77.301333pt;}
.y1f4{bottom:77.481333pt;}
.y75{bottom:77.630667pt;}
.y327{bottom:77.802667pt;}
.y225{bottom:77.824000pt;}
.y21a{bottom:78.229333pt;}
.y2b0{bottom:78.462667pt;}
.yc3{bottom:78.693333pt;}
.y2c3{bottom:78.706667pt;}
.y3cf{bottom:78.993333pt;}
.y251{bottom:79.018667pt;}
.y31a{bottom:79.152000pt;}
.y2a{bottom:79.248000pt;}
.y2e5{bottom:79.400000pt;}
.y5{bottom:79.648000pt;}
.y245{bottom:79.816000pt;}
.y21{bottom:80.538667pt;}
.y30f{bottom:80.738667pt;}
.y2f6{bottom:81.150667pt;}
.y8a{bottom:81.217333pt;}
.y18c{bottom:81.496000pt;}
.y80{bottom:81.569333pt;}
.y3bf{bottom:81.650667pt;}
.y152{bottom:81.796000pt;}
.y11d{bottom:82.146667pt;}
.y30{bottom:82.208000pt;}
.y354{bottom:82.349333pt;}
.y2f1{bottom:82.354667pt;}
.y3db{bottom:82.473333pt;}
.y34c{bottom:82.530667pt;}
.ya3{bottom:82.714667pt;}
.y3a1{bottom:82.870667pt;}
.y1fe{bottom:83.142667pt;}
.y341{bottom:83.461333pt;}
.y166{bottom:83.581333pt;}
.ydc{bottom:83.900000pt;}
.y139{bottom:83.912000pt;}
.y6b{bottom:84.116000pt;}
.ycc{bottom:84.122667pt;}
.yb2{bottom:84.336000pt;}
.y194{bottom:84.345333pt;}
.y1ce{bottom:84.437333pt;}
.y2d1{bottom:84.690667pt;}
.y35c{bottom:84.710667pt;}
.y272{bottom:85.213333pt;}
.y37e{bottom:85.218667pt;}
.y51{bottom:85.225333pt;}
.y2bd{bottom:85.421333pt;}
.y369{bottom:85.568000pt;}
.yec{bottom:86.396000pt;}
.y1e1{bottom:87.838667pt;}
.y389{bottom:87.972000pt;}
.yf{bottom:88.452000pt;}
.y19e{bottom:88.718667pt;}
.y1af{bottom:88.881333pt;}
.y31{bottom:89.149333pt;}
.yf9{bottom:89.600000pt;}
.y18{bottom:90.124000pt;}
.y3ad{bottom:90.745333pt;}
.y1c1{bottom:91.392000pt;}
.y338{bottom:91.466667pt;}
.y10f{bottom:92.409333pt;}
.y28a{bottom:92.628000pt;}
.y295{bottom:92.634667pt;}
.y230{bottom:92.648000pt;}
.y25b{bottom:92.737333pt;}
.y5a{bottom:92.813333pt;}
.y38{bottom:93.488000pt;}
.y3ce{bottom:93.505333pt;}
.y302{bottom:93.694667pt;}
.y27e{bottom:93.846667pt;}
.y392{bottom:93.989333pt;}
.y104{bottom:94.072000pt;}
.y20e{bottom:94.184000pt;}
.y1f3{bottom:94.285333pt;}
.y374{bottom:94.366667pt;}
.y2a5{bottom:94.414667pt;}
.y74{bottom:94.434667pt;}
.ybb{bottom:94.477333pt;}
.y224{bottom:94.626667pt;}
.y19{bottom:94.944000pt;}
.y3b0{bottom:95.032000pt;}
.y2af{bottom:95.265333pt;}
.yc2{bottom:95.497333pt;}
.y319{bottom:95.956000pt;}
.y2e4{bottom:96.204000pt;}
.y3b8{bottom:96.373333pt;}
.y244{bottom:96.620000pt;}
.ye4{bottom:96.757333pt;}
.y399{bottom:96.813333pt;}
.y47{bottom:97.276000pt;}
.y30e{bottom:97.542667pt;}
.ya2{bottom:97.837333pt;}
.y89{bottom:98.021333pt;}
.y366{bottom:98.076000pt;}
.y7f{bottom:98.373333pt;}
.y151{bottom:98.598667pt;}
.y11c{bottom:98.950667pt;}
.y2f0{bottom:99.157333pt;}
.y63{bottom:99.246667pt;}
.y3da{bottom:99.276000pt;}
.y34b{bottom:99.334667pt;}
.y340{bottom:99.933333pt;}
.y1fd{bottom:99.946667pt;}
.y145{bottom:100.257333pt;}
.ydb{bottom:100.370667pt;}
.y165{bottom:100.385333pt;}
.ycb{bottom:100.593333pt;}
.yb1{bottom:101.138667pt;}
.y1cd{bottom:101.241333pt;}
.y1ba{bottom:101.310667pt;}
.y2d0{bottom:101.494667pt;}
.y250{bottom:101.766667pt;}
.y271{bottom:102.017333pt;}
.y37d{bottom:102.022667pt;}
.y50{bottom:102.029333pt;}
.y326{bottom:102.562667pt;}
.y3a0{bottom:103.646667pt;}
.y2f5{bottom:103.898667pt;}
.y2db{bottom:104.498667pt;}
.y138{bottom:104.688000pt;}
.y388{bottom:104.776000pt;}
.y28{bottom:104.852000pt;}
.y193{bottom:105.121333pt;}
.y16d{bottom:105.158667pt;}
.y19d{bottom:105.522667pt;}
.y1ae{bottom:105.685333pt;}
.y265{bottom:105.884000pt;}
.y20{bottom:106.142667pt;}
.y3f{bottom:106.289333pt;}
.yf8{bottom:106.402667pt;}
.y2bc{bottom:106.409333pt;}
.y1eb{bottom:107.053333pt;}
.y3ac{bottom:107.548000pt;}
.y205{bottom:107.554667pt;}
.y3cd{bottom:108.017333pt;}
.y337{bottom:108.270667pt;}
.y1e0{bottom:108.296000pt;}
.y174{bottom:108.408000pt;}
.y12a{bottom:108.640000pt;}
.y237{bottom:108.708000pt;}
.y180{bottom:108.913333pt;}
.y10e{bottom:109.212000pt;}
.y159{bottom:109.424000pt;}
.y22f{bottom:109.452000pt;}
.y29{bottom:109.672000pt;}
.y301{bottom:110.497333pt;}
.y143{bottom:110.645333pt;}
.y27d{bottom:110.650667pt;}
.y1d8{bottom:110.793333pt;}
.y2c8{bottom:110.982667pt;}
.y20d{bottom:110.986667pt;}
.y40{bottom:111.110667pt;}
.y2a4{bottom:111.217333pt;}
.y73{bottom:111.237333pt;}
.yba{bottom:111.281333pt;}
.y223{bottom:111.430667pt;}
.y219{bottom:111.836000pt;}
.yc1{bottom:111.968000pt;}
.y2ae{bottom:112.069333pt;}
.y318{bottom:112.758667pt;}
.y2e3{bottom:113.008000pt;}
.y3b7{bottom:113.177333pt;}
.y243{bottom:113.422667pt;}
.y3be{bottom:113.581333pt;}
.ye{bottom:114.056000pt;}
.y30d{bottom:114.346667pt;}
.y88{bottom:114.492000pt;}
.y18b{bottom:115.102667pt;}
.y373{bottom:115.141333pt;}
.y7e{bottom:115.176000pt;}
.y150{bottom:115.402667pt;}
.y16{bottom:115.728000pt;}
.y11b{bottom:115.754667pt;}
.y1a5{bottom:115.957333pt;}
.y2ef{bottom:115.961333pt;}
.y3d9{bottom:116.080000pt;}
.y34a{bottom:116.138667pt;}
.y94{bottom:116.844000pt;}
.y164{bottom:117.189333pt;}
.y1cc{bottom:117.713333pt;}
.y6a{bottom:117.724000pt;}
.yb0{bottom:117.942667pt;}
.y2c2{bottom:118.078667pt;}
.y1b9{bottom:118.114667pt;}
.y1c0{bottom:118.125333pt;}
.y2cf{bottom:118.298667pt;}
.y35b{bottom:118.318667pt;}
.y4f{bottom:118.500000pt;}
.y289{bottom:118.716000pt;}
.y270{bottom:118.821333pt;}
.y12c{bottom:119.028000pt;}
.y37{bottom:119.092000pt;}
.y59{bottom:119.702667pt;}
.ya0{bottom:120.470667pt;}
.y17{bottom:120.548000pt;}
.y144{bottom:121.033333pt;}
.y1ad{bottom:122.157333pt;}
.y32d{bottom:122.373333pt;}
.yf7{bottom:123.206667pt;}
.y325{bottom:123.338667pt;}
.y3ab{bottom:124.352000pt;}
.y204{bottom:124.358667pt;}
.y336{bottom:125.074667pt;}
.y236{bottom:125.178667pt;}
.y17f{bottom:125.385333pt;}
.yeb{bottom:125.768000pt;}
.y16c{bottom:125.934667pt;}
.y10d{bottom:126.016000pt;}
.y294{bottom:126.241333pt;}
.y22e{bottom:126.254667pt;}
.y25a{bottom:126.344000pt;}
.y264{bottom:126.660000pt;}
.y300{bottom:126.969333pt;}
.y2bb{bottom:127.184000pt;}
.y1d7{bottom:127.264000pt;}
.y27c{bottom:127.453333pt;}
.y1ea{bottom:127.510667pt;}
.y103{bottom:127.680000pt;}
.y20c{bottom:127.790667pt;}
.y1f2{bottom:127.892000pt;}
.yb9{bottom:128.084000pt;}
.y222{bottom:128.234667pt;}
.yca{bottom:128.544000pt;}
.y218{bottom:128.640000pt;}
.y1df{bottom:128.752000pt;}
.y2ad{bottom:128.873333pt;}
.y173{bottom:129.184000pt;}
.y33f{bottom:129.250667pt;}
.y129{bottom:129.416000pt;}
.y317{bottom:129.562667pt;}
.y2e2{bottom:129.810667pt;}
.y3b6{bottom:129.981333pt;}
.y398{bottom:130.072000pt;}
.y242{bottom:130.226667pt;}
.y27{bottom:130.456000pt;}
.yda{bottom:130.608000pt;}
.ye3{bottom:130.816000pt;}
.y30c{bottom:131.149333pt;}
.y24f{bottom:131.156000pt;}
.y18a{bottom:131.574667pt;}
.y1f{bottom:131.746667pt;}
.y3e{bottom:131.893333pt;}
.y93{bottom:131.966667pt;}
.y14f{bottom:132.206667pt;}
.y39f{bottom:132.392000pt;}
.y11a{bottom:132.557333pt;}
.y62{bottom:132.608000pt;}
.y4e{bottom:132.648000pt;}
.y1a4{bottom:132.760000pt;}
.y2ee{bottom:132.765333pt;}
.y3d8{bottom:132.884000pt;}
.y349{bottom:132.941333pt;}
.y2ba{bottom:133.348000pt;}
.y1fc{bottom:133.553333pt;}
.y163{bottom:133.992000pt;}
.y69{bottom:134.526667pt;}
.yaf{bottom:134.746667pt;}
.y1b8{bottom:134.918667pt;}
.y365{bottom:135.094667pt;}
.y2ce{bottom:135.101333pt;}
.y35a{bottom:135.121333pt;}
.y9f{bottom:135.594667pt;}
.y26f{bottom:135.624000pt;}
.y37c{bottom:135.629333pt;}
.yf5{bottom:136.190667pt;}
.y58{bottom:136.506667pt;}
.y192{bottom:136.522667pt;}
.yc0{bottom:136.709333pt;}
.y137{bottom:136.720000pt;}
.y3cc{bottom:137.041333pt;}
.y288{bottom:137.048000pt;}
.y2da{bottom:138.106667pt;}
.y387{bottom:138.382667pt;}
.y1bf{bottom:138.900000pt;}
.y19c{bottom:139.129333pt;}
.y32c{bottom:139.176000pt;}
.yd{bottom:139.660000pt;}
.yf6{bottom:139.678667pt;}
.y12b{bottom:139.802667pt;}
.y29d{bottom:140.614667pt;}
.y15{bottom:141.332000pt;}
.y335{bottom:141.877333pt;}
.y17e{bottom:142.188000pt;}
.y9c{bottom:142.820000pt;}
.y293{bottom:143.045333pt;}
.y259{bottom:143.148000pt;}
.y3bd{bottom:143.654667pt;}
.y27b{bottom:144.257333pt;}
.y1cb{bottom:144.445333pt;}
.y102{bottom:144.482667pt;}
.y72{bottom:144.513333pt;}
.yb8{bottom:144.556000pt;}
.y20b{bottom:144.594667pt;}
.y36{bottom:144.696000pt;}
.y2a3{bottom:144.825333pt;}
.y221{bottom:145.037333pt;}
.y2f4{bottom:145.442667pt;}
.y158{bottom:146.140000pt;}
.y2e1{bottom:146.282667pt;}
.yea{bottom:146.544000pt;}
.y241{bottom:147.030667pt;}
.y189{bottom:147.049333pt;}
.y92{bottom:147.089333pt;}
.y87{bottom:147.866667pt;}
.y30b{bottom:147.953333pt;}
.y24e{bottom:147.960000pt;}
.y1e9{bottom:147.966667pt;}
.y142{bottom:148.041333pt;}
.y46{bottom:148.085333pt;}
.y324{bottom:148.098667pt;}
.y7d{bottom:148.784000pt;}
.y14e{bottom:149.009333pt;}
.y119{bottom:149.361333pt;}
.y61{bottom:149.410667pt;}
.y1a3{bottom:149.564000pt;}
.y2ed{bottom:149.568000pt;}
.y3d7{bottom:149.686667pt;}
.y3de{bottom:149.742667pt;}
.y348{bottom:149.745333pt;}
.y172{bottom:149.958667pt;}
.y2b9{bottom:150.152000pt;}
.y128{bottom:150.190667pt;}
.y2c7{bottom:150.354667pt;}
.y1fb{bottom:150.357333pt;}
.y9e{bottom:150.717333pt;}
.y162{bottom:150.796000pt;}
.yae{bottom:151.549333pt;}
.y3cb{bottom:151.553333pt;}
.ye2{bottom:151.592000pt;}
.y1b7{bottom:151.721333pt;}
.y1ac{bottom:151.878667pt;}
.y2cd{bottom:151.905333pt;}
.y235{bottom:151.912000pt;}
.y359{bottom:151.925333pt;}
.y26e{bottom:152.096000pt;}
.y37b{bottom:152.433333pt;}
.y57{bottom:152.977333pt;}
.yf4{bottom:152.994667pt;}
.y136{bottom:153.524000pt;}
.y2ff{bottom:153.802667pt;}
.y372{bottom:153.816000pt;}
.y2d9{bottom:154.909333pt;}
.y386{bottom:155.186667pt;}
.y391{bottom:155.325333pt;}
.y263{bottom:155.372000pt;}
.y287{bottom:155.378667pt;}
.y32b{bottom:155.648000pt;}
.y364{bottom:155.869333pt;}
.y19b{bottom:155.933333pt;}
.y26{bottom:156.060000pt;}
.y4{bottom:156.180000pt;}
.y1d6{bottom:156.653333pt;}
.y2f{bottom:156.818667pt;}
.y191{bottom:157.298667pt;}
.y1e{bottom:157.350667pt;}
.y2c1{bottom:157.450667pt;}
.y3d{bottom:157.497333pt;}
.y3aa{bottom:157.958667pt;}
.y203{bottom:157.965333pt;}
.y334{bottom:158.349333pt;}
.y140{bottom:158.429333pt;}
.y292{bottom:159.849333pt;}
.y22d{bottom:159.862667pt;}
.y258{bottom:159.952000pt;}
.yc9{bottom:160.466667pt;}
.y39e{bottom:161.137333pt;}
.y33e{bottom:161.284000pt;}
.y101{bottom:161.286667pt;}
.y2a2{bottom:161.296000pt;}
.y20a{bottom:161.397333pt;}
.y25f{bottom:161.417333pt;}
.y397{bottom:161.474667pt;}
.y1f1{bottom:161.498667pt;}
.y220{bottom:161.841333pt;}
.y2ac{bottom:162.148000pt;}
.y91{bottom:162.212000pt;}
.y217{bottom:162.246667pt;}
.yd9{bottom:162.641333pt;}
.y316{bottom:163.169333pt;}
.y3b5{bottom:163.588000pt;}
.y240{bottom:163.833333pt;}
.y24d{bottom:164.764000pt;}
.y160{bottom:165.136000pt;}
.y1ca{bottom:165.221333pt;}
.y7c{bottom:165.254667pt;}
.yc{bottom:165.264000pt;}
.ybf{bottom:165.421333pt;}
.y14d{bottom:165.813333pt;}
.y9d{bottom:165.840000pt;}
.y2ec{bottom:166.040000pt;}
.y3ca{bottom:166.065333pt;}
.y60{bottom:166.214667pt;}
.y1a2{bottom:166.368000pt;}
.y3d6{bottom:166.490667pt;}
.y347{bottom:166.549333pt;}
.y14{bottom:166.936000pt;}
.y2b8{bottom:166.954667pt;}
.y1fa{bottom:167.161333pt;}
.y161{bottom:167.266667pt;}
.ye9{bottom:167.318667pt;}
.y4d{bottom:168.048000pt;}
.y68{bottom:168.134667pt;}
.yad{bottom:168.353333pt;}
.y1e8{bottom:168.422667pt;}
.y1ab{bottom:168.682667pt;}
.y2cc{bottom:168.709333pt;}
.y141{bottom:168.816000pt;}
.y45{bottom:168.861333pt;}
.y323{bottom:168.874667pt;}
.y37a{bottom:169.237333pt;}
.y1de{bottom:169.665333pt;}
.yf3{bottom:169.798667pt;}
.y35{bottom:170.300000pt;}
.y135{bottom:170.328000pt;}
.y2c6{bottom:171.129333pt;}
.y2d8{bottom:171.381333pt;}
.y86{bottom:171.942667pt;}
.y19a{bottom:172.404000pt;}
.yb7{bottom:172.617333pt;}
.y3bc{bottom:173.729333pt;}
.y371{bottom:174.592000pt;}
.y3a9{bottom:174.762667pt;}
.y202{bottom:174.769333pt;}
.y390{bottom:176.101333pt;}
.y10c{bottom:176.426667pt;}
.y363{bottom:176.645333pt;}
.y291{bottom:176.652000pt;}
.y22c{bottom:176.665333pt;}
.y257{bottom:176.754667pt;}
.yc8{bottom:177.270667pt;}
.y90{bottom:177.336000pt;}
.y1d5{bottom:177.429333pt;}
.y2e0{bottom:177.568000pt;}
.y16b{bottom:177.574667pt;}
.y1be{bottom:177.576000pt;}
.y17d{bottom:177.589333pt;}
.y27a{bottom:177.864000pt;}
.y1f0{bottom:177.970667pt;}
.y33d{bottom:178.088000pt;}
.y100{bottom:178.090667pt;}
.y209{bottom:178.201333pt;}
.y71{bottom:178.552000pt;}
.y21f{bottom:178.645333pt;}
.y216{bottom:179.050667pt;}
.yd8{bottom:179.445333pt;}
.y188{bottom:179.793333pt;}
.yd3{bottom:179.846667pt;}
.y56{bottom:179.866667pt;}
.y315{bottom:179.973333pt;}
.y31d{bottom:180.274667pt;}
.y3b4{bottom:180.392000pt;}
.y3c9{bottom:180.577333pt;}
.y23f{bottom:180.637333pt;}
.y26d{bottom:180.821333pt;}
.y30a{bottom:181.228000pt;}
.y286{bottom:181.468000pt;}
.y24c{bottom:181.566667pt;}
.y29c{bottom:181.617333pt;}
.y25{bottom:181.664000pt;}
.ybe{bottom:181.892000pt;}
.y15f{bottom:181.938667pt;}
.y2e{bottom:182.422667pt;}
.y2fe{bottom:182.516000pt;}
.y14c{bottom:182.617333pt;}
.y171{bottom:182.689333pt;}
.y1a1{bottom:182.838667pt;}
.y157{bottom:182.854667pt;}
.y1d{bottom:182.954667pt;}
.y118{bottom:182.968000pt;}
.y5f{bottom:183.018667pt;}
.y3c{bottom:183.101333pt;}
.y353{bottom:183.170667pt;}
.y3d5{bottom:183.294667pt;}
.y346{bottom:183.352000pt;}
.y1f9{bottom:183.632000pt;}
.y2b7{bottom:183.758667pt;}
.y126{bottom:183.962667pt;}
.y41{bottom:184.330667pt;}
.y67{bottom:184.937333pt;}
.y32a{bottom:185.037333pt;}
.yac{bottom:185.157333pt;}
.y2cb{bottom:185.180000pt;}
.y1b6{bottom:185.328000pt;}
.y1aa{bottom:185.485333pt;}
.y358{bottom:185.532000pt;}
.y3{bottom:185.537333pt;}
.y1c9{bottom:185.996000pt;}
.y379{bottom:186.040000pt;}
.y333{bottom:186.566667pt;}
.yf2{bottom:186.601333pt;}
.y9b{bottom:188.473333pt;}
.y1e7{bottom:188.548000pt;}
.y190{bottom:188.700000pt;}
.y385{bottom:188.793333pt;}
.y4c{bottom:188.822667pt;}
.ye1{bottom:189.765333pt;}
.y39d{bottom:189.849333pt;}
.y1dd{bottom:190.121333pt;}
.y396{bottom:190.186667pt;}
.yb{bottom:190.868000pt;}
.y3a8{bottom:191.234667pt;}
.y201{bottom:191.240000pt;}
.y44{bottom:191.290667pt;}
.y31e{bottom:192.268000pt;}
.y13{bottom:192.540000pt;}
.y85{bottom:192.718667pt;}
.y10b{bottom:193.230667pt;}
.y308{bottom:193.456000pt;}
.y22b{bottom:193.469333pt;}
.y256{bottom:193.558667pt;}
.y17c{bottom:194.060000pt;}
.yc7{bottom:194.074667pt;}
.y2eb{bottom:194.101333pt;}
.y127{bottom:194.350667pt;}
.y33c{bottom:194.890667pt;}
.y208{bottom:195.005333pt;}
.y3c8{bottom:195.089333pt;}
.y2a1{bottom:195.436000pt;}
.y21e{bottom:195.448000pt;}
.y13f{bottom:195.824000pt;}
.y2f3{bottom:195.853333pt;}
.y34{bottom:195.904000pt;}
.yd7{bottom:196.248000pt;}
.y187{bottom:196.597333pt;}
.y262{bottom:196.704000pt;}
.y314{bottom:196.777333pt;}
.y2c0{bottom:196.822667pt;}
.y38f{bottom:196.876000pt;}
.y7b{bottom:197.301333pt;}
.y23e{bottom:197.441333pt;}
.y16a{bottom:198.350667pt;}
.y24b{bottom:198.370667pt;}
.y362{bottom:198.462667pt;}
.y15e{bottom:198.742667pt;}
.y2fd{bottom:199.318667pt;}
.y70{bottom:199.326667pt;}
.y14b{bottom:199.420000pt;}
.y5e{bottom:199.489333pt;}
.y117{bottom:199.772000pt;}
.y285{bottom:199.798667pt;}
.y352{bottom:199.974667pt;}
.y3d4{bottom:200.097333pt;}
.y2b6{bottom:200.230667pt;}
.yd2{bottom:200.622667pt;}
.y322{bottom:200.908000pt;}
.y2df{bottom:201.212000pt;}
.y66{bottom:201.409333pt;}
.y26c{bottom:201.597333pt;}
.y199{bottom:201.794667pt;}
.yab{bottom:201.960000pt;}
.y357{bottom:202.004000pt;}
.y1b5{bottom:202.132000pt;}
.y8f{bottom:202.284000pt;}
.y1a9{bottom:202.289333pt;}
.y29b{bottom:202.392000pt;}
.y378{bottom:202.512000pt;}
.y3bb{bottom:203.013333pt;}
.y370{bottom:203.304000pt;}
.yf1{bottom:203.405333pt;}
.y170{bottom:203.465333pt;}
.y9a{bottom:203.597333pt;}
.y134{bottom:203.934667pt;}
.yb6{bottom:204.318667pt;}
.y125{bottom:204.738667pt;}
.y1c8{bottom:205.410667pt;}
.y384{bottom:205.597333pt;}
.y329{bottom:205.813333pt;}
.y309{bottom:205.969333pt;}
.y13c{bottom:206.212000pt;}
.ybd{bottom:206.633333pt;}
.ye8{bottom:206.690667pt;}
.y2ab{bottom:206.729333pt;}
.y55{bottom:206.756000pt;}
.y25e{bottom:207.245333pt;}
.y24{bottom:207.266667pt;}
.y1bd{bottom:207.948000pt;}
.y2d{bottom:208.026667pt;}
.y1c{bottom:208.558667pt;}
.y3b{bottom:208.705333pt;}
.y2ca{bottom:209.921333pt;}
.y22a{bottom:209.941333pt;}
.y10a{bottom:210.033333pt;}
.y290{bottom:210.260000pt;}
.y2c5{bottom:210.501333pt;}
.ye0{bottom:210.541333pt;}
.y1dc{bottom:210.578667pt;}
.y97{bottom:210.822667pt;}
.y17b{bottom:210.864000pt;}
.y279{bottom:211.138667pt;}
.y33b{bottom:211.362667pt;}
.yff{bottom:211.697333pt;}
.y207{bottom:211.808000pt;}
.y1a0{bottom:212.228000pt;}
.y21d{bottom:212.252000pt;}
.y215{bottom:212.657333pt;}
.y1ef{bottom:212.673333pt;}
.y1f8{bottom:213.022667pt;}
.yd6{bottom:213.052000pt;}
.y313{bottom:213.580000pt;}
.y3b3{bottom:213.998667pt;}
.y23d{bottom:214.244000pt;}
.y332{bottom:214.614667pt;}
.y24a{bottom:214.842667pt;}
.y2ea{bottom:214.877333pt;}
.y15d{bottom:215.546667pt;}
.y2b5{bottom:215.705333pt;}
.y2fc{bottom:216.122667pt;}
.y2a0{bottom:216.212000pt;}
.y14a{bottom:216.224000pt;}
.ya{bottom:216.472000pt;}
.y116{bottom:216.576000pt;}
.y13d{bottom:216.600000pt;}
.y351{bottom:216.778667pt;}
.y345{bottom:216.960000pt;}
.y261{bottom:217.478667pt;}
.y7a{bottom:218.077333pt;}
.y284{bottom:218.129333pt;}
.y1b4{bottom:218.604000pt;}
.y99{bottom:218.720000pt;}
.y1a8{bottom:218.760000pt;}
.yaa{bottom:218.764000pt;}
.y200{bottom:219.302667pt;}
.y156{bottom:219.570667pt;}
.y3a7{bottom:219.628000pt;}
.y18f{bottom:220.102667pt;}
.y36f{bottom:220.108000pt;}
.yf0{bottom:220.209333pt;}
.y133{bottom:220.738667pt;}
.y169{bottom:220.780000pt;}
.y4b{bottom:220.856000pt;}
.yd1{bottom:221.397333pt;}
.y33{bottom:221.508000pt;}
.y1e6{bottom:221.590667pt;}
.y2d7{bottom:221.696000pt;}
.y5d{bottom:222.237333pt;}
.y54{bottom:223.560000pt;}
.y3c7{bottom:224.114667pt;}
.y29a{bottom:224.210667pt;}
.y38e{bottom:224.924000pt;}
.y1d4{bottom:226.252000pt;}
.y28f{bottom:226.730667pt;}
.y6f{bottom:226.744000pt;}
.y109{bottom:226.837333pt;}
.y13b{bottom:226.986667pt;}
.y255{bottom:227.165333pt;}
.y395{bottom:227.204000pt;}
.yc6{bottom:227.349333pt;}
.y84{bottom:227.408000pt;}
.ye7{bottom:227.466667pt;}
.y206{bottom:228.280000pt;}
.y21c{bottom:228.724000pt;}
.y39c{bottom:229.188000pt;}
.y214{bottom:229.461333pt;}
.y65{bottom:229.470667pt;}
.yd5{bottom:229.524000pt;}
.y312{bottom:230.052000pt;}
.y186{bottom:230.204000pt;}
.y3b2{bottom:230.470667pt;}
.y2c9{bottom:230.696000pt;}
.y23c{bottom:230.716000pt;}
.y198{bottom:230.852000pt;}
.ydf{bottom:231.316000pt;}
.y2aa{bottom:231.490667pt;}
.y15c{bottom:232.349333pt;}
.yb5{bottom:232.380000pt;}
.y23{bottom:232.870667pt;}
.y2fb{bottom:232.926667pt;}
.y234{bottom:233.026667pt;}
.y115{bottom:233.046667pt;}
.y350{bottom:233.249333pt;}
.y3d3{bottom:233.373333pt;}
.y1ee{bottom:233.449333pt;}
.y2c{bottom:233.630667pt;}
.y344{bottom:233.762667pt;}
.y98{bottom:233.842667pt;}
.y1b{bottom:234.162667pt;}
.y2de{bottom:234.457333pt;}
.ybc{bottom:234.681333pt;}
.y331{bottom:235.389333pt;}
.ya9{bottom:235.568000pt;}
.y2{bottom:236.074667pt;}
.y16f{bottom:236.196000pt;}
.y3a6{bottom:236.430667pt;}
.y2b4{bottom:236.481333pt;}
.y36e{bottom:236.910667pt;}
.yef{bottom:237.012000pt;}
.y26b{bottom:237.114667pt;}
.y132{bottom:237.209333pt;}
.y13e{bottom:237.374667pt;}
.y249{bottom:237.590667pt;}
.y321{bottom:237.925333pt;}
.y3c6{bottom:238.626667pt;}
.y383{bottom:239.204000pt;}
.y33a{bottom:239.424000pt;}
.y53{bottom:240.030667pt;}
.y1f7{bottom:241.070667pt;}
.y1c7{bottom:241.100000pt;}
.y123{bottom:241.536000pt;}
.y4a{bottom:241.632000pt;}
.y9{bottom:242.074667pt;}
.y43{bottom:242.101333pt;}
.yd0{bottom:242.173333pt;}
.y1e5{bottom:242.365333pt;}
.y2d6{bottom:242.470667pt;}
.y254{bottom:243.637333pt;}
.y108{bottom:243.641333pt;}
.y361{bottom:243.960000pt;}
.y277{bottom:244.209333pt;}
.y283{bottom:244.218667pt;}
.yfe{bottom:244.972000pt;}
.y260{bottom:245.526667pt;}
.y38d{bottom:245.700000pt;}
.y276{bottom:245.842667pt;}
.y278{bottom:246.169333pt;}
.y17a{bottom:246.264000pt;}
.y185{bottom:246.676000pt;}
.y79{bottom:246.822667pt;}
.y1d3{bottom:247.028000pt;}
.y32{bottom:247.112000pt;}
.y121{bottom:247.226667pt;}
.y356{bottom:247.520000pt;}
.y394{bottom:247.980000pt;}
.y15b{bottom:248.821333pt;}
.y96{bottom:248.966667pt;}
.y2fa{bottom:249.397333pt;}
.y149{bottom:249.498667pt;}
.y12{bottom:250.181333pt;}
.y343{bottom:250.234667pt;}
.y2e9{bottom:250.894667pt;}
.y1db{bottom:251.158667pt;}
.y18e{bottom:251.504000pt;}
.y155{bottom:251.604000pt;}
.y124{bottom:251.924000pt;}
.y1b3{bottom:251.978667pt;}
.ya8{bottom:252.038667pt;}
.y1a7{bottom:252.136000pt;}
.yde{bottom:253.134667pt;}
.y3c5{bottom:253.138667pt;}
.y3a5{bottom:253.234667pt;}
.y36d{bottom:253.382667pt;}
.yee{bottom:253.484000pt;}
.y1ed{bottom:254.224000pt;}
.y311{bottom:254.792000pt;}
.y29f{bottom:255.233333pt;}
.y6e{bottom:255.456000pt;}
.y2a9{bottom:255.553333pt;}
.y64{bottom:255.558667pt;}
.y382{bottom:256.008000pt;}
.y26a{bottom:257.889333pt;}
.y22{bottom:258.474667pt;}
.y320{bottom:258.700000pt;}
.ye6{bottom:259.500000pt;}
.yd4{bottom:259.761333pt;}
.y107{bottom:260.112000pt;}
.y339{bottom:260.198667pt;}
.y197{bottom:260.241333pt;}
.y3ba{bottom:260.805333pt;}
.y34f{bottom:261.310667pt;}
.y1f6{bottom:261.845333pt;}
.y1c6{bottom:261.874667pt;}
.y184{bottom:262.150667pt;}
.y122{bottom:262.310667pt;}
.y282{bottom:262.549333pt;}
.y179{bottom:262.736000pt;}
.ycf{bottom:262.948000pt;}
.y213{bottom:263.068000pt;}
.y1e4{bottom:263.141333pt;}
.y1{bottom:263.570667pt;}
.y42{bottom:263.918667pt;}
.y120{bottom:264.030667pt;}
.y2d5{bottom:264.289333pt;}
.y248{bottom:265.638667pt;}
.y360{bottom:265.777333pt;}
.y38c{bottom:266.474667pt;}
.y275{bottom:266.617333pt;}
.y95{bottom:266.658667pt;}
.y52{bottom:266.920000pt;}
.y3c4{bottom:267.650667pt;}
.y8{bottom:267.678667pt;}
.yfd{bottom:267.720000pt;}
.y1d2{bottom:267.802667pt;}
.y16e{bottom:268.925333pt;}
.y3a4{bottom:269.705333pt;}
.y393{bottom:270.409333pt;}
.y2e8{bottom:271.670667pt;}
.y13a{bottom:271.893333pt;}
.y381{bottom:272.478667pt;}
.y1b2{bottom:272.753333pt;}
.y1a6{bottom:272.910667pt;}
.y253{bottom:273.026667pt;}
.y2b3{bottom:273.826667pt;}
.y78{bottom:275.568000pt;}
.y6d{bottom:276.232000pt;}
.y29e{bottom:277.050667pt;}
.y2a8{bottom:277.372000pt;}
.y178{bottom:279.540000pt;}
.y269{bottom:279.708000pt;}
.ya7{bottom:280.204000pt;}
.y31f{bottom:280.518667pt;}
.y11f{bottom:280.834667pt;}
.y281{bottom:280.881333pt;}
.y3c3{bottom:281.830667pt;}
.y3b9{bottom:283.236000pt;}
.y1c5{bottom:283.693333pt;}
.y7{bottom:314.865333pt;}
.ya6{bottom:320.650667pt;}
.ha{height:25.812358pt;}
.h16{height:27.629611pt;}
.h12{height:29.457490pt;}
.h1a{height:29.499997pt;}
.h9{height:31.880400pt;}
.h18{height:33.091994pt;}
.he{height:33.187635pt;}
.hf{height:33.713664pt;}
.h10{height:35.865600pt;}
.hb{height:36.768636pt;}
.hc{height:36.821770pt;}
.h6{height:39.850400pt;}
.h14{height:40.261852pt;}
.h11{height:40.378215pt;}
.h13{height:41.658217pt;}
.hd{height:43.636400pt;}
.h17{height:44.122658pt;}
.h5{height:44.250180pt;}
.h15{height:45.429760pt;}
.h7{height:47.820800pt;}
.h4{height:53.941712pt;}
.h8{height:57.384800pt;}
.h19{height:76.368600pt;}
.h3{height:77.691000pt;}
.h2{height:99.148400pt;}
.h0{height:340.157333pt;}
.h1{height:340.666667pt;}
.w0{width:604.724000pt;}
.w1{width:605.333333pt;}
.x0{left:0.000000pt;}
.x5{left:14.222667pt;}
.x3b{left:25.850667pt;}
.x35{left:33.880000pt;}
.x1{left:37.794667pt;}
.x48{left:41.026667pt;}
.xe{left:42.788000pt;}
.x3c{left:44.437333pt;}
.x6{left:45.984000pt;}
.x11{left:48.300000pt;}
.x43{left:50.348000pt;}
.x39{left:53.357333pt;}
.x15{left:56.624000pt;}
.x38{left:59.600000pt;}
.x22{left:62.901333pt;}
.x7{left:67.314667pt;}
.x4b{left:69.177333pt;}
.x12{left:70.870667pt;}
.x37{left:73.114667pt;}
.x27{left:76.905333pt;}
.x33{left:79.396000pt;}
.x23{left:81.730667pt;}
.x18{left:83.485333pt;}
.x17{left:84.929333pt;}
.x1a{left:87.082667pt;}
.x19{left:90.274667pt;}
.x4d{left:94.568000pt;}
.x14{left:119.389333pt;}
.x41{left:138.218667pt;}
.x45{left:140.613333pt;}
.x10{left:142.362667pt;}
.x24{left:144.494667pt;}
.x4c{left:153.964000pt;}
.x26{left:155.549333pt;}
.x2{left:158.249333pt;}
.xb{left:180.814667pt;}
.xd{left:183.324000pt;}
.x3d{left:186.398667pt;}
.x44{left:194.706667pt;}
.x2d{left:200.526667pt;}
.x2e{left:201.980000pt;}
.x40{left:204.108000pt;}
.x16{left:207.260000pt;}
.xa{left:211.957333pt;}
.x3{left:213.932000pt;}
.xf{left:218.193333pt;}
.x28{left:226.092000pt;}
.x29{left:228.758667pt;}
.x34{left:231.518667pt;}
.xc{left:233.860000pt;}
.x47{left:238.017333pt;}
.x25{left:251.194667pt;}
.x9{left:277.860000pt;}
.x2a{left:303.141333pt;}
.x3e{left:305.762667pt;}
.x3a{left:307.683307pt;}
.x1b{left:313.062667pt;}
.x2f{left:315.081333pt;}
.x20{left:316.662667pt;}
.x1c{left:319.090667pt;}
.x3f{left:322.308000pt;}
.x1d{left:330.252000pt;}
.x46{left:332.321333pt;}
.x42{left:337.341333pt;}
.x30{left:344.929333pt;}
.x36{left:360.564000pt;}
.x4a{left:363.573333pt;}
.x1f{left:367.864000pt;}
.x1e{left:370.936000pt;}
.x49{left:435.674667pt;}
.x31{left:443.093333pt;}
.x2b{left:446.912000pt;}
.x2c{left:450.729333pt;}
.x32{left:452.652000pt;}
.x4{left:504.940000pt;}
.x4e{left:554.578667pt;}
.x21{left:558.356000pt;}
.x13{left:560.225333pt;}
.x8{left:565.870667pt;}
}
</style>
<script>
/*
Copyright 2012 Mozilla Foundation
Copyright 2013 Lu Wang <coolwanglu@gmail.com>
Apachine License Version 2.0
*/
(function(){function b(a,b,e,f){var c=(a.className||"").split(/\s+/g);""===c[0]&&c.shift();var d=c.indexOf(b);0>d&&e&&c.push(b);0<=d&&f&&c.splice(d,1);a.className=c.join(" ");return 0<=d}if(!("classList"in document.createElement("div"))){var e={add:function(a){b(this.element,a,!0,!1)},contains:function(a){return b(this.element,a,!1,!1)},remove:function(a){b(this.element,a,!1,!0)},toggle:function(a){b(this.element,a,!0,!0)}};Object.defineProperty(HTMLElement.prototype,"classList",{get:function(){if(this._classList)return this._classList;
var a=Object.create(e,{element:{value:this,writable:!1,enumerable:!0}});Object.defineProperty(this,"_classList",{value:a,writable:!1,enumerable:!1});return a},enumerable:!0})}})();
</script>
<script>
(function(){/*
pdf2htmlEX.js: Core UI functions for pdf2htmlEX
Copyright 2012,2013 Lu Wang <coolwanglu@gmail.com> and other contributors
https://github.com/pdf2htmlEX/pdf2htmlEX/blob/master/share/LICENSE
*/
var pdf2htmlEX=window.pdf2htmlEX=window.pdf2htmlEX||{},CSS_CLASS_NAMES={page_frame:"pf",page_content_box:"pc",page_data:"pi",background_image:"bi",link:"l",input_radio:"ir",__dummy__:"no comma"},DEFAULT_CONFIG={container_id:"page-container",sidebar_id:"sidebar",outline_id:"outline",loading_indicator_cls:"loading-indicator",preload_pages:3,render_timeout:100,scale_step:0.9,key_handler:!0,hashchange_handler:!0,view_history_handler:!0,__dummy__:"no comma"},EPS=1E-6;
function invert(a){var b=a[0]*a[3]-a[1]*a[2];return[a[3]/b,-a[1]/b,-a[2]/b,a[0]/b,(a[2]*a[5]-a[3]*a[4])/b,(a[1]*a[4]-a[0]*a[5])/b]}function transform(a,b){return[a[0]*b[0]+a[2]*b[1]+a[4],a[1]*b[0]+a[3]*b[1]+a[5]]}function get_page_number(a){return parseInt(a.getAttribute("data-page-no"),16)}function disable_dragstart(a){for(var b=0,c=a.length;b<c;++b)a[b].addEventListener("dragstart",function(){return!1},!1)}
function clone_and_extend_objs(a){for(var b={},c=0,e=arguments.length;c<e;++c){var h=arguments[c],d;for(d in h)h.hasOwnProperty(d)&&(b[d]=h[d])}return b}
function Page(a){if(a){this.shown=this.loaded=!1;this.page=a;this.num=get_page_number(a);this.original_height=a.clientHeight;this.original_width=a.clientWidth;var b=a.getElementsByClassName(CSS_CLASS_NAMES.page_content_box)[0];b&&(this.content_box=b,this.original_scale=this.cur_scale=this.original_height/b.clientHeight,this.page_data=JSON.parse(a.getElementsByClassName(CSS_CLASS_NAMES.page_data)[0].getAttribute("data-data")),this.ctm=this.page_data.ctm,this.ictm=invert(this.ctm),this.loaded=!0)}}
Page.prototype={hide:function(){this.loaded&&this.shown&&(this.content_box.classList.remove("opened"),this.shown=!1)},show:function(){this.loaded&&!this.shown&&(this.content_box.classList.add("opened"),this.shown=!0)},rescale:function(a){this.cur_scale=0===a?this.original_scale:a;this.loaded&&(a=this.content_box.style,a.msTransform=a.webkitTransform=a.transform="scale("+this.cur_scale.toFixed(3)+")");a=this.page.style;a.height=this.original_height*this.cur_scale+"px";a.width=this.original_width*this.cur_scale+
"px"},view_position:function(){var a=this.page,b=a.parentNode;return[b.scrollLeft-a.offsetLeft-a.clientLeft,b.scrollTop-a.offsetTop-a.clientTop]},height:function(){return this.page.clientHeight},width:function(){return this.page.clientWidth}};function Viewer(a){this.config=clone_and_extend_objs(DEFAULT_CONFIG,0<arguments.length?a:{});this.pages_loading=[];this.init_before_loading_content();var b=this;document.addEventListener("DOMContentLoaded",function(){b.init_after_loading_content()},!1)}
Viewer.prototype={scale:1,cur_page_idx:0,first_page_idx:0,init_before_loading_content:function(){this.pre_hide_pages()},initialize_radio_button:function(){for(var a=document.getElementsByClassName(CSS_CLASS_NAMES.input_radio),b=0;b<a.length;b++)a[b].addEventListener("click",function(){this.classList.toggle("checked")})},init_after_loading_content:function(){this.sidebar=document.getElementById(this.config.sidebar_id);this.outline=document.getElementById(this.config.outline_id);this.container=document.getElementById(this.config.container_id);
this.loading_indicator=document.getElementsByClassName(this.config.loading_indicator_cls)[0];for(var a=!0,b=this.outline.childNodes,c=0,e=b.length;c<e;++c)if("ul"===b[c].nodeName.toLowerCase()){a=!1;break}a||this.sidebar.classList.add("opened");this.find_pages();if(0!=this.pages.length){disable_dragstart(document.getElementsByClassName(CSS_CLASS_NAMES.background_image));this.config.key_handler&&this.register_key_handler();var h=this;this.config.hashchange_handler&&window.addEventListener("hashchange",
function(a){h.navigate_to_dest(document.location.hash.substring(1))},!1);this.config.view_history_handler&&window.addEventListener("popstate",function(a){a.state&&h.navigate_to_dest(a.state)},!1);this.container.addEventListener("scroll",function(){h.update_page_idx();h.schedule_render(!0)},!1);[this.container,this.outline].forEach(function(a){a.addEventListener("click",h.link_handler.bind(h),!1)});this.initialize_radio_button();this.render()}},find_pages:function(){for(var a=[],b={},c=this.container.childNodes,
e=0,h=c.length;e<h;++e){var d=c[e];d.nodeType===Node.ELEMENT_NODE&&d.classList.contains(CSS_CLASS_NAMES.page_frame)&&(d=new Page(d),a.push(d),b[d.num]=a.length-1)}this.pages=a;this.page_map=b},load_page:function(a,b,c){var e=this.pages;if(!(a>=e.length||(e=e[a],e.loaded||this.pages_loading[a]))){var e=e.page,h=e.getAttribute("data-page-url");if(h){this.pages_loading[a]=!0;var d=e.getElementsByClassName(this.config.loading_indicator_cls)[0];"undefined"===typeof d&&(d=this.loading_indicator.cloneNode(!0),
d.classList.add("active"),e.appendChild(d));var f=this,g=new XMLHttpRequest;g.open("GET",h,!0);g.onload=function(){if(200===g.status||0===g.status){var b=document.createElement("div");b.innerHTML=g.responseText;for(var d=null,b=b.childNodes,e=0,h=b.length;e<h;++e){var p=b[e];if(p.nodeType===Node.ELEMENT_NODE&&p.classList.contains(CSS_CLASS_NAMES.page_frame)){d=p;break}}b=f.pages[a];f.container.replaceChild(d,b.page);b=new Page(d);f.pages[a]=b;b.hide();b.rescale(f.scale);disable_dragstart(d.getElementsByClassName(CSS_CLASS_NAMES.background_image));
f.schedule_render(!1);c&&c(b)}delete f.pages_loading[a]};g.send(null)}void 0===b&&(b=this.config.preload_pages);0<--b&&(f=this,setTimeout(function(){f.load_page(a+1,b)},0))}},pre_hide_pages:function(){var a="@media screen{."+CSS_CLASS_NAMES.page_content_box+"{display:none;}}",b=document.createElement("style");b.styleSheet?b.styleSheet.cssText=a:b.appendChild(document.createTextNode(a));document.head.appendChild(b)},render:function(){for(var a=this.container,b=a.scrollTop,c=a.clientHeight,a=b-c,b=
b+c+c,c=this.pages,e=0,h=c.length;e<h;++e){var d=c[e],f=d.page,g=f.offsetTop+f.clientTop,f=g+f.clientHeight;g<=b&&f>=a?d.loaded?d.show():this.load_page(e):d.hide()}},update_page_idx:function(){var a=this.pages,b=a.length;if(!(2>b)){for(var c=this.container,e=c.scrollTop,c=e+c.clientHeight,h=-1,d=b,f=d-h;1<f;){var g=h+Math.floor(f/2),f=a[g].page;f.offsetTop+f.clientTop+f.clientHeight>=e?d=g:h=g;f=d-h}this.first_page_idx=d;for(var g=h=this.cur_page_idx,k=0;d<b;++d){var f=a[d].page,l=f.offsetTop+f.clientTop,
f=f.clientHeight;if(l>c)break;f=(Math.min(c,l+f)-Math.max(e,l))/f;if(d===h&&Math.abs(f-1)<=EPS){g=h;break}f>k&&(k=f,g=d)}this.cur_page_idx=g}},schedule_render:function(a){if(void 0!==this.render_timer){if(!a)return;clearTimeout(this.render_timer)}var b=this;this.render_timer=setTimeout(function(){delete b.render_timer;b.render()},this.config.render_timeout)},register_key_handler:function(){var a=this;window.addEventListener("DOMMouseScroll",function(b){if(b.ctrlKey){b.preventDefault();var c=a.container,
e=c.getBoundingClientRect(),c=[b.clientX-e.left-c.clientLeft,b.clientY-e.top-c.clientTop];a.rescale(Math.pow(a.config.scale_step,b.detail),!0,c)}},!1);window.addEventListener("keydown",function(b){var c=!1,e=b.ctrlKey||b.metaKey,h=b.altKey;switch(b.keyCode){case 61:case 107:case 187:e&&(a.rescale(1/a.config.scale_step,!0),c=!0);break;case 173:case 109:case 189:e&&(a.rescale(a.config.scale_step,!0),c=!0);break;case 48:e&&(a.rescale(0,!1),c=!0);break;case 33:h?a.scroll_to(a.cur_page_idx-1):a.container.scrollTop-=
a.container.clientHeight;c=!0;break;case 34:h?a.scroll_to(a.cur_page_idx+1):a.container.scrollTop+=a.container.clientHeight;c=!0;break;case 35:a.container.scrollTop=a.container.scrollHeight;c=!0;break;case 36:a.container.scrollTop=0,c=!0}c&&b.preventDefault()},!1)},rescale:function(a,b,c){var e=this.scale;this.scale=a=0===a?1:b?e*a:a;c||(c=[0,0]);b=this.container;c[0]+=b.scrollLeft;c[1]+=b.scrollTop;for(var h=this.pages,d=h.length,f=this.first_page_idx;f<d;++f){var g=h[f].page;if(g.offsetTop+g.clientTop>=
c[1])break}g=f-1;0>g&&(g=0);var g=h[g].page,k=g.clientWidth,f=g.clientHeight,l=g.offsetLeft+g.clientLeft,m=c[0]-l;0>m?m=0:m>k&&(m=k);k=g.offsetTop+g.clientTop;c=c[1]-k;0>c?c=0:c>f&&(c=f);for(f=0;f<d;++f)h[f].rescale(a);b.scrollLeft+=m/e*a+g.offsetLeft+g.clientLeft-m-l;b.scrollTop+=c/e*a+g.offsetTop+g.clientTop-c-k;this.schedule_render(!0)},fit_width:function(){var a=this.cur_page_idx;this.rescale(this.container.clientWidth/this.pages[a].width(),!0);this.scroll_to(a)},fit_height:function(){var a=this.cur_page_idx;
this.rescale(this.container.clientHeight/this.pages[a].height(),!0);this.scroll_to(a)},get_containing_page:function(a){for(;a;){if(a.nodeType===Node.ELEMENT_NODE&&a.classList.contains(CSS_CLASS_NAMES.page_frame)){a=get_page_number(a);var b=this.page_map;return a in b?this.pages[b[a]]:null}a=a.parentNode}return null},link_handler:function(a){var b=a.target,c=b.getAttribute("data-dest-detail");if(c){if(this.config.view_history_handler)try{var e=this.get_current_view_hash();window.history.replaceState(e,
"","#"+e);window.history.pushState(c,"","#"+c)}catch(h){}this.navigate_to_dest(c,this.get_containing_page(b));a.preventDefault()}},navigate_to_dest:function(a,b){try{var c=JSON.parse(a)}catch(e){return}if(c instanceof Array){var h=c[0],d=this.page_map;if(h in d){for(var f=d[h],h=this.pages[f],d=2,g=c.length;d<g;++d){var k=c[d];if(null!==k&&"number"!==typeof k)return}for(;6>c.length;)c.push(null);var g=b||this.pages[this.cur_page_idx],d=g.view_position(),d=transform(g.ictm,[d[0],g.height()-d[1]]),
g=this.scale,l=[0,0],m=!0,k=!1,n=this.scale;switch(c[1]){case "XYZ":l=[null===c[2]?d[0]:c[2]*n,null===c[3]?d[1]:c[3]*n];g=c[4];if(null===g||0===g)g=this.scale;k=!0;break;case "Fit":case "FitB":l=[0,0];k=!0;break;case "FitH":case "FitBH":l=[0,null===c[2]?d[1]:c[2]*n];k=!0;break;case "FitV":case "FitBV":l=[null===c[2]?d[0]:c[2]*n,0];k=!0;break;case "FitR":l=[c[2]*n,c[5]*n],m=!1,k=!0}if(k){this.rescale(g,!1);var p=this,c=function(a){l=transform(a.ctm,l);m&&(l[1]=a.height()-l[1]);p.scroll_to(f,l)};h.loaded?
c(h):(this.load_page(f,void 0,c),this.scroll_to(f))}}}},scroll_to:function(a,b){var c=this.pages;if(!(0>a||a>=c.length)){c=c[a].view_position();void 0===b&&(b=[0,0]);var e=this.container;e.scrollLeft+=b[0]-c[0];e.scrollTop+=b[1]-c[1]}},get_current_view_hash:function(){var a=[],b=this.pages[this.cur_page_idx];a.push(b.num);a.push("XYZ");var c=b.view_position(),c=transform(b.ictm,[c[0],b.height()-c[1]]);a.push(c[0]/this.scale);a.push(c[1]/this.scale);a.push(this.scale);return JSON.stringify(a)}};
pdf2htmlEX.Viewer=Viewer;})();
</script>
<script>
try{
pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer({});
}catch(e){}
</script>
<title></title>
</head>
<body>
<div id="sidebar">
<div id="outline">
<ul><li><a class="l" href="#pf9" data-dest-detail='[9,"XYZ",28.346,255.118,null]'>Pointers</a><ul><li><a class="l" href="#pfa" data-dest-detail='[10,"XYZ",28.346,225.334,null]'>Pointer Operations</a></li><li><a class="l" href="#pfd" data-dest-detail='[13,"XYZ",28.346,187.714,null]'>Address-of operator &amp;</a></li><li><a class="l" href="#pfe" data-dest-detail='[14,"XYZ",28.346,215.694,null]'>struct Member Access</a></li><li><a class="l" href="#pff" data-dest-detail='[15,"XYZ",28.346,228.21,null]'>void Pointer</a></li><li><a class="l" href="#pf10" data-dest-detail='[16,"XYZ",28.346,228.21,null]'>Pointer Conversion</a></li><li><a class="l" href="#pf11" data-dest-detail='[17,"XYZ",28.346,228.21,null]'>Pointer Arithmetic</a></li><li><a class="l" href="#pf14" data-dest-detail='[20,"XYZ",28.346,195.321,null]'>Wild and Dangling Pointers</a></li></ul></li><li><a class="l" href="#pf15" data-dest-detail='[21,"XYZ",28.346,255.118,null]'>Fixed-Size Arrays</a></li><li><a class="l" href="#pf1a" data-dest-detail='[26,"XYZ",28.346,255.118,null]'>References</a></li><li><a class="l" href="#pf21" data-dest-detail='[33,"XYZ",28.346,255.118,null]'>Heap and Stack</a><ul><li><a class="l" href="#pf25" data-dest-detail='[37,"XYZ",28.346,228.21,null]'>Stack Memory</a></li><li><a class="l" href="#pf28" data-dest-detail='[40,"XYZ",28.346,183.018,null]'>new, delete</a></li><li><a class="l" href="#pf2f" data-dest-detail='[47,"XYZ",28.346,225.719,null]'>Non-Allocating Placement Allocation </a></li><li><a class="l" href="#pf31" data-dest-detail='[49,"XYZ",28.346,228.21,null]'>Non-Throwing Allocation </a></li><li><a class="l" href="#pf32" data-dest-detail='[50,"XYZ",28.346,228.21,null]'>Memory Leak</a></li></ul></li><li><a class="l" href="#pf34" data-dest-detail='[52,"XYZ",28.346,255.118,null]'>Initialization</a><ul><li><a class="l" href="#pf35" data-dest-detail='[53,"XYZ",28.346,228.21,null]'>Variable Initialization</a></li><li><a class="l" href="#pf36" data-dest-detail='[54,"XYZ",28.346,218.392,null]'>Uniform Initialization</a></li><li><a class="l" href="#pf38" data-dest-detail='[56,"XYZ",28.346,217.42,null]'>Array Initialization</a></li><li><a class="l" href="#pf3a" data-dest-detail='[58,"XYZ",28.346,228.21,null]'>Structure Initialization</a></li><li><a class="l" href="#pf3f" data-dest-detail='[63,"XYZ",28.346,228.21,null]'>Structure Binding</a></li><li><a class="l" href="#pf40" data-dest-detail='[64,"XYZ",28.346,220.265,null]'>Dynamic Memory Initialization</a></li></ul></li><li><a class="l" href="#pf42" data-dest-detail='[66,"XYZ",28.346,255.118,null]'>const and Constant Expressions</a><ul><li><a class="l" href="#pf43" data-dest-detail='[67,"XYZ",28.346,228.21,null]'>Constants and Literals</a></li><li><a class="l" href="#pf44" data-dest-detail='[68,"XYZ",28.346,228.21,null]'>const</a></li><li><a class="l" href="#pf48" data-dest-detail='[72,"XYZ",28.346,185.591,null]'>constexpr</a></li><li><a class="l" href="#pf49" data-dest-detail='[73,"XYZ",28.346,228.21,null]'>constexpr Variables</a></li><li><a class="l" href="#pf4a" data-dest-detail='[74,"XYZ",28.346,228.21,null]'>constexpr Functions</a></li><li><a class="l" href="#pf4e" data-dest-detail='[78,"XYZ",28.346,228.21,null]'>constexpr Objects </a></li><li><a class="l" href="#pf50" data-dest-detail='[80,"XYZ",28.346,225.612,null]'>consteval</a></li><li><a class="l" href="#pf51" data-dest-detail='[81,"XYZ",28.346,228.21,null]'>constinit</a></li></ul></li><li><a class="l" href="#pf52" data-dest-detail='[82,"XYZ",28.346,255.118,null]'>Conditional Constant Expressions</a><ul><li><a class="l" href="#pf53" data-dest-detail='[83,"XYZ",28.346,224.789,null]'>if constexpr</a></li><li><a class="l" href="#pf56" data-dest-detail='[86,"XYZ",28.346,228.21,null]'>std::is_constant_evaluated()</a></li><li><a class="l" href="#pf57" data-dest-detail='[87,"XYZ",28.346,228.21,null]'>if consteval</a></li></ul></li><li><a class="l" href="#pf59" data-dest-detail='[89,"XYZ",28.346,255.118,null]'>volatile Keyword </a></li><li><a class="l" href="#pf5d" data-dest-detail='[93,"XYZ",28.346,255.118,null]'>Explicit Type Conversion</a><ul><li><a class="l" href="#pf5e" data-dest-detail='[94,"XYZ",28.346,197.579,null]'>static_cast</a></li><li><a class="l" href="#pf61" data-dest-detail='[97,"XYZ",28.346,217.019,null]'>const_cast</a></li><li><a class="l" href="#pf62" data-dest-detail='[98,"XYZ",28.346,228.21,null]'>reinterpret_cast</a></li><li><a class="l" href="#pf63" data-dest-detail='[99,"XYZ",28.346,216.766,null]'>Type Punning</a></li><li><a class="l" href="#pf65" data-dest-detail='[101,"XYZ",28.346,228.21,null]'>std::bit_cast</a></li><li><a class="l" href="#pf66" data-dest-detail='[102,"XYZ",28.346,228.21,null]'>Uniform Initialization Conversion</a></li><li><a class="l" href="#pf68" data-dest-detail='[104,"XYZ",28.346,220.892,null]'>gls::narrow_cast </a></li></ul></li><li><a class="l" href="#pf69" data-dest-detail='[105,"XYZ",28.346,255.118,null]'>sizeof and alignof Operators</a><ul><li><a class="l" href="#pf6a" data-dest-detail='[106,"XYZ",28.346,228.21,null]'>sizeof</a></li><li><a class="l" href="#pf6f" data-dest-detail='[111,"XYZ",28.346,228.21,null]'>alignof</a></li><li><a class="l" href="#pf71" data-dest-detail='[113,"XYZ",28.346,228.21,null]'>sizeof/alignof operator applied to struct</a></li><li><a class="l" href="#pf72" data-dest-detail='[114,"XYZ",28.346,228.21,null]'>[[no_unique_address]] </a></li></ul></li></ul></div>
</div>
<div id="page-container">
<div id="pf1" class="pf w0 h0" data-page-no="1"><div class="pc pc1 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x1 h2 y1 ff1 fs0 fc0 sc0 ls0 ws0">Mo<span class="_ _0"></span>dern<span class="_ _1"> </span>C++</div><div class="t m0 x1 h2 y2 ff1 fs0 fc0 sc0 ls0 ws0">Programming</div><div class="t m0 x2 h3 y3 ff2 fs1 fc0 sc0 ls0 ws0">7.<span class="_ _2"> </span>Basic<span class="_ _3"> </span>Concepts<span class="_ _3"> </span>V</div><div class="t m0 x3 h4 y4 ff2 fs2 fc0 sc0 ls0 ws0">Memor<span class="_ _4"></span>y<span class="_ _5"> </span>Concepts</div><div class="t m0 x1 h5 y5 ff3 fs3 fc0 sc0 ls0 ws0">F<span class="_ _6"></span>ederico<span class="_ _7"> </span>Busato</div><div class="t m0 x4 h6 y6 ff4 fs4 fc0 sc0 ls0 ws0">2026-01-06</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf2" class="pf w0 h0" data-page-no="2"><div class="pc pc2 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _4"></span>able<span class="_ _8"> </span>of<span class="_ _8"> </span>Contents</div><div class="t m0 x6 h8 y8 ff1 fs4 fc2 sc0 ls0 ws0">1<span class="_ _9"> </span><span class="fs2 fc0">P<span class="_ _6"></span>ointers</span></div><div class="t m0 x7 h6 y9 ff4 fs4 fc0 sc0 ls0 ws0">P<span class="_ _6"></span>ointer<span class="_ _a"> </span>Op<span class="_ _b"></span>erations</div><div class="t m0 x7 h6 ya ff4 fs4 fc0 sc0 ls0 ws0">A<span class="_ _6"></span>ddress-of<span class="_ _a"> </span>op<span class="_ _b"></span>erato<span class="_ _6"></span>r<span class="_ _a"> </span><span class="ff5">&amp;</span></div><div class="t m0 x7 h6 yb ff6 fs4 fc0 sc0 ls0 ws0">struct<span class="_ _a"> </span><span class="ff4">Member<span class="_ _a"> </span>Access</span></div><div class="t m0 x7 h6 yc ff6 fs4 fc0 sc0 ls0 ws0">void<span class="_ _a"> </span><span class="ff4">P<span class="_ _6"></span>ointer</span></div><div class="t m0 x7 h6 yd ff4 fs4 fc0 sc0 ls0 ws0">P<span class="_ _6"></span>ointer<span class="_ _a"> </span>Conversion</div><div class="t m0 x7 h6 ye ff4 fs4 fc0 sc0 ls0 ws0">P<span class="_ _6"></span>ointer<span class="_ _a"> </span>Arithmetic</div><div class="t m0 x7 h6 yf ff4 fs4 fc0 sc0 ls0 ws0">Wild<span class="_ _a"> </span>and<span class="_ _a"> </span>Dangling<span class="_ _a"> </span>P<span class="_ _6"></span>ointers</div><div class="t m0 x6 h8 y10 ff1 fs4 fc2 sc0 ls0 ws0">2<span class="_ _9"> </span><span class="fs2 fc0">Fixed-Size<span class="_ _5"> </span>Arra<span class="_ _c"></span>ys</span></div><div class="t m0 x8 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">1/104</div><a class="l" href="#pf9" data-dest-detail='[9,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:47.076000px;bottom:197.937000px;width:55.763000px;height:13.781000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pfa" data-dest-detail='[10,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:178.623000px;width:80.642000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pfd" data-dest-detail='[13,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:159.420000px;width:92.202000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pfe" data-dest-detail='[14,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:142.154000px;width:101.619000px;height:8.911000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pff" data-dest-detail='[15,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:122.951000px;width:56.261000px;height:8.912000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf10" data-dest-detail='[16,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:103.749000px;width:80.587000px;height:8.911000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf11" data-dest-detail='[17,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:84.546000px;width:79.259000px;height:8.911000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf14" data-dest-detail='[20,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:63.406000px;width:117.199000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf15" data-dest-detail='[21,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:47.076000px;bottom:32.334000px;width:115.617000px;height:14.744000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf3" class="pf w0 h0" data-page-no="3"><div class="pc pc3 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _4"></span>able<span class="_ _8"> </span>of<span class="_ _8"> </span>Contents</div><div class="t m0 x6 h8 y12 ff1 fs4 fc2 sc0 ls0 ws0">3<span class="_ _9"> </span><span class="fs2 fc0">References</span></div><div class="t m0 x6 h8 y13 ff1 fs4 fc2 sc0 ls0 ws0">4<span class="_ _9"> </span><span class="fs2 fc0">Heap<span class="_ _5"> </span>and<span class="_ _d"> </span>Stack</span></div><div class="t m0 x7 h6 y14 ff4 fs4 fc0 sc0 ls0 ws0">Stack<span class="_ _a"> </span>Memo<span class="_ _6"></span>ry</div><div class="t m0 x7 h6 y15 ff5 fs4 fc0 sc0 ls0 ws0">new<span class="ff4">,<span class="_ _a"> </span></span>delete</div><div class="t m0 x7 h6 y16 ff4 fs4 fc0 sc0 ls0 ws0">Non-Allo<span class="_ _b"></span>cating<span class="_ _a"> </span>Placement<span class="_ _a"> </span>Allocation</div><div class="t m0 x9 ha y17 ff8 fs6 fc0 sc0 ls0 ws0">⋆</div><div class="t m0 x7 h6 y18 ff4 fs4 fc0 sc0 ls0 ws0">Non-Thro<span class="_ _6"></span>wing<span class="_ _a"> </span>Allo<span class="_ _b"></span>cation</div><div class="t m0 xa ha y19 ff8 fs6 fc0 sc0 ls0 ws0">⋆</div><div class="t m0 x7 h6 y1a ff4 fs4 fc0 sc0 ls0 ws0">Memo<span class="_ _6"></span>ry<span class="_ _a"> </span>Leak</div><div class="t m0 x8 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">2/104</div><a class="l" href="#pf1a" data-dest-detail='[26,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:47.076000px;bottom:184.814000px;width:72.679000px;height:13.781000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf21" data-dest-detail='[33,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:47.076000px;bottom:140.619000px;width:107.177000px;height:14.745000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf25" data-dest-detail='[37,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:122.268000px;width:62.294000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf28" data-dest-detail='[40,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:103.757000px;width:55.154000px;height:9.211000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf2f" data-dest-detail='[47,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:83.862000px;width:167.249000px;height:12.350000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf31" data-dest-detail='[49,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:64.659000px;width:117.822000px;height:12.350000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf32" data-dest-detail='[50,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:45.457000px;width:58.558000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf4" class="pf w0 h0" data-page-no="4"><div class="pc pc4 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _4"></span>able<span class="_ _8"> </span>of<span class="_ _8"> </span>Contents</div><div class="t m0 x6 h8 y1b ff1 fs4 fc2 sc0 ls0 ws0">5<span class="_ _9"> </span><span class="fs2 fc0">Initialization</span></div><div class="t m0 x7 h6 y1c ff4 fs4 fc0 sc0 ls0 ws0">V<span class="_ _6"></span>ariable<span class="_ _e"> </span>Initialization</div><div class="t m0 x7 h6 y1d ff4 fs4 fc0 sc0 ls0 ws0">Unifo<span class="_ _6"></span>rm<span class="_ _a"> </span>Initialization</div><div class="t m0 x7 h6 y1e ff4 fs4 fc0 sc0 ls0 ws0">Arra<span class="_ _6"></span>y<span class="_ _a"> </span>Initialization</div><div class="t m0 x7 h6 y1f ff4 fs4 fc0 sc0 ls0 ws0">Structure<span class="_ _e"> </span>Initialization</div><div class="t m0 x7 h6 y20 ff4 fs4 fc0 sc0 ls0 ws0">Structure<span class="_ _e"> </span>Binding</div><div class="t m0 x7 h6 y21 ff4 fs4 fc0 sc0 ls0 ws0">Dynamic<span class="_ _e"> </span>Memory<span class="_ _e"> </span>Initialization</div><div class="t m0 x8 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">3/104</div><a class="l" href="#pf34" data-dest-detail='[52,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:47.076000px;bottom:172.799000px;width:82.550000px;height:13.782000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf35" data-dest-detail='[53,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:155.423000px;width:89.761000px;height:8.911000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf36" data-dest-detail='[54,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:136.220000px;width:89.802000px;height:8.911000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf38" data-dest-detail='[56,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:115.080000px;width:78.912000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf3a" data-dest-detail='[58,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:97.814000px;width:95.046000px;height:8.911000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf3f" data-dest-detail='[63,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:76.674000px;width:75.827000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf40" data-dest-detail='[64,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:57.471000px;width:129.887000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf5" class="pf w0 h0" data-page-no="5"><div class="pc pc5 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _4"></span>able<span class="_ _8"> </span>of<span class="_ _8"> </span>Contents</div><div class="t m0 x6 h8 y22 ff1 fs4 fc2 sc0 ls0 ws0">6<span class="_ _9"> </span><span class="ff5 fs2 fc0">const<span class="_ _d"> </span><span class="ff1">and<span class="_ _5"> </span>Constant<span class="_ _d"> </span>Exp<span class="_ _6"></span>ressions</span></span></div><div class="t m0 x7 h6 y23 ff4 fs4 fc0 sc0 ls0 ws0">Constants<span class="_ _e"> </span>and<span class="_ _a"> </span>Literals</div><div class="t m0 x7 hb y24 ff5 fs4 fc0 sc0 ls0 ws0">const</div><div class="t m0 x7 hb y25 ff5 fs4 fc0 sc0 ls0 ws0">constexpr</div><div class="t m0 x7 h6 y26 ff5 fs4 fc0 sc0 ls0 ws0">constexpr<span class="_ _e"> </span><span class="ff4">Va<span class="_ _6"></span>riables</span></div><div class="t m0 x7 h6 y27 ff5 fs4 fc0 sc0 ls0 ws0">constexpr<span class="_ _e"> </span><span class="ff4">Functions</span></div><div class="t m0 x7 h6 y28 ff5 fs4 fc0 sc0 ls0 ws0">constexpr<span class="_ _e"> </span><span class="ff4">Objects</span></div><div class="t m0 xb ha y29 ff8 fs6 fc0 sc0 ls0 ws0">⋆</div><div class="t m0 x7 hb y2a ff5 fs4 fc0 sc0 ls0 ws0">consteval</div><div class="t m0 x7 hb y2b ff5 fs4 fc0 sc0 ls0 ws0">constinit</div><div class="t m0 x8 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">4/104</div><a class="l" href="#pf42" data-dest-detail='[66,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:47.076000px;bottom:190.071000px;width:212.730000px;height:14.744000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf43" data-dest-detail='[67,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:173.657000px;width:95.170000px;height:8.911000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf44" data-dest-detail='[68,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:154.454000px;width:28.144000px;height:7.607000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf48" data-dest-detail='[72,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:133.094000px;width:49.066000px;height:9.764000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf49" data-dest-detail='[73,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:113.891000px;width:89.608000px;height:11.068000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf4a" data-dest-detail='[74,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:94.688000px;width:92.431000px;height:11.069000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf4e" data-dest-detail='[78,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:75.485000px;width:94.465000px;height:12.570000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf50" data-dest-detail='[80,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:58.440000px;width:49.066000px;height:7.965000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf51" data-dest-detail='[81,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:39.237000px;width:49.066000px;height:7.965000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf6" class="pf w0 h0" data-page-no="6"><div class="pc pc6 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAI1ElEQVR42u3YMUrEUBCA4X2SwdIziFVOICIpUgjezEt4lxSx8AZpvIHVlk6zFoKVWywrZMJ+X/sI7Jt9xc+0u/vHHQAAlPHx/nZlCgAAVCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAD41TLTFAAAqCMibFIBAChHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAIC/dVu/QD+M53y+zJNHAABQjU0qAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAABsTMtMUwAAoI6IsEkFAKAckQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAA1tVd7M37YTx2tMyTlwEAsCKbVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAKytZaYpAABQR0TYpAIAUI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAA29Zd7M37YTx2tMyTlwEAsCKbVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAKytZaYpAABQR0TYpAIAUI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABO0l3szfthPHa0zJOXAQCwIptUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAArK1lpikAAFBHRNikAgBQjkgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAAD+Rbf1C/TDeM7nyzx5BAAA1dikAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAgPO0zDQFAADqiAibVAAAyhGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABO1+1fblf/EZ9Pr/4JAAB+9A/Prd1cH/Zfu93hcDAQAABK+AZezzH6hGegQgAAAABJRU5ErkJggg=="/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _4"></span>able<span class="_ _8"> </span>of<span class="_ _8"> </span>Contents</div><div class="t m0 x6 h8 y2c ff1 fs4 fc2 sc0 ls0 ws0">7<span class="_ _9"> </span><span class="fs2 fc0">Conditional<span class="_ _d"> </span>Constant<span class="_ _5"> </span>Exp<span class="_ _c"></span>ressions</span></div><div class="t m0 x7 hb y2d ff5 fs4 fc0 sc0 ls0 ws0">if<span class="_"> </span>constexpr</div><div class="t m0 x7 hb y2e ff5 fs4 fc0 sc0 ls0 ws0">std::is_constant_evaluated()</div><div class="t m0 x7 hb y2f ff5 fs4 fc0 sc0 ls0 ws0">if<span class="_"> </span>consteval</div><div class="t m0 x6 h8 y30 ff1 fs4 fc2 sc0 ls0 ws0">8<span class="_ _9"> </span><span class="ff5 fs2 fc0">volatile<span class="_ _d"> </span><span class="ff1">Keyw<span class="_ _6"></span>o<span class="_ _c"></span>rd</span></span></div><div class="t m0 xc hc y31 ff9 fs4 fc0 sc0 ls0 ws0">⋆</div><div class="t m0 x8 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">5/104</div><a class="l" href="#pf52" data-dest-detail='[82,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:47.076000px;bottom:171.437000px;width:220.520000px;height:14.745000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf53" data-dest-detail='[83,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:152.867000px;width:64.757000px;height:10.123000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf56" data-dest-detail='[86,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:134.237000px;width:148.443000px;height:10.397000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf57" data-dest-detail='[87,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:116.618000px;width:64.757000px;height:7.966000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf59" data-dest-detail='[89,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:47.076000px;bottom:57.870000px;width:139.222000px;height:16.885000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf7" class="pf w0 h0" data-page-no="7"><div class="pc pc7 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _4"></span>able<span class="_ _8"> </span>of<span class="_ _8"> </span>Contents</div><div class="t m0 x6 h8 y32 ff1 fs4 fc2 sc0 ls0 ws0">9<span class="_ _9"> </span><span class="fs2 fc0">Explicit<span class="_ _d"> </span>T<span class="_ _4"></span>yp<span class="_ _b"></span>e<span class="_ _d"> </span>Conversion</span></div><div class="t m0 x7 hb y33 ff5 fs4 fc0 sc0 ls0 ws0">static_cast</div><div class="t m0 x7 hb y34 ff5 fs4 fc0 sc0 ls0 ws0">const_cast</div><div class="t m0 x7 hb y35 ff5 fs4 fc0 sc0 ls0 ws0">reinterpret_cast</div><div class="t m0 x7 h6 y36 ff4 fs4 fc0 sc0 ls0 ws0">T<span class="_ _4"></span>yp<span class="_ _b"></span>e<span class="_ _a"> </span>Punning</div><div class="t m0 x7 hb y37 ff5 fs4 fc0 sc0 ls0 ws0">std::bit_cast</div><div class="t m0 x7 h6 y38 ff4 fs4 fc0 sc0 ls0 ws0">Unifo<span class="_ _6"></span>rm<span class="_ _a"> </span>Initialization<span class="_ _e"> </span>Conversion</div><div class="t m0 x7 hb y39 ff5 fs4 fc0 sc0 ls0 ws0">gls::narrow_cast</div><div class="t m0 xd ha y3a ff8 fs6 fc0 sc0 ls0 ws0">⋆</div><div class="t m0 x8 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">6/104</div><a class="l" href="#pf5d" data-dest-detail='[93,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:47.076000px;bottom:181.548000px;width:164.474000px;height:14.745000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf5e" data-dest-detail='[94,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:163.550000px;width:59.526000px;height:9.550000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf61" data-dest-detail='[97,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:144.347000px;width:54.296000px;height:9.191000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf62" data-dest-detail='[98,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:124.571000px;width:85.678000px;height:10.123000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf63" data-dest-detail='[99,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:105.588000px;width:60.025000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf65" data-dest-detail='[101,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:86.739000px;width:69.987000px;height:9.549000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf66" data-dest-detail='[102,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:69.120000px;width:138.370000px;height:8.911000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf68" data-dest-detail='[104,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:47.759000px;width:96.346000px;height:12.570000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf8" class="pf w0 h0" data-page-no="8"><div class="pc pc8 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _4"></span>able<span class="_ _8"> </span>of<span class="_ _8"> </span>Contents</div><div class="t m0 xe h8 y3b ff1 fs4 fc2 sc0 ls0 ws0">10<span class="_ _d"> </span><span class="ff5 fs2 fc0">sizeof<span class="_ _d"> </span><span class="ff1">and<span class="_ _5"> </span></span>alignof<span class="_ _d"> </span><span class="ff1">Op<span class="_ _0"></span>erato<span class="_ _c"></span>rs</span></span></div><div class="t m0 x7 hb y3c ff5 fs4 fc0 sc0 ls0 ws0">sizeof</div><div class="t m0 x7 hb y3d ff5 fs4 fc0 sc0 ls0 ws0">alignof</div><div class="t m0 x7 h6 y3e ff5 fs4 fc0 sc0 ls0 ws0">sizeof/alignof<span class="_ _e"> </span><span class="ff4">op<span class="_ _b"></span>erator<span class="_ _e"> </span>applied<span class="_ _a"> </span>to<span class="_ _a"> </span></span>struct</div><div class="t m0 x7 hb y3f ff5 fs4 fc0 sc0 ls0 ws0">[[no_unique_address]]</div><div class="t m0 xf ha y40 ff8 fs6 fc0 sc0 ls0 ws0">⋆</div><div class="t m0 x8 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">7/104</div><a class="l" href="#pf69" data-dest-detail='[105,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:47.076000px;bottom:152.426000px;width:204.046000px;height:15.062000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf6a" data-dest-detail='[106,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:136.330000px;width:33.374000px;height:7.966000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf6f" data-dest-detail='[111,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:114.970000px;width:38.605000px;height:10.123000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf71" data-dest-detail='[113,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:95.767000px;width:192.610000px;height:11.068000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf72" data-dest-detail='[114,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:76.564000px;width:122.498000px;height:12.569000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf9" class="pf w0 h0" data-page-no="9"><div class="pc pc9 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x10 h2 y41 ff1 fs0 fc0 sc0 ls0 ws0">P<span class="_ _4"></span>ointers</div><a class="l" href="#pf9" data-dest-detail='[9,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:137.252000px;width:94.896000px;height:19.206000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pfa" class="pf w0 h0" data-page-no="a"><div class="pc pca w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">P<span class="_ _c"></span>ointers<span class="_ _f"> </span>and<span class="_ _8"> </span>Pointer<span class="_ _8"> </span>Op<span class="_ _b"></span>erations<span class="_ _10"> </span>1/3</div><div class="t m0 xe hd y42 ff1 fs7 fc1 sc0 ls0 ws0">P<span class="_ _6"></span>ointer</div><div class="t m0 xe hd y43 ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _11"> </span><span class="ff1">p<span class="_ _b"></span>ointer<span class="_ _11"> </span><span class="ff6 fc3">T*<span class="_ _11"> </span></span></span>is<span class="_ _11"> </span>a<span class="_ _11"> </span>value<span class="_ _11"> </span>referring<span class="_ _11"> </span>to<span class="_ _11"> </span>a<span class="_ _11"> </span>lo<span class="_ _b"></span>cation<span class="_ _11"> </span>in<span class="_ _11"> </span>memory</div><div class="t m0 xe hd y44 ff1 fs7 fc1 sc0 ls0 ws0">P<span class="_ _6"></span>ointer<span class="_ _7"> </span>Dereferencing</div><div class="t m0 xe hd y45 ff4 fs7 fc0 sc0 ls0 ws0">P<span class="_ _6"></span>ointer<span class="_ _11"> </span><span class="ff1">dereferencing<span class="_ _7"> </span></span>(<span class="ff6">*ptr</span>)<span class="_ _11"> </span>means<span class="_ _11"> </span>obtaining<span class="_ _11"> </span>the<span class="_ _11"> </span>value<span class="_ _11"> </span>stor<span class="_ _6"></span>ed<span class="_ _11"> </span>in<span class="_ _11"> </span>at<span class="_ _11"> </span>the<span class="_ _11"> </span>lo<span class="_ _b"></span>cation</div><div class="t m0 xe hd y46 ff4 fs7 fc0 sc0 ls0 ws0">referred<span class="_ _11"> </span>to<span class="_ _11"> </span>the<span class="_ _11"> </span>p<span class="_ _b"></span>ointer</div><div class="t m0 xe hd y47 ff1 fs7 fc1 sc0 ls0 ws0">Subscript<span class="_ _7"> </span>Op<span class="_ _b"></span>erator<span class="_ _11"> </span>[]</div><div class="t m0 xe hd y48 ff4 fs7 fc0 sc0 ls0 ws0">The<span class="_ _11"> </span>subscript<span class="_ _11"> </span>op<span class="_ _b"></span>erato<span class="_ _6"></span>r<span class="_ _11"> </span>(<span class="ff6">ptr[]</span>)<span class="_ _11"> </span>allo<span class="_ _6"></span>ws<span class="_ _11"> </span>accessing<span class="_ _11"> </span>to<span class="_ _11"> </span>the<span class="_ _11"> </span>p<span class="_ _b"></span>ointer<span class="_ _11"> </span>element<span class="_ _11"> </span>at<span class="_ _11"> </span>a<span class="_ _11"> </span>given</div><div class="t m0 xe hd y49 ff4 fs7 fc0 sc0 ls0 ws0">p<span class="_ _b"></span>osition</div><div class="t m0 x8 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">8/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pfb" class="pf w0 h0" data-page-no="b"><div class="pc pcb w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">P<span class="_ _c"></span>ointers<span class="_ _f"> </span>and<span class="_ _8"> </span>Pointer<span class="_ _8"> </span>Op<span class="_ _b"></span>erations<span class="_ _10"> </span>2/3</div><div class="t m0 x1 hd y4a ff4 fs7 fc0 sc0 ls0 ws0">The<span class="_ _11"> </span><span class="ff1">t<span class="_ _6"></span>yp<span class="_ _b"></span>e<span class="_ _7"> </span>of<span class="_ _8"> </span>a<span class="_ _7"> </span>p<span class="_ _b"></span>ointer<span class="_ _11"> </span><span class="ff4">(e.g.<span class="_ _3"> </span><span class="ff6">void*<span class="_ _e"> </span></span>)<span class="_ _11"> </span>is<span class="_ _11"> </span>an<span class="_ _11"> </span><span class="ffa">unsigned<span class="_ _f"> </span></span>integer<span class="_ _11"> </span>of<span class="_ _11"> </span>32-bit/64-bit</span></span></div><div class="t m0 x1 hd y4b ff4 fs7 fc0 sc0 ls0 ws0">dep<span class="_ _b"></span>ending<span class="_ _11"> </span>on<span class="_ _11"> </span>the<span class="_ _11"> </span>underlying<span class="_ _11"> </span>a<span class="_ _6"></span>rchitecture</div><div class="t m0 x11 hd y4c ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">It<span class="_ _11"> </span>only<span class="_ _11"> </span>supp<span class="_ _b"></span>orts<span class="_ _a"> </span>the<span class="_ _11"> </span>op<span class="_ _b"></span>erators<span class="_ _12"> </span><span class="ff5">+,<span class="_"> </span>-,<span class="_"> </span>++,<span class="_"> </span><span class="_ _e"> </span></span>,<span class="_ _a"> </span>comparisons</span></div><div class="t m0 x12 hd y4d ff5 fs7 fc0 sc0 ls0 ws0">==,<span class="_"> </span>!=,<span class="_"> </span>&lt;,<span class="_"> </span>&lt;=,<span class="_"> </span>&gt;,<span class="_"> </span>&gt;=<span class="_ _e"> </span><span class="ff4">,<span class="_ _a"> </span>subscript<span class="_ _13"> </span></span>[]<span class="_ _e"> </span><span class="ff4">,<span class="_ _a"> </span>and<span class="_ _11"> </span>dereferencing<span class="_ _13"> </span></span>*</div><div class="t m0 x11 hd y4e ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">A<span class="_ _11"> </span>p<span class="_ _b"></span>ointer<span class="_ _11"> </span>can<span class="_ _11"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span><span class="ffa">explicitly<span class="_ _d"> </span></span>converted<span class="_ _a"> </span>to<span class="_ _11"> </span>an<span class="_ _11"> </span>integer<span class="_ _11"> </span>type</span></div><div class="t m0 x7 he y4f ff5 fs8 fc4 sc0 ls0 ws0">void<span class="ffc fc5">*<span class="_ _14"> </span><span class="fc0">x;</span></span></div><div class="t m0 x7 he y50 ff5 fs8 fc4 sc0 ls0 ws0">size_t<span class="_"> </span><span class="ffc fc0">y<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>(</span>size_t<span class="ffc fc0">)<span class="_ _d"> </span>x;<span class="_ _8"> </span><span class="ffd fc6">//<span class="_ _d"> </span>ok<span class="_ _f"> </span>(explicit<span class="_ _f"> </span>conversion)</span></span></div><div class="t m0 x7 hf y51 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>size_t<span class="_ _f"> </span>y<span class="_ _d"> </span>=<span class="_ _8"> </span>x;<span class="_ _15"> </span>//<span class="_ _f"> </span><span class="ffe">compile<span class="_ _e"> </span>error<span class="_ _f"> </span></span>(implicit<span class="_ _f"> </span>conversion)</div><div class="t m0 x8 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">9/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pfc" class="pf w0 h0" data-page-no="c"><div class="pc pcc w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">P<span class="_ _c"></span>ointers<span class="_ _f"> </span>and<span class="_ _8"> </span>Pointer<span class="_ _8"> </span>Op<span class="_ _b"></span>erations<span class="_ _10"> </span>3/3</div><div class="t m0 x1 hd y52 ff4 fs7 fc0 sc0 ls0 ws0">Dereferencing:</div><div class="t m0 x1 he y53 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">ptr1<span class="_ _f"> </span></span>=<span class="_ _d"> </span><span class="fc0">...;</span></span></div><div class="t m0 x1 he y54 ffc fs8 fc5 sc0 ls0 ws0">*<span class="fc0">ptr1<span class="_ _16"> </span></span>=<span class="_ _f"> </span>4<span class="fc0">;<span class="_ _16"> </span><span class="ffd fc6">//<span class="_ _f"> </span>dereferencing<span class="_ _d"> </span>(assignment)</span></span></div><div class="t m0 x1 he y55 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">a<span class="_ _16"> </span><span class="fc5">=<span class="_ _f"> </span>*</span>ptr1;<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _d"> </span>dereferencing<span class="_ _8"> </span>(get<span class="_ _d"> </span>value)</span></span></div><div class="t m0 x1 hd y56 ff4 fs7 fc0 sc0 ls0 ws0">Arra<span class="_ _6"></span>y<span class="_ _11"> </span>subscript:</div><div class="t m0 x1 he y57 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">ptr2<span class="_ _f"> </span></span>=<span class="_ _d"> </span><span class="fc0">...;</span></span></div><div class="t m0 x1 he y58 ffc fs8 fc0 sc0 ls0 ws0">ptr2[<span class="fc5">2</span>]<span class="_ _17"> </span><span class="fc5">=<span class="_ _f"> </span>3</span>;</div><div class="t m0 x1 he y59 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">var<span class="_ _17"> </span><span class="fc5">=<span class="_ _f"> </span></span>ptr2[<span class="fc5">4</span>];</span></div><div class="t m0 x1 hd y5a ff4 fs7 fc0 sc0 ls0 ws0">Common<span class="_ _11"> </span>erro<span class="_ _6"></span>r:</div><div class="t m0 x1 he y5b ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc5">*<span class="fc0">ptr1,<span class="_ _f"> </span>ptr2;<span class="_ _14"> </span><span class="ffd fc6">//<span class="_ _f"> </span>one<span class="_ _d"> </span>pointer<span class="_ _8"> </span>and<span class="_ _d"> </span>one<span class="_ _f"> </span>integer!!</span></span></span></div><div class="t m0 x1 he y5c ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc5">*<span class="fc0">ptr1,<span class="_ _f"> </span></span>*<span class="fc0">ptr2;<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _d"> </span>ok,<span class="_ _8"> </span>two<span class="_ _d"> </span>pointers</span></span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">10/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pfd" class="pf w0 h0" data-page-no="d"><div class="pc pcd w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">A<span class="_ _c"></span>ddress-of<span class="_ _f"> </span>op<span class="_ _b"></span>erato<span class="_ _6"></span>r<span class="_ _f"> </span><span class="ff5">&amp;</span></div><div class="t m0 x1 hd y5d ff4 fs7 fc0 sc0 ls0 ws0">The<span class="_ _11"> </span><span class="ff1">address-of<span class="_ _7"> </span>op<span class="_ _b"></span>erator<span class="_ _a"> </span></span>(<span class="fc3">&amp;</span>)<span class="_ _11"> </span>returns<span class="_ _11"> </span>the<span class="_ _11"> </span>address<span class="_ _11"> </span>of<span class="_ _11"> </span>a<span class="_ _7"> </span>va<span class="_ _6"></span>riable</div><div class="t m0 x1 he y5e ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_ _14"> </span><span class="ffc fc0">a<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>3</span>;</span></div><div class="t m0 x1 he y5f ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">b<span class="_ _f"> </span></span>=<span class="_ _d"> </span>&amp;<span class="fc0">a;<span class="_ _8"> </span><span class="ffd fc6">//<span class="_ _d"> </span>address-of<span class="_ _f"> </span>operator,</span></span></span></div><div class="t m0 x14 he y60 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span><span class="fff">&apos;</span>b<span class="fff">&apos;<span class="_ _f"> </span></span>is<span class="_ _d"> </span>equal<span class="_ _8"> </span>to<span class="_ _d"> </span>the<span class="_ _f"> </span>address<span class="_ _f"> </span>of<span class="_ _f"> </span><span class="fff">&apos;</span>a<span class="fff">&apos;</span></div><div class="t m0 x1 he y61 ffc fs8 fc0 sc0 ls0 ws0">a<span class="fc5">++</span>;</div><div class="t m0 x1 he y62 ffc fs8 fc0 sc0 ls0 ws0">cout<span class="_ _f"> </span><span class="fc5">&lt;&lt;<span class="_ _f"> </span>*</span>b;<span class="_ _14"> </span><span class="ffd fc6">//<span class="_ _d"> </span>print<span class="_ _8"> </span>4;</span></div><div class="t m0 x1 hd y63 ff4 fs7 fc0 sc0 ls0 ws0">T<span class="_ _4"></span>o<span class="_ _11"> </span>not<span class="_ _11"> </span>confuse<span class="_ _11"> </span>with<span class="_ _11"> </span>the<span class="_ _11"> </span><span class="ff1">reference<span class="_ _7"> </span>syntax:<span class="_ _3"> </span><span class="ff5">T&amp;<span class="_"> </span>var<span class="_"> </span>=<span class="_"> </span>...</span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">11/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pfe" class="pf w0 h0" data-page-no="e"><div class="pc pce w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">struct<span class="_ _8"> </span><span class="ff1">Memb<span class="_ _b"></span>er<span class="_ _f"> </span>A<span class="_ _c"></span>ccess</span></div><div class="t m0 x11 hd y64 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">The<span class="_ _11"> </span><span class="ff6 fc3">dot<span class="_ _11"> </span></span>(<span class="ff6 fc3">.</span>)<span class="_ _d"> </span>operator<span class="_ _a"> </span>is<span class="_ _11"> </span>applied<span class="_ _11"> </span>to<span class="_ _11"> </span>lo<span class="_ _b"></span>cal<span class="_ _11"> </span>objects<span class="_ _11"> </span>and<span class="_ _11"> </span>references<span class="_ _11"> </span>(see<span class="_ _11"> </span>next<span class="_ _11"> </span>slides)</span></div><div class="t m0 x11 hd y65 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">The<span class="_ _11"> </span><span class="ff6 fc3">arrow<span class="_ _11"> </span></span>op<span class="_ _b"></span>erator<span class="_ _a"> </span>(<span class="ff6 fc3">-&gt;</span>)<span class="_ _11"> </span>is<span class="_ _11"> </span>used<span class="_ _11"> </span>with<span class="_ _11"> </span>a<span class="_ _11"> </span>p<span class="_ _b"></span>ointer<span class="_ _11"> </span>to<span class="_ _11"> </span>an<span class="_ _11"> </span>object</span></div><div class="t m0 x1 he y66 ff5 fs8 fc7 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc3">A<span class="_"> </span><span class="ffc fc0">{</span></span></div><div class="t m0 x15 he y67 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">x;</span></div><div class="t m0 x1 he y68 ffc fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 he y69 ffc fs8 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span>a;<span class="_ _18"> </span><span class="ffd fc6">//<span class="_ _f"> </span>local<span class="_ _f"> </span>object</span></div><div class="t m0 x1 he y6a ffc fs8 fc0 sc0 ls0 ws0">a.x;<span class="_ _18"> </span><span class="ffd fc6">//<span class="_ _f"> </span>dot<span class="_ _f"> </span>syntax</span></div><div class="t m0 x1 he y6b ffc fs8 fc0 sc0 ls0 ws0">A<span class="fc5">*<span class="_ _f"> </span></span>ptr<span class="_ _f"> </span><span class="fc5">=<span class="_ _d"> </span>&amp;</span>a;<span class="_ _8"> </span><span class="ffd fc6">//<span class="_ _d"> </span>pointer</span></div><div class="t m0 x1 he y6c ffc fs8 fc0 sc0 ls0 ws0">ptr<span class="fc5">-&gt;</span>x;<span class="_ _19"> </span><span class="ffd fc6">//<span class="_ _f"> </span>arrow<span class="_ _f"> </span>syntax:<span class="_ _d"> </span>same<span class="_ _8"> </span>of<span class="_ _d"> </span>(*ptr).x</span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">12/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pff" class="pf w0 h0" data-page-no="f"><div class="pc pcf w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAI60lEQVR42u3asU0DMQCG0Tt0FpXFDIiKghohKiSQGCF73BD0qRkiG1BAwQY0bEAVuQm+oKOjixROQdjJexM4v5tPvrRnl9cNAAAU4/315cgKAACURqQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAPCjzTlbAQCAcoQQvKQCAFAckQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAMrUmWB7KaU9+0UxRtcKABTISyoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAA+F9tztkK7J/1+uvi5tYOTdO8PT8ZAYC6hBBEKgAAxUWqz/0AABRHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAABF6Co6a0rJhQEATBNjrOi0XlIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpJgAAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAIDf6UwAu7Iahtl8boctLfreCABs0uacazlrSsmFAQBME2Os5aghBJ/7AQAojkgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAB/qzMB7MpqGGbzuR22tOh7IwCwSZtzruWsKSUXBgAwTYyxlqOGEGqKVAAADkEIwX9SAQAojkgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQA4IN3y4dQKu/Vx92gEAIDJzq/u2/bkeFx+Ns04jgYBAKAI35SvQPjG0yjXAAAAAElFTkSuQmCC"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">void<span class="_ _8"> </span><span class="ff1">Pointer<span class="_ _8"> </span>-<span class="_ _8"> </span>Generic<span class="_ _8"> </span>Pointer</span></div><div class="t m0 x1 hd y6d ff4 fs7 fc0 sc0 ls0 ws0">Instead<span class="_ _d"> </span>of<span class="_ _f"> </span>decla<span class="_ _6"></span>ring<span class="_ _d"> </span>different<span class="_ _f"> </span>types<span class="_ _d"> </span>of<span class="_ _f"> </span>p<span class="_ _b"></span>ointer<span class="_ _d"> </span>va<span class="_ _6"></span>riable<span class="_ _d"> </span>it<span class="_ _f"> </span>is<span class="_ _d"> </span>possible<span class="_ _d"> </span>to<span class="_ _f"> </span>declare<span class="_ _f"> </span>single</div><div class="t m0 x1 hd y6e ff4 fs7 fc0 sc0 ls0 ws0">p<span class="_ _b"></span>ointer<span class="_ _11"> </span>va<span class="_ _6"></span>riable<span class="_ _11"> </span>which<span class="_ _11"> </span>can<span class="_ _11"> </span>act<span class="_ _11"> </span>as<span class="_ _11"> </span>any<span class="_ _11"> </span>p<span class="_ _b"></span>ointer<span class="_ _11"> </span>types</div><div class="t m0 x11 hd y6f ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _1a"> </span><span class="ff6">void*<span class="_ _12"> </span><span class="ff4">can<span class="_ _7"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span>compa<span class="_ _6"></span>red</span></span></div><div class="t m0 x11 hd y70 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">Common<span class="_ _1b"> </span>p<span class="_ _b"></span>ointer<span class="_ _1b"> </span>op<span class="_ _b"></span>erations<span class="_ _1b"> </span>a<span class="_ _6"></span>re<span class="_ _1b"> </span>not<span class="_ _1b"> </span>allo<span class="_ _6"></span>w<span class="_ _6"></span>ed<span class="_ _1b"> </span>b<span class="_ _b"></span>ecause<span class="_ _1b"> </span>there<span class="_ _1b"> </span>is<span class="_ _1b"> </span>no<span class="_ _1b"> </span>specific<span class="_ _1b"> </span>type<span class="_ _1b"> </span>p<span class="_ _b"></span>ointed</span></div><div class="t m0 x7 hd y71 ff4 fs7 fc0 sc0 ls0 ws0">to</div><div class="t m0 x1 he y72 ffc fs8 fc0 sc0 ls0 ws0">cout<span class="_ _f"> </span><span class="fc5">&lt;&lt;<span class="_ _f"> </span></span>(<span class="ff5 fc7">sizeof</span>(<span class="ff5 fc4">void</span><span class="fc5">*</span>)<span class="_ _d"> </span><span class="fc5">==<span class="_ _8"> </span><span class="ff5 fc7">sizeof</span></span>(<span class="ff5 fc4">int</span><span class="fc5">*</span>));<span class="_ _14"> </span><span class="ffd fc6">//<span class="_ _d"> </span>print<span class="_ _f"> </span>true</span></div><div class="t m0 x1 he y73 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_ _17"> </span><span class="ffc fc0">array[]<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>{<span class="_ _d"> </span><span class="fc5">2</span>,<span class="_ _8"> </span><span class="fc5">3</span>,<span class="_ _d"> </span><span class="fc5">4<span class="_ _f"> </span></span>};</span></div><div class="t m0 x1 he y74 ff5 fs8 fc4 sc0 ls0 ws0">void<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">ptr;</span></span></div><div class="t m0 x1 he y75 ffc fs8 fc0 sc0 ls0 ws0">cout<span class="_ _f"> </span><span class="fc5">&lt;&lt;<span class="_ _f"> </span></span>(array<span class="_ _d"> </span><span class="fc5">==<span class="_ _8"> </span></span>ptr);</div><div class="t m0 x1 hf y76 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>*ptr;<span class="_ _1c"> </span>//<span class="_ _f"> </span><span class="ffe">compile<span class="_ _e"> </span>error</span></div><div class="t m0 x1 hf y77 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>ptr<span class="_ _f"> </span>+<span class="_ _d"> </span>2;<span class="_ _1d"> </span>//<span class="_ _f"> </span><span class="ffe">compile<span class="_ _e"> </span>error</span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">13/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf10" class="pf w0 h0" data-page-no="10"><div class="pc pc10 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">P<span class="_ _c"></span>ointer<span class="_ _f"> </span>Conversion</div><div class="t m0 x11 hd y78 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">Any<span class="_ _11"> </span>p<span class="_ _b"></span>ointer<span class="_ _11"> </span>type<span class="_ _11"> </span>can<span class="_ _11"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span><span class="ffa">implicitly<span class="_ _d"> </span></span>converted<span class="_ _a"> </span>to<span class="_ _13"> </span><span class="ff6">void*</span></span></div><div class="t m0 x11 hd y79 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">The<span class="_ _11"> </span>opp<span class="_ _b"></span>osite<span class="_ _11"> </span>is<span class="_ _11"> </span>not<span class="_ _11"> </span>true.<span class="_ _d"> </span>Non-<span class="_ _1e"> </span><span class="ff6">void<span class="_ _12"> </span></span>p<span class="_ _0"></span>ointers<span class="_ _a"> </span>must<span class="_ _11"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span>explicitly<span class="_ _11"> </span>converted</span></div><div class="t m0 x11 hd y7a ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _1a"> </span><span class="ff6">static_cast<span class="_ _12"> </span><span class="ff4">(see<span class="_ _7"> </span>next<span class="_ _11"> </span>slides)<span class="_ _11"> </span>do<span class="_ _b"></span>es<span class="_ _11"> </span>not<span class="_ _11"> </span>allo<span class="_ _6"></span>w<span class="_ _11"> </span>p<span class="_ _b"></span>ointer<span class="_ _11"> </span>conversion<span class="_ _11"> </span>for<span class="_ _a"> </span>safet<span class="_ _6"></span>y</span></span></div><div class="t m0 x7 hd y7b ff4 fs7 fc0 sc0 ls0 ws0">reasons,<span class="_ _11"> </span>except<span class="_ _11"> </span>fo<span class="_ _6"></span>r<span class="_ _13"> </span><span class="ff6">void*</span></div><div class="t m0 x1 he y7c ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _14"> </span><span class="fc0">ptr1<span class="_ _f"> </span></span>=<span class="_ _f"> </span><span class="fc0">...;</span></span></div><div class="t m0 x1 he y7d ff5 fs8 fc4 sc0 ls0 ws0">void<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">ptr2<span class="_ _f"> </span></span>=<span class="_ _d"> </span><span class="fc0">ptr1;<span class="_ _1f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>int*<span class="_ _f"> </span>-&gt;<span class="_ _d"> </span>void*,<span class="_ _8"> </span>implicit<span class="_ _d"> </span>conversion</span></span></span></div><div class="t m0 x1 he y7e ff5 fs8 fc4 sc0 ls0 ws0">void<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">ptr3<span class="_ _f"> </span></span>=<span class="_ _d"> </span><span class="fc0">...;</span></span></div><div class="t m0 x1 he y7f ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _14"> </span><span class="fc0">ptr4<span class="_ _f"> </span></span>=<span class="_ _f"> </span><span class="fc0">(</span></span>int<span class="ffc fc5">*<span class="fc0">)<span class="_ _d"> </span>ptr3;<span class="_ _1"> </span><span class="ffd fc6">//<span class="_ _f"> </span>void*<span class="_ _d"> </span>-&gt;<span class="_ _f"> </span>int,<span class="_ _f"> </span>explicit<span class="_ _f"> </span>conversion<span class="_ _f"> </span>required</span></span></span></div><div class="t m0 x16 he y80 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>static_cast<span class="_ _f"> </span>allowed</div><div class="t m0 x1 he y81 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _14"> </span><span class="fc0">ptr5<span class="_ _f"> </span></span>=<span class="_ _f"> </span><span class="fc0">...;</span></span></div><div class="t m0 x1 he y82 ff5 fs8 fc4 sc0 ls0 ws0">char<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">ptr6<span class="_ _f"> </span></span>=<span class="_ _d"> </span><span class="fc0">(</span></span>char<span class="ffc fc5">*<span class="fc0">)<span class="_ _8"> </span>ptr5;<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _f"> </span>int*<span class="_ _f"> </span>-&gt;<span class="_ _f"> </span>char*,<span class="_ _f"> </span>explicit<span class="_ _d"> </span>conversion<span class="_ _f"> </span>required,</span></span></span></div><div class="t m0 x16 he y83 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>static_cast<span class="_ _f"> </span>not<span class="_ _d"> </span>allowed,<span class="_ _8"> </span>dangerous</div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">14/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf11" class="pf w0 h0" data-page-no="11"><div class="pc pc11 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff10 fs3 fc1 sc0 ls0 ws0">1<span class="_ _1b"> </span><span class="ff11">+<span class="_ _1b"> </span></span>1<span class="_ _a"> </span><span class="ff12"><span class="ff11">=<span class="_ _a"> </span></span></span>2<span class="_ _f"> </span><span class="ff1">:<span class="_ _20"> </span>P<span class="_ _c"></span>ointer<span class="_ _f"> </span>Arithmetic<span class="_ _21"> </span>1/3</span></div><div class="t m0 x1 h7 y6d ff1 fs3 fc0 sc0 ls0 ws0">Subscript<span class="_ _8"> </span>op<span class="_ _b"></span>erator<span class="_ _8"> </span>meaning:</div><div class="t m0 xe hd y6e ff6 fs7 fc0 sc0 ls0 ws0">ptr[i]<span class="_ _12"> </span><span class="ff4">is<span class="_ _7"> </span>equal<span class="_ _11"> </span>to<span class="_ _12"> </span></span>*(ptr<span class="_ _20"> </span>+<span class="_ _20"> </span>i)</div><div class="t m0 x1 h10 y84 ff13 fs8 fc0 sc0 ls0 ws0">Note:<span class="_ _7"> </span>subscript<span class="_ _e"> </span>op<span class="_ _b"></span>erator<span class="_ _1e"> </span>also<span class="_ _e"> </span>accepts<span class="_ _e"> </span>negative<span class="_ _e"> </span>values</div><div class="t m0 x1 h7 y85 ff1 fs3 fc0 sc0 ls0 ws0">P<span class="_ _c"></span>ointer<span class="_ _f"> </span>a<span class="_ _c"></span>rithmetic<span class="_ _f"> </span>rule:</div><div class="t m0 xe h11 y86 ff6 fs7 fc3 sc0 ls0 ws0">address<span class="fc0">(ptr<span class="_ _20"> </span>+<span class="_ _20"> </span>i)<span class="_ _20"> </span>=<span class="_ _5"> </span></span>address<span class="fc0">(ptr)<span class="_ _20"> </span>+<span class="_ _20"> </span>(sizeof(T)<span class="_ _20"> </span>*<span class="_ _20"> </span>i)</span></div><div class="t m0 x1 h10 y87 ff13 fs8 fc0 sc0 ls0 ws0">where<span class="_ _e"> </span><span class="ffc">T<span class="_ _1e"> </span></span>is<span class="_ _e"> </span>the<span class="_ _e"> </span>type<span class="_ _e"> </span>of<span class="_ _e"> </span>elements<span class="_ _e"> </span>p<span class="_ _b"></span>ointed<span class="_ _e"> </span>by<span class="_ _1e"> </span><span class="ffc">ptr</span></div><div class="t m0 x1 he y88 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">array[<span class="fc5">4</span>]<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>{<span class="fc5">1</span>,<span class="_ _d"> </span><span class="fc5">2</span>,<span class="_ _8"> </span><span class="fc5">3</span>,<span class="_ _d"> </span><span class="fc5">4</span>};</span></div><div class="t m0 x1 he y89 ffc fs8 fc0 sc0 ls0 ws0">cout<span class="_ _f"> </span><span class="fc5">&lt;&lt;<span class="_ _f"> </span></span>array[<span class="fc5">1</span>];<span class="_ _16"> </span><span class="ffd fc6">//<span class="_ _d"> </span>print<span class="_ _8"> </span>2</span></div><div class="t m0 x1 he y8a ffc fs8 fc0 sc0 ls0 ws0">cout<span class="_ _f"> </span><span class="fc5">&lt;&lt;<span class="_ _f"> </span>*</span>(array<span class="_ _d"> </span><span class="fc5">+<span class="_ _8"> </span>1</span>);<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _f"> </span>print<span class="_ _f"> </span>2</span></div><div class="t m0 x1 he y8b ffc fs8 fc0 sc0 ls0 ws0">cout<span class="_ _f"> </span><span class="fc5">&lt;&lt;<span class="_ _f"> </span></span>array;<span class="_ _22"> </span><span class="ffd fc6">//<span class="_ _f"> </span>print<span class="_ _f"> </span>0xFFFAFFF2</span></div><div class="t m0 x1 he y8c ffc fs8 fc0 sc0 ls0 ws0">cout<span class="_ _f"> </span><span class="fc5">&lt;&lt;<span class="_ _f"> </span></span>array<span class="_ _d"> </span><span class="fc5">+<span class="_ _8"> </span>1</span>;<span class="_ _23"> </span><span class="ffd fc6">//<span class="_ _f"> </span>print<span class="_ _f"> </span>0xFFFAFFF6!!</span></div><div class="t m0 x1 he y8d ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">ptr<span class="_ _f"> </span></span>=<span class="_ _d"> </span><span class="fc0">array<span class="_ _8"> </span></span>+<span class="_ _d"> </span>2<span class="fc0">;</span></span></div><div class="t m0 x1 he y8e ffc fs8 fc0 sc0 ls0 ws0">cout<span class="_ _f"> </span><span class="fc5">&lt;&lt;<span class="_ _f"> </span></span>ptr[<span class="fc5">-1</span>];<span class="_ _19"> </span><span class="ffd fc6">//<span class="_ _d"> </span>print<span class="_ _8"> </span>2</span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">15/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf12" class="pf w0 h0" data-page-no="12"><div class="pc pc12 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff10 fs3 fc1 sc0 ls0 ws0">1<span class="_ _1b"> </span><span class="ff11">+<span class="_ _1b"> </span></span>1<span class="_ _a"> </span><span class="ff12"><span class="ff11">=<span class="_ _a"> </span></span></span>2<span class="_ _f"> </span><span class="ff1">:<span class="_ _20"> </span>P<span class="_ _c"></span>ointer<span class="_ _f"> </span>Arithmetic<span class="_ _21"> </span>2/3</span></div><div class="t m0 x17 hb y8f ff5 fs4 fc0 sc0 ls0 ws0">char<span class="_"> </span>arr[4]<span class="_"> </span>=<span class="_"> </span>&quot;abc&quot;</div><div class="t m0 x18 h10 y90 ff13 fs8 fc0 sc0 ls0 ws0">value<span class="_ _24"> </span>address</div><div class="t m0 x19 h10 y91 ff13 fs8 fc0 sc0 ls0 ws0">a<span class="_ _25"> </span>0x0<span class="_ _26"> </span><span class="ff14">←</span>a<span class="_ _6"></span>rr[0]</div><div class="t m0 x19 h10 y92 ff13 fs8 fc0 sc0 ls0 ws0">b<span class="_ _25"> </span>0x1<span class="_ _26"> </span><span class="ff14">←</span>a<span class="_ _c"></span>rr[1]</div><div class="t m0 x19 h10 y93 ff13 fs8 fc0 sc0 ls0 ws0">c<span class="_ _25"> </span>0x2<span class="_ _26"> </span><span class="ff14">←</span>arr[2]</div><div class="t m0 x1a h10 y94 ff13 fs8 fc0 sc0 ls0 ws0">\0<span class="_ _27"> </span>0x3<span class="_ _26"> </span><span class="ff14">←</span>a<span class="_ _6"></span>rr[3]</div><div class="t m0 x1b hb y95 ff5 fs4 fc0 sc0 ls0 ws0">int<span class="_"> </span>arr[3]<span class="_"> </span>=<span class="_"> </span>{4,5,6}</div><div class="t m0 x1c h10 y96 ff13 fs8 fc0 sc0 ls0 ws0">value<span class="_ _24"> </span>address</div><div class="t m0 x1d h10 y97 ff13 fs8 fc0 sc0 ls0 ws0">4</div><div class="t m0 x1e h10 y98 ff13 fs8 fc0 sc0 ls0 ws0">0x0<span class="_ _26"> </span><span class="ff14">←</span>a<span class="_ _6"></span>rr[0]</div><div class="t m0 x1e h10 y99 ff13 fs8 fc0 sc0 ls0 ws0">0x1</div><div class="t m0 x1e h10 y9a ff13 fs8 fc0 sc0 ls0 ws0">0x2</div><div class="t m0 x1e h10 y9b ff13 fs8 fc0 sc0 ls0 ws0">0x3</div><div class="t m0 x1d h10 y9c ff13 fs8 fc0 sc0 ls0 ws0">5</div><div class="t m0 x1e h10 y9d ff13 fs8 fc0 sc0 ls0 ws0">0x4<span class="_ _26"> </span><span class="ff14">←</span>a<span class="_ _6"></span>rr[1]</div><div class="t m0 x1e h10 y9e ff13 fs8 fc0 sc0 ls0 ws0">0x5</div><div class="t m0 x1e h10 y9f ff13 fs8 fc0 sc0 ls0 ws0">0x6</div><div class="t m0 x1e h10 ya0 ff13 fs8 fc0 sc0 ls0 ws0">0x7</div><div class="t m0 x1d h10 ya1 ff13 fs8 fc0 sc0 ls0 ws0">6</div><div class="t m0 x1e h10 ya2 ff13 fs8 fc0 sc0 ls0 ws0">0x8<span class="_ _26"> </span><span class="ff14">←</span>a<span class="_ _6"></span>rr[2]</div><div class="t m0 x1e h10 ya3 ff13 fs8 fc0 sc0 ls0 ws0">0x9</div><div class="t m0 x1f h10 ya4 ff13 fs8 fc0 sc0 ls0 ws0">0x10</div><div class="t m0 x1f h10 ya5 ff13 fs8 fc0 sc0 ls0 ws0">0x11</div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">16/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf13" class="pf w0 h0" data-page-no="13"><div class="pc pc13 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIdklEQVR42u3YsQkCMRiG4YtcsArOIFZOIGItuJlLOI6FQ7iB1XGVaWLnAAfCH3meCcKX5uVPu8NpAACAMJ6P+8oKAABEI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAPhKtVYrAAAQR87ZJRUAgHBEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQCA3xk7eus8zz4MAGCZUkpHr3VJBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApJoAAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAgKVSrdUKAADEkXN2SQUAIByRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAEAY43TdWqFTr/PNCADA/9kfLylt1m16D0NrzSAAAITwAegPGgLQHzEEAAAAAElFTkSuQmCC"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">P<span class="_ _c"></span>ointer<span class="_ _f"> </span>Arithmetic<span class="_ _8"> </span>-<span class="_ _f"> </span>Undefined<span class="_ _8"> </span>Behavio<span class="_ _6"></span>r</div><div class="t m0 x20 h12 ya6 ff9 fs5 fc1 sc0 ls0 ws0">⋆</div><div class="t m0 x21 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">3/3</div><div class="t m0 x1 h10 ya7 ffc fs8 fc0 sc0 ls0 ws0">lib/vsprintf.c<span class="_ _e"> </span><span class="ff13">of<span class="_ _1e"> </span>the<span class="_ _e"> </span>Linux<span class="_ _e"> </span>kernel</span></div><div class="t m0 x1 he ya8 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc3">vsnprintf<span class="fc0">(</span></span>char<span class="_"> </span><span class="ffc fc5">*<span class="fc0">buf,<span class="_ _f"> </span></span></span>size_t<span class="_"> </span><span class="ffc fc0">size,<span class="_ _f"> </span>...)<span class="_ _d"> </span>{</span></div><div class="t m0 x22 he ya9 ff5 fs8 fc4 sc0 ls0 ws0">char<span class="_"> </span><span class="ffc fc5">*<span class="fc0">end;</span></span></div><div class="t m0 x22 he yaa ffd fs8 fc6 sc0 ls0 ws0">/*<span class="_ _f"> </span>Reject<span class="_ _f"> </span>out-of-range<span class="_ _d"> </span>values<span class="_ _8"> </span>early</div><div class="t m0 x23 he yab ffd fs8 fc6 sc0 ls0 ws0">Large<span class="_ _f"> </span>positive<span class="_ _f"> </span>sizes<span class="_ _d"> </span>are<span class="_ _8"> </span>used<span class="_ _d"> </span>for<span class="_ _f"> </span>unknown<span class="_ _f"> </span>buffer<span class="_ _f"> </span>sizes<span class="_ _f"> </span>*/</div><div class="t m0 x22 he yac ff5 fs8 fc7 sc0 ls0 ws0">if<span class="_"> </span><span class="ffc fc0">(WARN_ON_ONCE((</span><span class="fc4">int<span class="ffc fc0">)<span class="_ _f"> </span>size<span class="_ _f"> </span><span class="fc5">&lt;<span class="_ _d"> </span>0</span>))</span></span></div><div class="t m0 x1a he yad ff5 fs8 fc7 sc0 ls0 ws0">return<span class="_"> </span><span class="ffc fc5">0<span class="fc0">;</span></span></div><div class="t m0 x22 he yae ffc fs8 fc0 sc0 ls0 ws0">end<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>buf<span class="_ _d"> </span><span class="fc5">+<span class="_ _8"> </span></span>size;</div><div class="t m0 x22 he yaf ffd fs8 fc6 sc0 ls0 ws0">/*<span class="_ _f"> </span>Make<span class="_ _f"> </span>sure<span class="_ _d"> </span>end<span class="_ _8"> </span>is<span class="_ _d"> </span>always<span class="_ _f"> </span>&gt;=<span class="_ _f"> </span>buf<span class="_ _f"> </span>*/</div><div class="t m0 x22 he yb0 ff5 fs8 fc7 sc0 ls0 ws0">if<span class="_"> </span><span class="ffc fc0">(end<span class="_ _f"> </span><span class="fc5">&lt;<span class="_ _f"> </span></span>buf)<span class="_ _d"> </span>{<span class="_ _8"> </span>...<span class="_ _d"> </span>}<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>Even<span class="_ _f"> </span>if<span class="_ _f"> </span>pointers<span class="_ _d"> </span>are<span class="_ _f"> </span>represented<span class="_ _f"> </span>with<span class="_ _f"> </span>unsigned<span class="_ _f"> </span>values,</span></span></div><div class="t m0 x22 he yb1 ffc fs8 fc0 sc0 ls0 ws0">...<span class="_ _28"> </span><span class="ffd fc6">//<span class="_ _f"> </span>pointer<span class="_ _f"> </span>overflow<span class="_ _d"> </span>is<span class="_ _8"> </span>undefined<span class="_ _d"> </span>behavior.</span></div><div class="t m0 x16 he yb2 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>Both<span class="_ _f"> </span>GCC<span class="_ _d"> </span>and<span class="_ _8"> </span>Clang<span class="_ _d"> </span>will<span class="_ _f"> </span>simplify<span class="_ _f"> </span>the<span class="_ _f"> </span>overflow<span class="_ _f"> </span>check</div><div class="t m0 x16 he yb3 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span><span class="ff15">buf<span class="_ _f"> </span>+<span class="_ _d"> </span>size<span class="_ _8"> </span>&lt;<span class="_ _d"> </span>buf<span class="_ _f"> </span></span>to<span class="_ _f"> </span><span class="ff15">size<span class="_ _f"> </span>&lt;<span class="_ _f"> </span>0<span class="_ _d"> </span></span>by<span class="_ _f"> </span>eliminating</div><div class="t m0 x1 he yb4 ffc fs8 fc0 sc0 ls0 ws0">}<span class="_ _29"> </span><span class="ffd fc6">//<span class="_ _f"> </span>the<span class="_ _f"> </span>common<span class="_ _d"> </span>term<span class="_ _8"> </span><span class="ff15">buf</span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">17/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf14" class="pf w0 h0" data-page-no="14"><div class="pc pc14 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Wild<span class="_ _8"> </span>and<span class="_ _f"> </span>Dangling<span class="_ _8"> </span>P<span class="_ _6"></span>ointers</div><div class="t m0 x1 hd yb5 ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _11"> </span><span class="ff1">wild<span class="_ _7"> </span>p<span class="_ _b"></span>ointer<span class="_ _7"> </span></span>is<span class="_ _11"> </span>a<span class="_ _11"> </span>p<span class="_ _b"></span>ointer<span class="_ _11"> </span>not<span class="_ _11"> </span>initialized</div><div class="t m0 x1 he yb6 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">ptr;<span class="_ _17"> </span><span class="ffd fc6">//<span class="_ _f"> </span>wild<span class="_ _d"> </span>pointer</span></span></span></div><div class="t m0 x1 hd yb7 ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _11"> </span><span class="ff1">dangling<span class="_ _7"> </span>p<span class="_ _b"></span>ointer<span class="_ _7"> </span></span>p<span class="_ _b"></span>oints<span class="_ _11"> </span>to<span class="_ _11"> </span>a<span class="_ _11"> </span>deallo<span class="_ _b"></span>cated<span class="_ _11"> </span>memory<span class="_ _a"> </span>region</div><div class="t m0 x1 he yb8 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">array<span class="_ _f"> </span></span>=<span class="_ _d"> </span></span><span class="fc7">new<span class="_"> </span></span>int<span class="ffc fc0">[<span class="fc5">10</span>];</span></div><div class="t m0 x1 he yb9 ff5 fs8 fc7 sc0 ls0 ws0">delete<span class="ffc fc0">[]<span class="_ _f"> </span>array;<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _d"> </span>ok<span class="_ _8"> </span>-&gt;<span class="_ _d"> </span>&quot;array&quot;<span class="_ _f"> </span>now<span class="_ _f"> </span>is<span class="_ _f"> </span>a<span class="_ _f"> </span>dangling<span class="_ _d"> </span>pointer</span></span></div><div class="t m0 x1 he yba ffc fs8 fc5 sc0 ls0 ws0">*<span class="fc0">array;<span class="_ _1f"> </span><span class="ffd fc6">//<span class="_ _d"> </span><span class="fc8">Potential<span class="_ _f"> </span>segmentation<span class="_ _f"> </span>fault</span></span></span></div><div class="t m0 x1 he ybb ff5 fs8 fc7 sc0 ls0 ws0">delete<span class="ffc fc0">[]<span class="_ _f"> </span>array;<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _d"> </span><span class="fc8">double<span class="_ _8"> </span>free<span class="_ _d"> </span>or<span class="_ _f"> </span>corruption!!</span></span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">18/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf15" class="pf w0 h0" data-page-no="15"><div class="pc pc15 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x10 h2 y41 ff1 fs0 fc0 sc0 ls0 ws0">Fixed-Size<span class="_ _1"> </span>Arra<span class="_ _4"></span>ys</div><a class="l" href="#pf15" data-dest-detail='[21,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:132.432000px;width:198.311000px;height:24.026000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf16" class="pf w0 h0" data-page-no="16"><div class="pc pc16 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Fixed-Size<span class="_ _8"> </span>Arrays</div><div class="t m0 x1 hd y6d ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _a"> </span><span class="ff1">fixed-size<span class="_ _7"> </span>ra<span class="_ _6"></span>w<span class="_ _7"> </span>a<span class="_ _6"></span>rra<span class="_ _6"></span>y<span class="_ _a"> </span><span class="ff4">is<span class="_ _a"> </span>a<span class="_ _11"> </span>fundamental<span class="_ _a"> </span>C/C++<span class="_ _11"> </span>data<span class="_ _a"> </span>structure<span class="_ _11"> </span>that<span class="_ _a"> </span>stores<span class="_ _a"> </span>a<span class="_ _a"> </span>sequence</span></span></div><div class="t m0 x1 hd y6e ff4 fs7 fc0 sc0 ls0 ws0">of<span class="_ _11"> </span>elements<span class="_ _11"> </span>of<span class="_ _11"> </span>the<span class="_ _11"> </span><span class="ffa">same<span class="_ _11"> </span>t<span class="_ _6"></span>yp<span class="_ _b"></span>e<span class="_ _8"> </span><span class="ff4">in<span class="_ _11"> </span></span>contiguous<span class="_ _11"> </span>memo<span class="_ _6"></span>ry<span class="ff4">.<span class="_ _d"> </span>Contra<span class="_ _c"></span>ry<span class="_ _11"> </span>to<span class="_ _11"> </span>other<span class="_ _11"> </span>more<span class="_ _a"> </span>advanced</span></span></div><div class="t m0 x1 hd ybc ff4 fs7 fc0 sc0 ls0 ws0">data<span class="_ _11"> </span>structures,<span class="_ _11"> </span>it<span class="_ _11"> </span>is<span class="_ _11"> </span>pa<span class="_ _6"></span>rt<span class="_ _11"> </span>of<span class="_ _11"> </span>the<span class="_ _11"> </span>language.</div><div class="t m0 x1 hd ybd ff4 fs7 fc0 sc0 ls0 ws0">An<span class="_ _11"> </span>a<span class="_ _6"></span>rra<span class="_ _6"></span>y<span class="_ _11"> </span>can<span class="_ _11"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span>declared<span class="_ _a"> </span>with<span class="_ _11"> </span><span class="ffa">explicit<span class="_ _f"> </span></span>o<span class="_ _c"></span>r<span class="_ _11"> </span><span class="ffa">implicit<span class="_ _f"> </span></span>size:</div><div class="t m0 x1 he ybe ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">array[<span class="fc5">3</span>]<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>{<span class="fc5">1</span>,<span class="_ _d"> </span><span class="fc5">2</span>,<span class="_ _8"> </span><span class="fc5">3</span>};<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _f"> </span>size=3</span></span></div><div class="t m0 x1 he ybf ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">array[]<span class="_ _14"> </span><span class="fc5">=<span class="_ _f"> </span></span>{<span class="fc5">1</span>,<span class="_ _f"> </span><span class="fc5">2</span>};<span class="_ _23"> </span><span class="ffd fc6">//<span class="_ _f"> </span>size=2</span></span></div><div class="t m0 x1 h13 yc0 ffa fs7 fc0 sc0 ls0 ws0">Sp<span class="_ _b"></span>ecial<span class="_ _11"> </span>cases:</div><div class="t m0 x1 he yc1 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">size<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>5</span>;</span></div><div class="t m0 x1 he yc2 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">array[size];<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _f"> </span><span class="ff15 fc9">warning</span>:<span class="_ _d"> </span>run-time<span class="_ _8"> </span>size<span class="_ _d"> </span>is<span class="_ _f"> </span>a<span class="_ _f"> </span>compiler<span class="_ _f"> </span>extension<span class="_ _f"> </span>and</span></span></div><div class="t m0 x24 he yc3 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>potentially<span class="_ _f"> </span>dangerous</div><div class="t m0 x1 he yc4 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>int<span class="_ _f"> </span>array[0];<span class="_ _d"> </span>//<span class="_ _8"> </span>compile<span class="_ _d"> </span>error<span class="_ _f"> </span>zero-size<span class="_ _f"> </span>array<span class="_ _f"> </span>is<span class="_ _f"> </span>not<span class="_ _d"> </span>allowed<span class="_ _f"> </span>in<span class="_ _f"> </span>C++</div><div class="t m0 x24 he yc5 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>(gcc<span class="_ _f"> </span>allows<span class="_ _d"> </span>it)</div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">19/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf17" class="pf w0 h0" data-page-no="17"><div class="pc pc17 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIoUlEQVR42u3YsU0EMRCGURvtiMiihhMRFSBEjHSd0QTlXEARdEB0csQkS0ZGsiA0e7xXgfU7+TT99v6xAQBAGW+vpysrAABQjUgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAOBLz0wrAABQR0S4pAIAUI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAD4RYsJAOA7c04jlDXGMMIFc0kFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAD71jPTCgAA1BERLqkAAJQjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQDgjy07euuc04cBAGwzxtjRa11SAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAD4sZ6ZVgAAoI6IcEkFAKAckQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQDgci07euuc04cBAGwzxtjRa11SAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAAFv0zLQCAAB1RIRLKgAA5YhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAA/9dyfj5Ygdba+9OLEQCACu4ejr3fXK/nj9bWdTUIAAAlfALCVyX+3jE96gAAAABJRU5ErkJggg=="/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Numb<span class="_ _b"></span>er<span class="_ _8"> </span>of<span class="_ _f"> </span>Elements<span class="_ _8"> </span>and<span class="_ _f"> </span>Hiera<span class="_ _c"></span>rchical<span class="_ _f"> </span>Rep<span class="_ _c"></span>resentation</div><div class="t m0 x1 hd y6d ff4 fs7 fc0 sc0 ls0 ws0">The<span class="_ _11"> </span><span class="ff1">numb<span class="_ _b"></span>er<span class="_ _7"> </span>of<span class="_ _8"> </span>elements<span class="_ _a"> </span></span>in<span class="_ _11"> </span>an<span class="_ _11"> </span>arra<span class="_ _c"></span>y<span class="_ _11"> </span>is<span class="_ _11"> </span>equal<span class="_ _11"> </span>to<span class="_ _11"> </span>the<span class="_ _11"> </span>total<span class="_ _11"> </span>byte<span class="_ _a"> </span>size<span class="_ _11"> </span>divided<span class="_ _11"> </span>by<span class="_ _a"> </span>the</div><div class="t m0 x1 hd y6e ff4 fs7 fc0 sc0 ls0 ws0">b<span class="_ _6"></span>ytes<span class="_ _11"> </span>of<span class="_ _11"> </span>a<span class="_ _11"> </span>single<span class="_ _11"> </span>element.<span class="_ _d"> </span><span class="fca">C++17<span class="_ _a"> </span></span>also<span class="_ _11"> </span>provides<span class="_ _a"> </span>the<span class="_ _11"> </span>metho<span class="_ _b"></span>d<span class="_ _13"> </span><span class="ff6">std::size()</span></div><div class="t m0 x1 he yc6 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">array[<span class="fc5">5</span>];</span></div><div class="t m0 x1 he yc7 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">num_item1<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span></span><span class="fc7">sizeof<span class="ffc fc0">(array)<span class="_ _d"> </span><span class="fc5">/<span class="_ _8"> </span></span></span>sizeof<span class="ffc fc0">(array[<span class="fc5">0</span>]);<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _f"> </span>5</span></span></span></div><div class="t m0 x1 he yc8 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">num_item2<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>std<span class="fc5">::</span>size(array);<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _8"> </span>5,<span class="_ _d"> </span>defined<span class="_ _f"> </span>in<span class="_ _f"> </span>many<span class="_ _f"> </span>standard<span class="_ _f"> </span>library<span class="_ _d"> </span>headers,</span></span></div><div class="t m0 x25 he yc9 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>e.g.<span class="_ _f"> </span>&lt;array&gt;</div><div class="t m0 x1 hd yca ff4 fs7 fc0 sc0 ls0 ws0">Multidimensional<span class="_ _11"> </span>a<span class="_ _6"></span>rra<span class="_ _6"></span>ys<span class="_ _11"> </span>a<span class="_ _6"></span>re<span class="_ _11"> </span>represented<span class="_ _a"> </span>in<span class="_ _11"> </span>a<span class="_ _11"> </span><span class="ffa">“hiera<span class="_ _6"></span>rchical”<span class="_ _f"> </span><span class="ff4">w<span class="_ _c"></span>ay</span></span></div><div class="t m0 x1 he ycb ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">array[<span class="fc5">4</span>][<span class="fc5">2</span>][<span class="fc5">3</span>];</span></div><div class="t m0 x1 he ycc ffc fs8 fc0 sc0 ls0 ws0">array[<span class="fc5">0</span>][<span class="fc5">0</span>][<span class="fc5">0</span>];<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>return<span class="_ _d"> </span>a<span class="_ _8"> </span><span class="ff15">reference<span class="_ _d"> </span></span>to<span class="_ _f"> </span>a<span class="_ _f"> </span>single<span class="_ _f"> </span>element<span class="_ _f"> </span>of<span class="_ _d"> </span>type<span class="_ _f"> </span><span class="ff15">int</span></span></div><div class="t m0 x1 he ycd ffc fs8 fc0 sc0 ls0 ws0">array[<span class="fc5">0</span>][<span class="fc5">0</span>];<span class="_ _23"> </span><span class="ffd fc6">//<span class="_ _8"> </span>return<span class="_ _d"> </span>a<span class="_ _f"> </span><span class="ff15">reference<span class="_ _f"> </span></span>to<span class="_ _f"> </span>an<span class="_ _f"> </span>array<span class="_ _d"> </span>of<span class="_ _8"> </span>type<span class="_ _d"> </span><span class="ff15">int[3]</span></span></div><div class="t m0 x1 he yce ffc fs8 fc0 sc0 ls0 ws0">array[<span class="fc5">0</span>];<span class="_ _15"> </span><span class="ffd fc6">//<span class="_ _8"> </span>return<span class="_ _d"> </span>a<span class="_ _f"> </span><span class="ff15">reference<span class="_ _f"> </span></span>to<span class="_ _f"> </span>an<span class="_ _f"> </span>array<span class="_ _d"> </span>of<span class="_ _8"> </span>type<span class="_ _d"> </span><span class="ff15">int[2][3]</span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">20/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf18" class="pf w0 h0" data-page-no="18"><div class="pc pc18 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAgAElEQVR42uzdeUBU5f7H8efMOWcGXFHBDdHcNyRFccO0zdTUVv1pZqZpN29aLt26dW/lrW6bWmpp5U3LSsvK2+pWZrmASooLIiaIJWipIIgsw5w5Z87vj4PDCMOmmNZ9v/6Sw3B45swMffqe5/k+Uute0QIAAAC4YhzeEWPjKgAAAOBKQ0gFAAAAIRUAAAAgpAIAAICQCgAAABBSAQAAQEgFAAAACKkAAAAgpAIAAACEVAAAAICQCgAAAEIqAAAAQEgFAAAAIRUAAAAgpAIAAICQCgAAABBSAQAAQEgFAAAACKkAAAAAIRUAAACEVAAAAICQCgAAAEIqAAAAQEgFAAAAIRUAAAAgpAIAAACEVAAAABBSAQAAAEIqAAAACKkAAAAAIRUAAACEVAAAAICQCgAAAEIqAAAAQEgFAAAACKkAAAAgpAIAAACEVAAAABBSAQAAAEIqAAAACKkAAAAAIRUAAAAgpAIAAICQCgAAABBSAQAAQEgFAAAACKkAAAAgpAIAAACEVAAAABBSAQAAAEIqAAAAQEgFAAAAIRUAAAAgpAIAAICQCgAAABBSAQAAQEgFAAAACKkAAACAl6RpGlcBAAAAVw5VVamkAgAA4IpDSAUAAAAhFQAAACCkAgAAgJAKAAAAEFIBAABASAUAAAAIqQAAACCkAgAAAIRUAAAAgJAKAAAAQioAAABASAUAAAAhFQAAACCkAgAAgJAKAAAAEFIBAABASAUAAAAIqQAAAAAhFQAAAIRUAAAAgJAKAAAAQioAAABASAUAAAAhFQAAACCkAgAAAIRUAAAAEFIBAAAAQioAAAAIqQAAAAAhFQAAAIRUAAAAgJAKAAAAQioAAABASAUAAAAIqQAAACCkAgAAAIRUAAAAEFIBAAAAQioAAAAIqQAAAAAhFQAAACCkAgAAgJAKAAAAEFIBAABASAUAAAAIqQAAACCkAgAAAIRUAAAAEFIBAAAAQioAAABASAUAAAAhFQAAACCkAgAAgJAKAAAAEFIBAABASAUAAAAIqQAAAAAhFQAAAIRUAAAAgJAKAAAAQioAAABASAUAAAAhFQAAACCkAgAAgJAKAAAAEFIBAAAAQioAAAAIqQAAAAAhFQAAAIRUAAAAgJAKAAAAQioAAABASAUAAAAIqQAAACCkAgAAAIRUAAAAEFIBAAAAQioAAAAIqQAAAAAhFQAAAIRUAAAAgJAKAAAAEFIBAABASAUAAAAIqQAAACCkAgAAAIRUAAAAEFIBAAAAQioAAABASAUAAAAhFQAAACCkAgAAgJAKAAAAEFIBAABASAUAAAAIqQAAACCkAgAAAIRUAAAAgJAKAAAAQioAAABASAUAAAAhFQAAACCkAgAAgJAKAAAAEFIBAAAAQioAAAAIqQAAAAAhFQAAAIRUAAAAgJAKAAAAQioAAABASAUAAAAhFQAAACCkAgAAAIRUAAAAEFIBAAAAQioAAAAIqQAAAAAhFQAAAIRUAAAAgJAKAAAAEFIBAABASAUAAAAIqQAAACCkAgAAAIRUAAAAEFIBAAAAQioAAAAIqQAAAAAhFQAAACCkAgAAgJAKAAAAEFIBAABASAUAAAAIqQAAACCkAgAAAIRUAAAAEFK5BAAAACCkAgAAAIRUAAAAEFIBAAAAQioAAAAIqQAAAAAhFQAAAIRUAAAAgJAKAAAAEFIBAABASAUAAAAIqQAAACCkAgAAAIRUAAAAEFIBAAAAQioAAAAIqQAAAAAhFQAAACCkAgAAgJAKAAAAEFIBAABASAUAAAAIqQAAACCkAgAAAIRUAAAAgJAKAAAAQioAAABASAUAAAAhFQAAACCkAgAAgJAKAAAAEFIBAABASAUAAAAIqQAAAAAhFQAAAIRUAAAAgJAKAAAAQioAAABASAUAAAAhFQAAACCkAgAAAIRUAAAAEFIBAAAAQioAAAAIqQAAAAAhFQAAAIRUAAAAgJAKAAAAQioAAABASAUAAAAIqQAAACCkAgAAAIRUAAAAEFIBAAAAQioAAAAIqQAAAAAhFQAAACCkAgAAgJAKAAAAEFIBAABASAUAAAAIqQAAACCkAgAAAIRUAAAAEFIBAAAAQioAAABASAUAAAAhFQBweRz77dR/Yw45nYVcCgB/XJKmaVwFAPhzOJCaPne7sTI9xPCIeoFiTLPfJnV3dG4dxpUB8MeiqiohFQD+8JzOwlXbDy89VHdbVv3S3+1bP2ti+5xR/drZ7XauFQBCKgDgkjuQmr4k3vXhsSbZzuKD0c2VPs3kjxLdx896vAdbBEnTwg6O6d+2flAdrhsAQioAoPppmvZxTHKJ0qlskwa3Uf4ebY8Ok4UQhkesTzUWx2vrD+uGx7QeE6BIIxodnRjpiI5oxWUEQEgFAFSPrDNnP9ySsiC949EzpvdgaB3bxEj7pG5qaG2p9I8czzWX7HG/sVPLzC8urHYMke5vTGEVACEVAHBxYhOOLN3tWnWyRaFeFE+t0ukD3e2DW8tyRc1a8tzi3T3uxfHawQzDezBAkSa2SHtkQP1mTRpyhQEQUgEAlWWVTt8+0fFgRnHpNLim7cGoMkun5YtJN5bsdn+a5C50e8OuGNQk5/522YN7dZBlmWsOgJAKACjT55v2rEytuSYjVDOKs+nQtsrwdurgNkqgYvr9KZvN5vF4Kjye5xYbUo2vk91f/OTOKSw6VXAN6eag1KEt9duv7cb1B0BIBQD4YX8+3/vvugHSW8MC7+ygyNW9B0ueW8za5Jq/3eV7UPtnTa4/gMsbUtlxCgD+AHIKzYfXFT6ywXUw01ONp03J8kxZW/h6HNUKAFccKqkAcIWyKqntguXULI+3h5QQol9z5dFox5A2sixd4JmduvjsJ/2NndqOdN17sE6AVEOVTuR6BJVUAJebqqoKVwEALiPDMNbH/bQqteaI1vl+1y09d52jTzN56R73sr3a0TMeIURMmh6Tpkc0kidG2sdGKEGOKmTVlCzPop3u5QlatvO81PuXHvaRHZV7vnCuOuDhRQFwJaCSCgCXx7HfTr2z7cS7x9sezy3KhaG1bRNCU+7r29hqCGVVUj8eWWNER0UIoRli48/GG7u0b3ya8zsUaXS4OrGb2rtZBYXV1SnGizEu39KpEGJ4e/Vvfe39woqS8aj/OlcdcAsqqQAuNxZOAcDvzSqdvp1c75vf6hr+qpbehlC3/3CVb0j1Op5rvrJde3u3VqAVV0PLKqzmamLpHvd7e7WEk8XtUVsE2cZG2KdEqY1qnvfgCkOqYRiSJNlsrGcAQEgFgD8Lp7Nw6cafXjnS3ls6FULUC5TujrCP7qysPKCvSHBnO31zqyQk8+MRNUd09NO7NNNprkzUF8drSaeK06dDkSb3sE/vbW9eR4pNN/4T7/40ye3Si7Ps8PbqpEh7WfNZywmp3rpvPXFmRvjpEX3aBAYG8JoCIKQCwB/YgdT0JfGuD481yXYWH4xurtwfaR/ZWQk4F0ELDfHpAf3t3Vpsml4ixT7QXe0U7L9+GZtuLN3j/jTJ7S2sOhSpcS3JmsBqqWGX7utm/0c/e4nSaYUhtay6b71AMabZb5O6Ozq3DuP1BUBIBYA/DI/H8+P+w6t/Klh7slFibh3roCJL112lDGunDG+ntKhbnBdLdNo/mmN+nayvTtZ/+EXXjaLoGd5IHtZWHd5e7tlUVuSSHfvPaubGI56vk91fHdK95dhGtWwDWyu3tVcHtpbrOCpu8u8NqYVPBG78Menjg+baM60zC4oGYFekAS2UPM3c7jOxNbz22ZsbnRzWoUbPLm2YBgCAkAoAV65ybuvP7G33zaYVOppjvrpDKzENILSO7dG+jvu7qwH+djA9q5n1XsoVQtzURl19V2CV2lSN+q9z1QFdSGZoLZvv4DuGyA90t4+NUOoFSEKIpEzP4nh3iVGF1z7LNAAAhFQAuBJV8rZ+VVV1GoD87FkhxIjO6sd3BlbyVximWH/YmPlt4eEsQ5ybwhqgSiM7qZMiVe/y/0qMimkAAAipAHAlufbN9G1Z9SsTIi/YuRLmeV1Oo5srW8bXuOCQmuk0F+10L92tHT97Xt33oV6Oh3uqVum0MqN6b6+W6yoeVd/6WRPb51BYBUBIBYDLzGpraqlpl5bdFnhre+WCN4UqxydJ+qSvnPk+/aeMp+tcQEi1wuWyvVqe67zIe2F13zLCrpjSInXqDVfVD6rDOwQAIRUALnNItTSra5vYzT6+q9q8TjVk1bSz5vIE96Kd2onckuufqhRSL6yHQCUZHrE+1Vgcr6332XEgQJFGNDo6MdIRHdGK9wkAQioAXIaQGhWqdAqxrUws7k7qUKQbWikP9rDf1Fq+sMLq6hRjyW5tbcp5G02N7KQeOu3ZeVyvaki9+/PClfuL//KHN5L/1sdxMVNm/Tqeay7ZU7Kw+knvxNtu6MVbBUBlQqrCVQCAatQiSHrnloCn+tsXxLmXJ2jZTtOlm2uT3WuT3c3q2h7p47g/Ug2s3J9epy7e2eN+IcblWzqtEyBN7GafEqW2DLKN+q9z5/Eqj1D3mL5fSkKYQphmNV8HwxSqTRjnn9bw1wMLAPwipAJA9WsZZJs/yDH7RsfKA/rS3dr2Y4bhMY/leGasd76w1TU6XH2gu9qx7BvrKVmeRTuLMq73YL/myl962Ed2VOzVVPKUbZLhMfefNCZ8UfDYBluFo6qk0nVfACCkAsAllJuX/92u5AOnlRvbOMrvXW91yLfLYlyEMi5C+fmMZ22KsSZF/+EXPSPf83qc6/U4V5dG8s1tlds6KD2aFDXn337MWJtifHHI7d3p1K5IA1rIt3ZQB7eWWwbZSpy/rF9t/SPLaS7c6RZCWBsHlP6RQ1Nrrk0xPkp0xx03So+qZ6jit75a1q/+9ojx6QH3F4f0rIKi7zoUqX8LeUwXu2GKSV8W8P4BQEgFgGq2PyVtXmz+qpMtCvV2QohnfxKhm10TQlP+em2zkAb1Sz++RIxrGWSbEmWbEqX+fMbjnQaw/6Sx/6TxcoyrWV3bnR3Vjw+4y7qtX+H5fbncHiGEkKTvj+jfH9GFENPWiejmymPRjmFtZb+j2p/hWbq75Ki6NJJn9nGM7KSUmJxQ4lf7Xc7VLlieEmUfG6EEOSQhxKqDejnXNjbhiBCCNVUASmDhFACUybtz/frf6vqNhbUdYlzzot711sKpynQn1QzhOw2gxHcrf1vfu4uptXAqu9Bcvl+ft9119Iz/CNsxRH6gh31tiv7t4eKfKn9UITXLnAZQ+rZ+Dbt0Rwf1wSi1V+h5Q191UB/1aYEQ4qOeCXcO7GMdzM3Lf+/7n94+0fFghimE6Bgi3d/44Jj+bWlWBUCwuh8AynLst1PvbDvx7vG2pXcH7RNm+yBBL7EpaN/6Wduy6gshjeisVH6fJ6uE+d4+7WyhaZVO7+2qdgmp7KxQb0jdPKHmkt3uT5Pche6ivCjbpMFtlAe624UQJRpCCSGEJAlTGE/XLmdUy85vzt+vuTIx0j6yk5KrmUt2lyyd1gmQZvR2PNxLtUqnJZQIqda1fSutTWZByYAeoEgTW6Q9MqB+syYNeRMChFRCKgAU8Xg863YcfDu53je/1TV8ypHD2qmPRtt9dwe1uo3O3e5KPGn4hD9xdSN5+R2BVeo2amXNKu1iWvyDSboQpvAJe8E1bQ/2sE+KVENrF+fF47nmnG3a27s1b4oV5wqrE7qqtVQ/J890mm/sdC/bq/nWZUNq2gp1s0R4rbDu6w2pfw09eFQ09b221s6rQojzE7YY1CTn/nbZg3t1kGWZtyVASAWA/11OZ+Gq7YfnJTZIzC2+3Vxhi3uPKdYdNkqXKoe1Vx/ta/e75X21hNTEDM/cbZpvsKswdAprPkCCvjheO5hhnBdqo+yTup0Xar00Q2z82Xhjl/bN+U+wSnXfD/br478oEKbV7apIiyDbjN6OsRGKtfOq37GF1rZNCE25r29jCqsAIRUA/uccSE1fEu/68FiTbGfxwaruDuq3d72VGsd2KcphFx9SDVOsP2wsjtfWHdY93v2cVGlkJ3VSpFrJTCyEiEk3ypoeMLiN/x0HjueaT/3gem+vJoR4/44aleyElZTpeTlG+yjR7RtwrWs7urOi+jvD6hRjdqzLdzcsq7D6aLeC6Kvb8HYFCKkA8CdnlU6XHqq7Lat4eX4thzS+64XvDurdFLRKIbIyIfViQnBZ/C60Cq1jmxjpv7DqvWtfYsVVaRe/82pSpmdxvLv0xN+J7XNG9GkTGBjAGxggpALAn9Cz/01YdLS1b+nUCmdTotTgQOniz1/W7fjnrgu4vYNcpZC6Nc2Ys+2iphOUz22IlaUCpWyT7gpXZw90NKopVSmknguX521DUNWytJ+wm657ZwrUCxRjmhV1VOCdDBBSAeBPxf5Cvjf01LRLz14XMDVKVWxldqq/sOMn880Z37g+Tiz+MzvgKuX7cTX8hNQkfUQnP20BbDbbyE/zrSX8lk4h8sKbA65rqZbTzP/CnkJMuvGXrwsPZZ6bEiqJj0fUGNFRKRlSJcl4qmRbgOxC861498pEt+8ysvBG8rC26l1d1PAQ6SLHeTTH/DCx1Plrn7250cn/u7p2RIfWvKWBP19IpZk/gP9JPsvh8zXzkW+c83a4JnazT+6hNqzhJ1GVlQjLOp5wUp8Tq32a5Hbpldsa1DQref6kDOP69/KHt1cf7Wvv3czP/NGqDtXp9qw6qL+xU9uRrpd1iSoc6safjSc3Fnq/7N1MeWtYQJeG5d3Wr9I4W9SVnoi2PxFtT8r0TPiycNdxXQiRmFsnMbfOkZO7PySkAn9GNi4BgP9Z93a192uuyDZJCHEsx/PMpsIOC/Omf+M6mOm54HOuTjFu+9jZbXH+8gTNSqg17NLYCHtU6MUWBWZdG9Di3O5TXx9y9383v8d/8hfudJ9xmRd2wlxNzI9zh7+ZN+6zAm9CbRFk+2f/i53xueOYPu5z58WMzU+Y1sX8OPfd/3VaCRXAnx6VVAD/u25uq4zoqPhuCppTaFpb2Ht71wdW7s9khbuDjvqvc+fxixrt0/3tj0fbrYZQ6w/rHo+ZcNKYts752AZpdLg6sZvqt7DqV2y68Z94d4lC7/D26qRI+5A2siyJ57cUXtggOzWUk04ZQgjv2Cb3sE/vbW9e58Jn+lrXdt4OLavgvGubnGnwHgYIqQDwp9UlxDZ/kGP2jY6VB/T5O1z7ThhCiJg0PSZNf2xDmZuCepXeHdQKfE/0s5fYHfTi2WUxpI08pE1gYobn1e3ap0nuAs106eZ7e7X39moRjeSJkfbxZfdJzdXE0j3u9/ZqCT4zOxvVsk2KtE+JUn3XSJVLmvaNq6xF+vsn14xNN5bucXvHtmCH661d2g2tlAd72G9qXdkYXda19d15VX72LO9egJAKAH8YTmfh2vijvVrXq1IHeLssxkUoY8KVDUeKe9dn5HuswmrpOaBOXXz2k/5SjMsqHFouYGtTb/L75Yx5PNf021G/tPAQ2zu3BMwe6FiZqC+O13yLl//e4nowyj6+q+pbvEw7a87fob21S/MtnVqF3nJCra+YdGPZXmv9lrkwzrUwzlXWmv3oMDk6TPYdm0s31ya71ya7m9W1TexWcmyl+S1Lh9W1/a2vwypL8yYHCKkA8Efi05a/mbxVDGrya1U7wCu2olLl8Vxz6Z7iTUG/PuT++pDbKlX2bmZbnqAvP7/LUmV2B/Uru9A8kWsKydx1XG+5IK/8jvolBAdKU6PUqVGqb/EyI9/zzKbCl2JcVvHSMEU5xcjKDG/5fn3xrvM2grLEpumxafqMb6S7I+wNS1VhvWNbnWLMiXVtP2YYHtOa+GuN7R/97H2alRxASpbn31u1j/af1/zfurajOikKyyiA/yW0oALwh6dp2scxySXa8nv57QBvfz5fCPHxyPNaLPk587lNQdf7NOf3VcMuPdC9UqVTqxmqbwuq0ts+efl21Ld+UFSihX6m01yZqL9a3JxfKrFE33eObPmnkp89K4QU2VROyjBKtHp9vJ+jXoBUeidYIUnCFMbTtf2e0Hfir2/6tCb+CiE++6lkh4EKy9LW7f4RtXd/+PA1fAqAPxn6pAL4Y2fTzXsOr/mp4L9nOp3MK4o+tRzSwFbKTa2VA6c8Xye7j+aYVsuk2g5xQ/2TQ0PP3NzjqpAG9e0vFAjTLB1Sy2re+UuO+OSA9sVPetwx3cqmN7dVBrdRR3ZSa6l+wmvp81hZs29z5an+jjUp+teH3N59nmw26YaWyh0dz435/OMn8jz7T3qEMH1DalnjFEJ4hPTdEX1Niv7lT+70HI8QIqyu7dYO6t1d1J5NbRUONTHDszpZ/+fGQiFJ1qWz2aSeofLwdsqwdkp4iM37+EynuSbF+PqQ+7sjeq7LtB7fIsg2vL06tK1yXQvZ2vXU9/y6R3z/i1H09M+9NHUDJI8pcs/1AQipaRsVrg5vp1zbQvYtnZZ+yoRUgJAKABfoxIkTQojGjRtX72l9busXH/Q7RbKsjeDX/hrkN6RWqCgYlbuFqV9Wx34hTN/iZmgd28Ru9kmR5+1B6qfCKglhiq/uqlnJaQAW7wZRlXmafm/rl7NFqi9rX6i5212+nfYr3ATVdxqAdaSqt/UJqcCfO6QyJxXAJfTKK68IIebMmVMtZ/N7W9/awPPv/ex+w9CwtvKwtjV8N4I3PGLt8bpCmEKS4n81hrWr8l6dVWWFztXJurcNvmyTiuaetpblUqPuFyb3C5PnDXIsT9Dn7XAdPeOxcu0tH+VXMjVWSVk7uD7ez3FXZ0WuRF4MkMU9EcrdXZR1hw3vNIBsZ9H6qrJ2cLVemjfj3VPXOIUQbw0LvD9S5SMDwItKKoBL5cSJE23bthVCHD16tH79+hdzqqwzZz/ckrIgvePRM8VBqqqJrXgjeJ/CaoUFvxIqX0n1W5sMrml7MKoKY3YbYmWpMZefy73Kr6Qaplh/2Fgcr63zmW4boEojO6mTItXSmbLyjueaS/a4l+7Wjp/1+KbeB3rYx3ZR6gVIlR9kpV4LKqnAnxGVVACX0CuvvOJyuYQQn3zyyeTJky/sJLEJR5budq062aJQ72AtAyq/DFkOq+B3T4SSlOl5OUb7KNHtW/CzZguM7qyoF11YPZ5rztmmvb1bK1GbfKCHfULl+j0V/5n2GbNPMdhcnqAtT9DKagJVoV2/GXd87KxMiLwAobWlWf3tT/azr08tDsEHM4zp65yPfyfNGuB4rK+dTweAChFSAVwSJ06ceOutt6x/L1u27AJC6sKv4t8+0fFgRiMhhBVPq1qGLEunYNt7twW8cIPDt+BnNVSatck2o4/joagLvO+8Nc2Ys+28Ze/VUpu0xrxgkOPlGx2+xWDfJlD/6Gcv1Y2/zKv0yxnTN6H2bqYsuSWgY3B1dniSbWJoW7l/i8BJXxd1JxBCFLrN+N/YJgpApdB0DsAl4S2jCiF2794dFxdX1TPM3N/hYEZxJXJ6H0fqw7Vm9bdX13RMq+D388O1PhpRo+658uHRM57p65wXfM6FO7U1ycU9Pqf3cRybUWvZrQEXmVC9rGLwlvE1vr2npnfMVjF4a1rp8GdW8rQ7junhb+QNWFbwfoLu1KvnDRCbbtz7RWGjubnehAoAhFQAl5lvGdUya9asizznmzu1KWsLD2Z6qnGcKVmeRza4HlzjzCk0L8V1eHOnNu6LwnWHDaP6Tp+riflx7snVNOZ7u9qvblwUoGPS9AlfFLRckDf9G9cFX2dreN0W5/d/N395QtEGVy2CbP/sH8DnAkCVcLsfQPXzLaNavv/++7i4uF69elX1VI1r21y6me00Xbq5fJ+2fJ/m7QAfeBF/wFanGC/GuHxbxwsh2gXLyZnVczO6RZDt6BlPVbcDLV9suvGfePenSe4SW5tezJhvbqv8Z1hAJXeCLV9ihmdOrFZ6eE9e4xgdrsiSeH5LIR8NAIRUAJdNUlLSG2+8Ufr4tGnTtm3bZrNV7QZOv+byitsDrQ7wnx5wn8zzxKTpMWn69PXSDS2V4e3VwW3kxrXksjrb+3aAdxlia5rx5U/6+lT3keyiTvLetvy3tZc3/myMWuX0Nooq6zyVOX744dpWR32rab+1HegLW13XXqWM6aIObiM3rCFV5jy6KW36RS8ac1bxAwa1UUd2PjfmTwsuZqh2xTakjRjSJjDTaa5NMb4+5N5wRM91mV8n618fcreqb7u5rTq0rTKgheyQ/ZwnMcPzdbK+NkXfcczwdgno21y5ua1yW3ulY7CtquOp6nEAhFQAqJSZM2e63W4hRL169WrWrCnL8pkzZ3Jycnbv3v3OO+9MmjSpyn+nbOKmVvJNreRXBjo+TNSX7ta2HzNyCs3PDro/O+h2KNLIzurj0Xa/636sWJOS5Vm008+enH/pYR/ZUbH7zhc1/d9DL3N7p7LCsTCtMS8Y5IhNN5bucX+a5C7QzA2p7g2pboci3dBKebCH/abWRXXK0ufJ1cTSPe5FO12+2bRFkG1shH1KlFpqjZSfIWU5TWvtVJbTrMxTCA6UxkUo4yIUzRArD+jzd7j2nTCOZHms7gchNW2jw9UHuqsdg4uH995eLcGngb/f4VX10lX1OABCKgBULC4u7vvvv69Xr9706dOnTZtmRdK5c+c+/fTTK1asePnllydMmCDLF7iKSLEJK0X5bgRf/jQAv7f1h7dX/+avvXyFYtKNot2fqiI6TI4Ok2cPdKxM1F/d7qpwGoDf2/rD26uTIu1DKrHjVOnWqn9d7Vye4H4s2jGsbaWesl0W4yKUMeFKWdMA6jqkcm7rAwAhFcAVZ8GCBc8888y0adNq1KjhPdi0adMlS5Y88cQTL7744nvvvXffffdd5G/pEmKbP8gx+0bHygP60t3atmOGx2Na0wAe22AbHa6OjVBi0jyVqfNVhmGKjxL1l2JcRW35JXEi18wuNKvUUjQ4UJoapU7urnqLwYbHtKYBvBTjGtlZfcrzIucAACAASURBVKinWnrMjWrZJkVWdszW9gHztruOnilZdIxN029N073NUCv5vwRD2shD2gQezzWX7nEv26tZp/36UPFq/Rp26Y4O6oNRaq9QmTc/AEIqgCuUx+NZsmSJbzz11bp16yVLlhQUFFTXr7MKfuMilJh04+XYkgU/30dWvgxZgt/Nk4QpYtL0ZvPyRnZS/9bXHh5ShVm25ReDfR/ZLlieEmUfX9nm/9LLsdq9Xxje7QO8Wx4IIbxblXo76ncKkStfEg6tLT3d3/54tH3jz8Ybu7S1yW7v8MZGKEEOaqcACKkArmw2m62shOpV4QMqlJWVNWPGjK+++koIMXz48FdffbVfWHC/0SULfkKIGnbpvm5+u9xXwLtlaOm2/EIIa5v7Qrf5wT5txX73EGv7qyomYL/FYFHF2mR2obnlqCEkIUxz969FN/eDa9oe7GGfFFm85cHQtoG+m2AVus89WBJbjhqD2yiVycF2uaiwKj/rFkI8d52jqruYAgAhFcCflmEYI0aM2Lx5s/XlihUr0tPTN27caLPZvAW/Wz92fnvYLYRIn1Gr6nU+SUhmywV5vqXTeoHSQ70cD/dUrfv78wY5lifoi+O1gxmGx2OuSXavSXaH1rFNjLSfLqjadFVvMXjmt64FO1yVH3NihmfuNs2Ky96D5ey8Glpbmj/IMWuA3TtyIYQwxaIfXR8fcFfLPl6XB2VcgJAKAFeCuLi4zZs3h4aGbt++3Waz9erVa8uWLfv377/66qu9sa+Oo+jBVUqoSZmeT5N0IZnCFN6EGt1cuT/SPrKzEuBT1qwXID3UU32opxqTbszZpq0+5BZCHD/reXZTYVFmkiSPKWxVyU9B56a3lj9mb4l33WHdU/WdV31HvmS328q4mfmeZzcVPr/FNfiCSsKX4X9UPGJ9qrE4XrNyNgBCKgBcfhs3bhRC3HrrraGhoUKIESNGLFiwYN++fd6QWlWFhvj0/LXwQoh6gdLdEfYHuqudyt3Ovl+Y3G9UYFKmY3G8e0WCO9vpKcpMptntP/l/6+MokW4vht/Zsd6FUFVawlU08jB53iCHd6GVcX5J+MosrPq9CLKNaipASAWAy8pms6WmpgohwsLCrCNNmzYVQhw/frycH/HbXzPHJX1xyG01rs9zFZXjajmkOzuqo8PV61rIqlyp89hstk7BYsEgx9wbHZuOGqvPde9PPOUZ/0XB1HXSwFbK8Pbq0LZycKAkqt6R3mazfbhfe/1H7cfjxa3yWwTZxnSxjw5X/K7Zqnwz/HoB0kNR6l972H/4WfeO3CoJ/3uL64aWymtDHO3ql/oVklQt+x1U/nim01yTYny0373xZ93nIkhDayUN7VBjQLeefDQAQioAXE4ej0fTNCGEoijeQCOEyMzMLOdHShw5mW++EKMt26t5s6ko47Z++ecpcVyVxcBW8sBW8oJBDu80gDyX+flB9+cH3dZa+0f72q9pXuWn/PlPbt8+r72bKUtuCehYdom3qs3wFcm0Rj41Sh37eeGu47oQwuMxN6S6E06qfkJqNe13UOFx723985avKdKIRkcnRjqiI1oJ0YMPBUBIBYArgt+NAOrXr1/5M2xNMxb6NKjq3Ux5a1hAl4a2ahykdxrAhC+LMp91Mz1QFdc0D7zIk+84poe/kTe8vfpoX3vvZtUwf9RliFUH9Td2aiW2PLhEfjljHs81y59L4Pe2fvO60vTmB8f0b1s/qCMfBICQCuD3s+jfc1OSDln/Hnb3nTcOHez73SOHUxP37Q8OCe7bv58Q4tWnXkhL/dn61r0zJneL6i6E2Pfcc67Tp62DTSdMaHb11UKI07/8krF27dmUFJuqBvXr13r4cEmSdLd77z//6dGKGnPWuOOO8P79CwsL/zX1scICZ4kxHDpwcN0nXx49fKRZyxY3j7qtY5fOQojTmZnPPfyEd3jeMVxqTZo0EUJkZWVZX545c0YI0aBBg4vJfOM+d06MrOaWn+8n6PO2u3zb8l+8WdcG+HbU//qQO6KRfDEjL2fn1ee3FF6iV3DXcb3lgrzBbZS/R9ujS630Ssr0vByjfZTo9pZOhSiaYJBdaKYW1v3tdE79oDr8uQAIqQB+Pwe3xO/atM36d0RUNzG0+Ftnc3Iev21SWvKRHtf27fttPyHEge/jDuzca3335pG3iSghhIjcu1ecm52ZPny4ECLtiy9avvJKQ/e5LYK2bMn84Ydas2cLj6fXrl3iXF/9XT17CiEMXd/15Q95OWd9x/DfZR/Nm/KUfu4Mn897d9pr/xo5cayzwLlj1bfeEXrHcKlZC6Q2b95s3RTetGmTEKJdu3YXcKpODeWkU4YQIuGkMW2d87EN0uhwdXpve8RFVFXTzprLE9yLdmoncotjX7tgOTmzGtKqb0f99Yd1j8f0HfnEbmrlC6sV7rx66UKqOFdXXpPsjm6utDk3nWBNiv5anJ/la0KIFQnubKeZ6xKLUposShF966dPbJ8zok+bwMAA/m4AhFQAv5OOvbvVbRbSvF0r34OvPPKvtOQjvkc6X9+rdmjwrjWbvfHR60irVicbNmwaHHzm119bLlgg3G4REJDZvXvwmTPiwIHg7dt/XbmywejRcT16eDStz759wuksawxZp08vnPGs7nY3CmvarkeXA7HxWacyF858rv/NNwbWCOw94ibh9uxa62cMl87QoUODg4O3bdt27bXX2my22NjYRo0a9e7d+wJOtX9yzdh0Y+ke96dJ7gLNdOnme3u1D/e7B7ZWHuxhv6l11e6kr04xluzW1qYUz570bcsvP3u2Wp6+t6N+Yobn1e2a78jf26tZhdVyNqmySqcXs/PqxesUItcLlKwwGpumx6YVHX9/b/GGWyWmCL98o+PTA/rc7a7Ek4YQYltW/W3b6/9trzGmWcrfB9Rt3KghfzcAQirwJ3csLT1pf6IQokPnTs2valH6AaczM+PjdnbvFdUgONh7MCcnJy5mm+/BIymHDx08pChyRLeujZo0rtIY7ppx/023D/U9ErNx0zfvf1biYTOf+4fT6RzevGdeTsmAmDVsWM8xY4QQR5Yvb+B0CiF++/e/G/brZwiR+8ADQfv2NYmP99xzT4/Zs4UQ4s47Raml8d4xfLfmG2d+QVBw/Xd2fN0gJPjA3v0Tew5zOQuT9u2/bvDA+R++nZ+Xd2vLPqXHcOkEBQV98skno0ePjo2NFULUq1dv+fLlF7yLVXSYHB0mzx7oWJmoL47Xkk4ZbsNcm+xem+xuVtc2sZt9fFe1eZ3yotupAnPJ7pKl0zoB0ozejod7qZW5C38819xxzOOqYqU1PMT2zi0BviMX50rC/97iejCq5MjTzprzd2hv7dJ8S6dV3Hm1mkJqQ9vHdwb6va1vLS8rPQ0gQBb3RCh3d1FWHdQnr3bmFJpCiGynWJTStF+9hDsHElIBQirw55V79uxT9z68Y80P3iPdb+z3woeL6gYFCSEmRt96YOfe8bOmffnG8uyM042bh36StOmv1408sHPvmMf/Gv9d7KFdCdbB7NNZT495aF/sj9ZJJEm69v+Gznr7FZvNdlfEDcePpF0z9IY5n79jfTf1UMo9V9/k8Xj+sWT2LeNG+R2YruvvPjnXEeBo0qLZL4dSq/Sk6nbokDhmTOGpU52jiu7En2jUKEgIIVe2deeNQwd1PR5/8tffGoQECyEc5+6u1gkKuowv1oABA37++efY2FiPxxMdHX3x+6wGB0pTo9SpUWpsujFnW1E19FiO55lNhS/FuG5opTzYwz6odcl2nClZnkU73cv2ark+XQL6NVf+0sM+sqNir+gal9h51WaTymrtVMmRe0vCGfnnjdwwRTkl3sv1InYKtr13W8ALNzisBVJCiPKbs+ZqYt4O7bU4l5VQARBSgf8V8x97bseaHwJqBEbeeE1+Ts6+zXHx38V8uOCdv86a6X3MqvnvWvM1I6Kj7Ha7dXDd0k+yM05bB1VVfemBJ/bF/linXt1OA6JyT2Yd2L77h49Xdx3Qa9SkcUPG3rbk2dd2/rDtTHZ2UL16QojvP1/r8XhqB9XtP/ymsgb2wYL/HIjf/5cXHvt578GqhtQGPXo06FHco8c0zQ5Hjwohfo2IqHx1NzgkODgkODc3d8MXa75atFwIEd4rMqJ718v7egUEBNxwww3VftroMDl6VOD+U56le9zLE7Rsp+nSiwqrXRrJM/s4RnZShBCf/VRyLXydAGliN/u9XdUuIRXPZ/W7dN3b/nP8l4WV2TvKz8jPlYRf3e46esbjHbnvw6zSafUuEbsYobWlWf3tT/azCyHkMq6c3+mz1TXNFwAhFbii6boeHNZkwF3Dho/7v343DDBNc1L0rQd27Uvdk1jikU+tWFCjTq2GjRt5j2RnnJ485x8tOrRu2LhRfn5+WHhrubZ9/KNTwrtGGIYxouOA335JP56YKoQYPvHulQuW5eWcjd2waej/3a5p2oYPPhdCDLpruJVZS/v289XvzJrXa9CAe2dM/te90y7mObqcTn327KDkZE/nznVHjqzqjx/YtXf2xMeFMBs1a/qXFx5VVfWyvFJVbQtf3rckqazHd2ko5g9yzB3o+P4XY825Fvf7T3kmfFEwfb3kMYW3dFrDLo3spI7pol7bQlZsFf5e6VCmZ/AK5/kd6W3D26mdG9o+O6hbxz/Yp32wT2sRZBveXh3aVrm+pVL552UVVh+Msn93RF+Ton/5kzs9xyOECKtru7WDencXtWdT28Vfogto5u9ye344apT1eLnUpXO6PVvTjC9/0tenur2dBwJUaVg7ZXAb9bb28safjVGfFvC3CyCkAn/2j4Gi/PWfM03TTNp/4JMlH+zcGJOccFAI4W3GZIkaNGDoyNtKloJaNR/30P1WS3khxMwXnjQMY9/uPSveenfXN1tPpf8qhHBrbiFEoyaNrx81/Kv/rIj9euPQ/7s9bsu2tJSfZUW57cHxfkf1U0LiCxP+ZpNtM+b/S5Yv6rZsXnZ23UcfFYmJnquuyp0//wLujweFNPjninnpB1M/mr14+sC7Z695t98N1/4+r85ZlzA8RTmmqm3hy/tWRR3pFZu4qZV8Uyt5wSCHdxqA915zhbf1izvSm2L9YUMIISRz/0lj/0nDylsjO6m+FdO/RKq+FdajZzwL41wL41wtgmyqvwVc5TxlmzCtkV/TXLaS3NybAkZ0VKrrElWpmX92ofnaj4Wvx7mynWbxC2oKWfL/+FxNzNtR+JrP48W5rlgzeqtV3f0VACEV+MPbuuH7eVNn/fpzWjmPqR1ct/TB4MYNvQlVCPH1R/9d/PhLmb+d8nuG4feN+vrtDxO2xLnd7s3/XSuECO/ZtXW7Nn4f/OYTLxcWOENCm8x/6kUhxC9xiUKIIwcOTR9z/x33jel/43WVfGpnTp5s8Mgj4vBhERZ2YvbskNq1L+D6dAjv1CG8kxAi67eTq5d+8s37n/1uIfXbw+6Wrxm/227yc+fOTUtLmz9/vu/Lak0DeDPePXWNUwjx1rDA+yMrriWXvK1vFuWtGX0cY7sopfOW99637zZLVldUIYSQpJh0o6rTAC6jmHRjyW73p0nuQve5uCkJYYpvU/VWr+VN7Gaf3ENtWKP4IlTYFQsAIRX4n3PqxMlZox8qyM1r163LoPG3R17TZ+GM5+I3bwsKPm8fI1nx83lRz01OFUIkJybNvv9xt6Z1uabnjXfd2qN/r6dHTUk9cKhGraLKZXi3iI6RXZLiE3ZuirUWad049napjJuqeWfOCiEyjv+Wseo378GsjNM7Vn3b69roSj61vOzsBjNmiCNHRHh49ssvh1Sx6X1SQmLst5tk2XbfjAetI42bNxVCZP+W8Tu8Ln3rZ23Lqi+EsHaTf36L665w9e/97J2CbZfoNx44cOCZZ55p3LjxvHnzSn835FyiqhdYQWLyu3Tdaqs0urOilpszZZsY2lYe2jbQyrhv7NQy862Maw54N79jiPxAD7vfjHuFyC40l+/XF+/SDmYU398PrWMb0UmN/9XYfswwPOaxHPOZTYXzd7jGXW0fG6HEpHlKdMWySqe/W1csAIRU4AqVuGtvQW6eEOIfb7/UISLcNM2c7GwhhGSr2n8gt/8Q49Y0IcTzKxY2bNxI07SzZ3KEEN4YKknSwHvvTIpPmD/jmcwTp2rUrnXD7UPKOlvn63vVblHcW+eXuMQT6b/WD2nQbkD30FYtKjMej8dT56mnxJEjIiDg8I03noqNtY7XbtCgU3SlYm7izn1L/zGnVt06198y5KrWLV0u1/bVm4QQQY2Df4fXZdNfww6kpi+Jd314rEm2Uxgec3mCtjxBK9FEs7qsW7duwoQJBQUXPtOx0BCfHtDf3u2nI/0D3dWqZmursPpIH/u7e93ezHcww5i+zvn4d9L9kfZH+9ovdWn52NkqLKVPzPDM3aadVzoVomOI/Hg/x13hilUK3Z/hWbq7aFFaTqH5epzrdZ8taoUQ7YLlJ69xjD73eACEVOB/mrdi+tbTc64bc+v+zT8eTjgohMj89WSVzhNybkHV60+80Ovm62O//jbj+AkhRE52jvcxg0YOX/z4S1Zn/r5Drq9fdmlz5nP/8P3yqbFTT6T/2qpz+/kfvl3J8fz2zTfNd+0SQojCwjbz5xfPKuja1ahcSL1m8HWLAgPycs7+tf+dHfpF/pZ0xOow0Gf4Db/PS9O5ddi81uIFZ+Gq7YeXHqprFVZj0/TYNH3GN7a7I9Sqhr/sQnPLUT+rwqdMmfLWW2/Vq1fP4XBcwDhP5JsvxmgrEjTfmZTVEqZrqeKhKPWhKNX37nmh23w9zvXGTm1wG+XRvvZrml+qOQCPfONcslt7oLt9bESZtVvDI6z5CesOFy8IE0I0qGFbckvgLe3OG1uXENv8QY7ZNzpWHtDn73DtO1H0WlwJXbEAXGlsXAIgoke3PgOvEULsWLvpxbEztn+1cfC9dwohjh056nK5Kn+eATff2K5rZyHEhhVf/Pvuh5PjEvrfMVgIkbz3gHlurUn9Bg269S3a4/7Gsbde0ucV9sMPF3mGJqFNH/vPS44AR3bG6e2fb7AS6vBJowffMfz3fIECAwPuuT583fiQ0W0KhBBCEkKIbKdnYZyryxt5/ZcVrE6puBtRTLox/svCZvPyFv3o5zU9dOjQoEGD4uLi6tevfwEjjEkzFvqs9akbIH17T80t42vcE1Ft5d5+YfKyWwOOzag1vY/jXDo01yS7F+7ULunFP5hhTF/vbDYvb/yXhTHp513n47nmM5u1lq/l3fJR/ppkd1FClYraApwu8Nz134LxXxYmZpRcIGWXxbgI5cdJNW9qUzS1N31GrfduCyChAvBFJRUQiqK89NnSz99fGR/7Y0ijkP974N5atWtFDu4vhNBcLofDMf7fM7Ozslu1ae37U9bB4JDiG981a9ZctPHjVe+sSIzf1+yq5ndNHq+53f1GDpEkSdM0b4kutEt78V1Mo2ZN+lx3TeUHedvD90bdfqPvr6vQ3iFDnP36lT5eu0GDTpU+ydBRt3fqfvW6jz9POZjcqGmTa4cP7H1N9O/8Avnc9K8hhBCmJCSzpirla6YQIjZNvzVN7xgi+y345bnFu3vci+PPmyJZ2vvvv9+0aVPDqJ7WmzmF5uQ1zmm9HNXbkdS78+rvduUjmypJGYZVu7V6Y3UMKcqRT33vSs32+E66HdZefbSvXQjhW/H9YJ+2Yr97SBvlge72weevf1Jsos65svUV0rcVACEVuOI4HI7R9987+v57vUduubO429Q11w0o/SN+D9auXXvCtMm+R5q3aO77pa7rezbECiEG3DnE753lhB3xhR53py6d27Rr63u8e8+o7j2jvF9u/WFz5m+ndLe//Uh/+inuq69aR0VFXFdmBwCPxxO/fr1H1/s6nRWOoWWbVg/+85ESjykoKPhu3beG0+V/DNXBef5dfot3imf7BjbfHZusgt/jG6WRndRfzhQlp2c2a2/sOrfwSAghRMcQuXNDedWBktXHpk2bVsuY2wXLqVkew2MeyfJMW+d8bIM0Olyd2E3t3ezC16ennTWXJ5TceTWsrs3qgXpJ/T3afkNL2XchlDfrJ582Srwi3nkX/cLkeYMc3p/yeMw1ye41ye7QOrbPRgX2aEK5FAAhFbiSJOzcveDx58/+dvrY4V+CGzccPW2S34etmrdUCPGXl/9eIqSWsOzJV5N27jOFn3UtPTds8Hz7bfrzz4smTcr6ccPt7j13rihjkVBlxpCVefqFu6ZdomuVfvzXR74p3JjVKNfV0jpSyyENbKWM6WIf3lb2ro63VsFnOs2VifpHie4fjxtW6c57nmc3FwpJstmknqHy8HbKsHZKeIht1UF91QGtzE71ZfDtSFXiuG+/z+euc1x7lbw2xfhwv3vjz7pLN9/bq723V2tV33Zz26Lm/IpUqU74pwrMDanGBwlu3+b/Vlv+4e2U61sq6rM5lRnSBR+3LlG9AMmaFJuY4VmdrH+drMcdN0yP6d1u4LoWRa+I73nqBUijOiv1A6Tnt7oOnTas9+nxs55fzpg9mlTtklY8TgCEVAAXo0btWmn7Uwry8q8e0HPma881bRZa4gEd+3dXgmtZ/27erlX5Z/Nd+x/SrGiX091du7rCwqx/Nw0ub2KAZLPF9ejh0YryXI1mzYQQsqL0uPU67xYG5Y8hsEZg7xHFu7l6x1Atfj526ovfivNx3QBpyS2Bt7b3v+Lbu3996e1GA9SyV8GbVdsCvvL7CAQHSuMilHERyvFcc+ke97K92tEzniNZRc35W9W3+Z0G4Hse72197810f+uKzIsfavnHS1yi8BBbeIj98Wh7YobnTKFZumOr9zylx39pxwmAkArgYrTp0G7DqYRyHjDlyb9V/mwl1v5brn7qqcp+8lW1x+zZJQ4GBAS8tOS1Sp6hQXBw5fsMXKScQnPkJwXN6toe6eO4P1INLOPvVlEz/Gvs6w8bHyS4o5vLl7efaGht6en+9sej7Rt/Nt7YpX1zWC9/GkBZt/X/1rea57ZepPAQ/xXQUwXmkt0lx18nQJrR29GkljR5tZM/AgAIqQD+JO7tak/N8pzrAO+Zsd75wlbX6HD1ge5qxzI6T8mSNQ2gzImPyad/14KcXRZD2shD2gRahdW3dmkn8zzeaQARjeSJkfbezWyv/+j+aP95zf+tnVdHdVKUy9eFxajcpUrJ8iza6V62V8t1lRy/tXPsqoM6b2YAhFQAfx43t1VGdFR8O8Bn5HusDvD9misTI+0jOymBlfsz5rdOWYIkScOHD1dVVZKqv2xpFVan91bf36cvjteSThlCiISTxrR155UY6wRIE7vZ7+2qdgm5/C0CJ3zp/Ca1zIVfTl189pP+xk5tR7p+ZY4fACEVAC4hbwf4t+Ld83e4rO3sY9L0mDT9sQ220eHqzD725nXKjJWVnCIphLDZbG+++WZ1DTsvL++ZZ55ZtWpVenp627Zt77vvvpkzZ9axy9YM2th0Y+ke96dJ7gKtaFS+pcfLK7uwaEglKr7eWQdW6XT5+ZsXdGkkPxrtuBLGD4CQCgC/H7ssHu6pTu6u+k7xtAqrb+3SxnQpWfCz6nwvxbismqWlToDUrbG8+ZdLfvfZNM1Ro0atX7/e+jI5Ofnxxx/Pysp68cUXrSPRYXJ0mDx7oKPRnFwhxMw+jjkDHZf9Inv3tbK+rBcoWTHUqvhaU2kzCsy1yef1HRveXp0Uab+5jWyj2ykAQiqA/9mo6jvF01o77zZKTvFcnqCXqPN565RfJetWSL1lpfOB7vbBrWX5EtyX/vnnn9evX1+jRo2NGzf26NHj9ddfnzlz5rJly5599llVVb0PCw4sinW1L+u6qOxC07cZatHYatrWjAl06cJb8bUKq94HtAiyjY2wT4lSG9UknAIgpAL4X1DGlFDfTpnWFM9/9LPvPmEsT9BXJblP5nlKT/HsE6bcHaEObi23DCqKoo1rScE1bZkFRR3mg2vahrZVhrdTB7aWa6nlNemscEi+6tSps3TpUlVVe/bsKYS45ZZbZs6cqWlaVfsoVTieLKeZ5xa11Er9SInjeW6xIdX4cL+2OkXXdNObTa0LMriNEqiYQojoMHn+YMfGI563d2vfHHYLSfpHP8fNbeVeoeeVTi/g0lX1KdOFCiCkAsBlVUYT09IZRbGJnk3lnk3luQMd1jQA6050Oct3+oXJv86s9VGi/lKM62CGkZnvsaqwAao0spP6t752vy2Wqtq8Mzg4ePz48d4vlyxZIoQYPny4323GylHh7/3+iN5obu7ITuqkSNXqXVqZoXpv6xe6iy61bJMGl9y8tPhVqGOXbu8gG6b6zWG3MM3nrrNf/CWiTyqACv4vnUsA4I9i8eLFLVq0CAgIuO666+Li4ny/ZU0D+Hp0oPXlTa2VuQMdZS0wlyUxtouS+NeamyfUvOdqe4AqCSGs3aq6Lc6/ZaVzTYphVF8ieuutt+bMmdOkSRPvhNTqZY18wLv54W/mv/6jO6/sfWqzC83Xd7rD38wf8G7+B/u0cwlV6hOmpDxU66vRgUPbXvj2rb+nLKfJxwH406OSCuCPYfPmzVOnTrXKaVu2bBk4cODu3bvbtGlzMefsFyb3C5Pv6KhO+sp52ukRpvDdaH5ipH1SN9XPblU+Mp3mop3upbu1sh4wZ86cJ554IiwsbPXq1U3K3qj2grWqZ3MokjWX9GCGMX29899bXQ9G2Sd1U30fdjzXnLNNe3u3N5ha6VQIIQnT3J6uX/NufmWe7+VVaIhPD+hv79Zi02i8ChBSAeDKsHjxYofDsWXLlg4dOtx0003bt29ftWrV448/fsEn9LdaSApQhRXjjp/1PLup8PktLusm+JA2JfsqJWV6Fse7l+3V8lxlVvWef/75p59+ulevXp999lnjxo0vxWWJbCp/fGeg7+37zPyikbeuX1RIfup7V2q2x9uBy5rYMClSFUIs2e3++IBb080S7YiuhgAAIABJREFUz9fnpv8VIbvQfO1H9+txLt/FcKG1bS0aBvHRAAipAHA5LVmyJDU1tUuXLqZpBgUFCSFCQkIu7FR+y4odQ+QHetgndFXTcjyL490rErRsp2mcK6yGN5K7NynKqWtS9NfizivmyTapdBPW999/f9asWb169fruu+9q1KhxSS+OVRKeN8ixfL8+b7vr6BmP4TGTM4vCd/Jpw/c5+u4W2y9MfuZax6s7tBLPN7SO7btxNdrVv/xTwvxNnxWDmuTc3y57cK8OstyRjwZASAWAy6lGjRpdunSJi4v7+9//vnXr1ltvvfWee+6p6km2phlztmnrD+uly4rWqiMhRKdg24JBjpdvdPjeWU48aSSeLIp67/u0YQpvJP+tj0NIYvznBb6/KDs7e/r06aZpxsXF1a5d23v8zJkzvl9Wr3oB0kNR6uRIdWWpe+LRzZXHoh3D/O0W26KutGCQIzpMnrzamXOujf/xs54TeWa7+pft5fbbFSu0tm1CaMp9fRs3a9JUiKZ8KABCKgBcKWJjY7du3aqqatOmTV0ul91ur9KPL9yprfFpRD+9j+PJa+zesqKvAFncE6HcE6H4va3vXQs/pI1sk/zsTb9p06acnJzLconU80cuhHigu9op2H9N1KmLd/a4X4hxlbNbbDWK/9UY1k4JKHdLqsQMz9xtmm/pVAjRMUR6tFXyXdd1keUIPgUAIRUArjgPPfTQtGnTnnzyydmzZ2dmZq5cufJizvbmTi35tOfBHvabWpc5BdMqrD7V3+5dIFWZBUYREREff/xx6eOX+r5/6ZGX9V2/W5v2a660rm/z7dhfvWbHut7e7b47Qi2dmw2PWJ9qLI7X1h3WPd46tyKNaHR0YqQjOqKVEF15/wOEVAC4EB6Pp7CwsPwcVlBQUHFQ89fMPysr68yZM61atRJCTJ48efbs2evXr8/Ly6tVq1Y5bd7L+tadndTVybpLN9cmu9cmu0Nq2m5uqwxvpw5pqwTIfhZCNawpz+ovPXWNXQhRmQ72bdu2bd26deXHU5YKO+RvSNXv+6rQuxmBqKgZ/vZjxtoU44tDbu9usXZFGtBCvrVD0ZYHqw7q50KqVPlXR1S6mX+207MwzrUwztUnTPF2krrvq8I1KXpmvsc6f3AN6eag1KEt9Rt7tKtdi1mnACEVAC6OzWYbO3ZsVFTUlClT6tSpU+K7qampL774Yrdu3aZMmVLBiUo189d1PTIyUtO0lJSUmjVrWk1S69SpY/XGLyf2lfWtT0YEZjrNlYn64ngt6ZSRca6lf0hN24NR9vFd1eZ1pNLnKb03vdPtWXVQn7fdVcnfW9WO9BWeJ6fQ2hLW7VDE6HB1Yje1TzN/49TFO3tcJW7rW1seTIlSvdtxlXgZKvnqVP4p/6t1QoYt5MNjTbKdYnt68RwJb+3W57Z+Fz5QACEVAKrN1KlTBw8evHDhwqlTp3rD6K+//vr000+vWLEiJCRk0aJFF/KnSlHGjRv3/PPPR0VFdejQ4dtvvxVCTJw4UVXVCx5qcKA0NUqdGqXGphve7ekz8j3PbCp8KcZ1Qyul/GkAuZpYuse9aKfrSFZxCPvdmsx7O/aH1LTlu80CzXTpwsrZ17RQ/h7t8I68rNv6f+lhH9lRscu/69ujfQPxj4FtXnAWrtp+eF5ig8Tcov+T4bY+AEIqgEvr+uuv79WrV1xc3KxZsxYuXOhwOGRZvvrqq61VRI888khV9wX1evLJJ3fu3Pntt98eOnRIkqSpU6c++eST1TLm6DA5OkyePdCxMlF/dbvr6BmPdxpAs7q2id1KFlZj043/xLs/TXK79JKR9K+rncsT3PdH2kd3VtRLk/+O55pL9rjf2FlUehxwlbzo5gBvSVgIsfWovvWo3qyubXS4GpNm7PApWJazW+zvKTAw4J7rw+++1rNux8EVR+r3rfPrmP5t6wdxWx8AIRXApfTMM88MHjxYCJGRkeF7vHHjxpMnT77g09rt9jVr1uzcufPkyZPdu3cPDQ2t3mFbhdXJ3dUPE/Wlu7XtxwzDYx7LKSqsjuysPtRTjUnzvLdXSzhZ3BSpUS3bpEh7VKg8ZY3z+FmPECI2TY9N02dtss3o4/DtSHqRvOuKSvTP6t5EKVESXpnodunmsRzP3P9v784Dakr7OID/7tZyaZeklKRVZS3Z97LGJHv2rWTGmMEY7zCyDMbSaJTsRhSDbCWMXRElbZQKlZpqpO223vX945jrSpns4fv5q/ucc88959x769tznvN7Ip8PQjDWZH/rqOzRkfeBu05fgc1mD+naZkhXItLHtwYAEFIB4L2Td6bWaH+bblR5rOncufP7/Z3Ipkl23El23MQn0l2xz66SV4tl++OF++NfuOfdvAnHy15pSjsec7vS4HmNz6Q/D5GZxdJvwysXn69ZhPUNMF2nu2KFTAiWh86XQzDTJby0p9Lmm6I/4oWlVTIiGmbBm9FBadDHm0GqoFIWloZZTAEAIRUAGgB5Z6rcm3WjfrAhni+z1WX/5qz8a3/lg3fFu2KF17MlTF0kvhLL1ZI3x57X2eCF3Mlh0RAzzhAzVfnl+IJyaZVIFhgvDIwXvjzVU33cK5CuixAGJ4kUp7PqZsR99XACE032b87KuWXSI3dFRHR8jOrHOof1mTkWAKDOjgmcAgB455jOVMWWN+tG9Qyt7Lm3IjBBXCX5ELsdFxc3ZsyY6OhoeYsShybZca9M4X/t8GzWgMfzG/8xQqVGQlVkoMb6uafSsTGqOny2vIhT8hPJt+GVhj5l356tzhH8R2KrklBggrjn3gpb/7L9CUImoWqqsuZ2Vk6c0/jqFP5Eu/c14PWdUNz/LTermYSqpUpeZrnd7Ezx7QCAekJPKgC8F4qdqdra2q/Vjaqno2GgxmLCHDPEc/5Z1gQ7pe8clYw13tdF66qqqqlTpyYkJIwdO9be3r7GUs1/e0A1lV+1AxIZMRf9FSrSs5hAKZLIqkSy329W+0cLmdmqBppyOC92FDBdjwdevBOfWCySyQTV9KhI+qhIZqFDH+vC/X+qdf9t1Ern2zx169JaVbU1vhcAgJAKAB9Z3759XVxcTp48SUSzZ89+rW5Ui9YmD+ZKbyWmh6ZUnM7XSxKoF1XKttysDogR9mnJHWrOHWbOVUyrb1DMv0a7RCLx8PBISEh43cNktlMmor8eSE6lil6oSN+IPcSMy5TZJ3q2wvEUcUmVNCxVFJYqYlZgtnM6TXw0WZSkcEuWjR5nqBnPWJMVkiy+kikWimWKzxpny+vXksNmvfkh/2f71UxJB/1nEwS84KVi/pklslOp4oNJIsXSpzZqpYP18oda8h1sW7PZuDUKABBSAaDB2LhxY1hYGBHNmTPnDcKfY1tzx7a0iujug8c7b1cHZesXVcr+eiD664FoXvizoZmj2nBVOPUq5s8MFb30SFKjnbF169bAwMDevXtfvnz5tfZTKpX+el3ofaX6xYnmOYu7K49rw1XsKP3KkvOVJcd3EO2JE22LESY/kRSUS+VF7KNznsU7LVXWBDslxVlDZ3XgFVXJ9ieKFZ/1R5zQQJ0dMka1kz6nrkN+y/afL1Wtiaiu5cavf4v5V0no8F3xjlhhZNbzbKqlSuMNc2d0VG5j2gK37QMAQioANETGxsZTp04lIj09vbfZThvTFj6m9Etl1a4LKRsfWuQInld6mn+WPcGO94phAFIZhafXrNxUQ2pq6k8//eTk5DR9+vTXDalEdDtXophQHQ25O11UrJrUPuK/MY++tud9bc+LeCzZGSs6fE8kf65i7K5BS4X1tT1voCnH/VhVzL9xNqdUmlEs6/Q+c+ALN351VFL+9y8GLusDAEIqAHzafvjhh3e1KVVVlblD23lKJGdupuxI1TqbqyGRPpsIfvtt4Zg2NTv8mH6+DTeqFa+hv0wsFs+cOZPFYgUEBMTGxr79fkZli238y4ZZ8BZ2VXI0rLPwU/cWnO4tOD7OyvsTxZFZkq8deN3qKFNVKaaQFLF/tFCxLP8HMMcw+VK1dfITGTE3fp2plC+y9S+T/8xhk7N+yUzzokGOVrisDwAIqQDwaTA2Nn63G+RwOEwF+Ozcf3Zfz9uTY5YjkArFssB4YWCC0KrJs5wXkSUx3CRQ7Ofrql043aLkaIrsdFErxQ36+PhERETs2LHD2Nj4LUPqz71V9sYJM4ulRHTqvujUfZGdHmd6ByV3O25dt1sxXaRf29c+uatASD5RQt+b1YoHYqzJdrdTWn216n2/d66W3N868yMTHu6KrT6Sb1z10vRaBmrsqQZp07o2M9RvTtT8A3+0njx5snLlSoFAoKampqmp2bhxY21tbVVVVQ0NDXV1dTU1NXV1dS0trUaNGr1ldV4AQEgFAHgNhvpNl41s+j+J5MzNlPVJOtefqJGMkp886zTNEzwbZ6mmTJOM5EMkW4QnXVPcSGlpqbe3t4qKSnh4+NmzZ3Nycoho48aNSUlJS5cufd1dWtZTaXE3pQuPJP4xwjPpYqlUlpAvmRdeuegv1lgb3vT2vFd0rNZQ68yrimX5P0BIZXSza9XNjjYUlwZdTduRZ5X8RMZm00D9kpnmRQM7W3I4dh/rA6Crq7to0aKRI0feuXOnrnXYbPa5c+d69uyJ7wsAQioAwAcl71h9ucOP6efz7G2oq1PnEEmxWFxZWUlEISEh8sYbN26oqKi8QUglIiUODWrNGdRaNemJdNMN4eF7ogqhrFosY251stPjLOiqPNaGW1dUFQhp1x1RjZlXma5TL3ueXqOPVnpKW1N9rkvHuUSRCQ/VVbm2ZkYfvuu0ln9UDA3/+usvDw+PI0eO1LrCt99+i4QKgJAKAPAxKXb4XS9tPqFVYX36+dTU1A4dOiR/eOvWrY0bN37//fdDhw59y/2x0WXvdlH5dYDywSTxttvCe/9IiCghXzLpWMWSi+zp7ZWmtOMZqT8PnUlPpOsjhTW6Ts2bcH7qUVeoZRHJPsp5blDvu7q6elBQEI/HCw4OrrHIwsJi2bJl+GoAIKQCAHx88g6/ehY/4vF4bm5u8occDoeIunTp8q6635qosuba8+ba8yIfS3bdETEdq9klUu/LVWsjqvu14s7ppCSR0c5YYViavPh/nTOvvggTjT5TUFDQtGlTFoslkz0/J7q6uqGhoXw+H+cHACEVAOBTUmsFeysrq59//tnKyuq1tlOf7XdrwenWgvPbQOXjKZKDSaLLGeJqsex0quh0qujZGiyWXmP2AFPuCAveANPnJfTrnKeAxSKZrP6H9gbtLxftb1AKCwtDQ0NDQkIiIyN79eo1cODA8PBwZlGLFi1CQkLe+U17AICQCgDw3tUayywtLV/3AvFrVchXV2JNsuNOsuMWVMoOJon9ooWpBRJ65WX9OucpkMneyS7VaM8RyMLSxP/5Eh9XTEyMv7//0aNH1dTUpk6dumXLFkNDQ/mEEerq6qdOnbK2tsaHHAAhFQDg01Mmosa89/sSubm5RkZGihHQwcHhxo0b9O8wgGaNWWMOVxDRyj7KblYf87exREpnHvzHlAcfnUgkOnnypJ+fX2RkZNu2bTdv3jxq1KhGjRoxSwUCARFxOJw///wTCRUAIRUA4FNl6ls2x15pRnuegdr7uqidnp7+ivlaG4gqCe24LVp/vTqn9PmuMlOb2pg3lMvlQqEwLCxs7dq1SUlJgwcPPnPmTK9evWoMtCgtLSWiDRs29O3bFx9vAIRUAIBPTAcDpdB0VpVYVlAuXXG5avXV6oGtubM7Kg005XDY7/i14uPjiWj8+PHDhw9nWnR0dN7tS9x/KpVI6c32vNapTZkpDxrO1KZPnz7dv3+/n59fTk7O2LFjg4ODW7WqvbxAaWmph4eHl5cXPuQACKkAAJ+eBSM7TysuDbqatvmxVWaxTCKVhaWKwlJFBurs6R3eccdqamoqEY0cOXLEiBHv6XCWXazaFiN8rT1nZovdESuMzHo+ySrTdSqf8qAhvFP37t3z8/M7dOgQh8MZP378nDlzzMzMXrF+586dvb298QkH+JywcQoA4IvClKm6O5O7q8ujrtqFTGNOqXTF5SqTzWWTj1fdK3g31+iZntT169erqakZGxuvWLFCJBK988OR77nLwcqwNImk7n3PLJHNO1ttuEkw5XiFPKEaqLE3tU3L8OT4jG7dxrRBxNMbN24MHTq0Y8eOV65cWbFixf379318fF6dUIlo9erVmP4U4DODnlQA+BIpKSlN7GszsS/dffB45+3qoGz9okqSyGT7E4T7E4TdjLgzOyiNasNV4bwyIApk668LQ1PFLy+SSCQZGRlEFBUVRUQVFRXe3t6ZmZm7du16h0fRvUnh3XLtokpS7BJe2FV5ZscXbgqLeCzZGSs6dFck/HemAA6bnJ9PbdquIbwjEonkwoULfn5+58+f79Wr15EjR5ydnbnc+v6RYmrcAsDnBD2pAPBFa2Pawmd06wxPzq4uj7pqPetYjcwSTzleYbipbN7Z6pc7ViVSCkuTuBysNNlc9vvN6ipRLbfDV1dXt2rVys7O7s6dO2Kx+M8//+Ryufv378/Ly3uHO+/VKvvZnit0CX97ptJwU1lE1rOJVW22lvfaUx4YL2QSqoEa+yfLB2lTyo9PaT6ka5uGkO1KS0t37NjRqVMnFxeX6urq8PDw06dPDxkypP4JFQA+SyyhUIizAAAfgEAgEAgE5eXlAoGgoqJCIBCUlJSUl5eXlJRUVVUVFxcLhUIvL6//vLD7XiWmZh66U3Q6Xy9JoC5vtNHjqHJZ0TliIprcTiksTVxQ/iy5aqiwVIRP86XaRCRZ9vwpEokkLy+vrKzMwsLi2UZsbJKTk2NiYtq3b8+0HEkWMyWoDo3ij26j9FqV9jkrBSSTBTskjBzQhWnJyM4Li8sLe9zocomBWFIzNzfhs0Y3uT/WrpGDbeu6JiD4wCoqKs6cOXPkyJGLFy+amZmNGDFixIgRpqam+KYAABHxeDz8nwoAH8LVq1ednZ0lEkldK+jq6p44ceLjJlQisjU3tjU3XkUvDANIyn++23/EPfvH3kqXNbNZ8uS+lrN3ZxwRaNfYzv37921tbTU1NRMSEgwMDLKzs7Ozs9lsdtOmTWt93detwP9ypf2Whs28DJt5EWVk522+Xsbs+YuX9ds3kA9DcXFxUFDQhg0bysrKxo4de+XKFXmUBwCQQ0gFgA+hZ8+efn5+Hh4etS61trY+ceJEg5rHso1pCx9T+qWy6siN9F33Na4XPouhKlyWm17m9A7K3exaEXWs6+kWFhbt2rWLi4vr3Llzly5dbty4IRAIXFxcDAwM3veetzRs5jOafqmsOn07s7OplqF+c6LmDeSspqWl+fv7BwUFSSQSLy+vefPmaWtr49sBAAipAPAxTZs2LS0tbePGjTXaBwwYEBwcrK6u3gD3WVVVhbm/KjI+3S+xUVf1v8f3NNPWtKq5HovoxZ5NDodz8ODBUaNGJSYmhoSEEJGTk9O7vWvqP/d8ZPeG0j0plUovXbrk5+d39uxZQ0PDJUuWuLu7v/OqsQCAkAoA8IbWrFmTmZl55MiRGnkuKiqqX79+DfkG7W5tW3drS0T6tS+ubSZRMzOz2NjYuLi4jIwMGxsbc3PzL/Adl0qlx48fX716dVJSUs+ePQ8cODB48GAlJSV8FwAAIRUAGpaAgIDHjx/fvHmTedizZ8/q6moXFxdzc3MPD49x48ZpaWl9NgfLZrM7dOjQoUOHL/CNLi8vP3z4sL+/f0pKyujRo3fs2PFlngcAePNfoTgFAPAhqaurBwcHy4eftmzZ8uzZs9HR0d27d1+2bJmFhcXXX3/NVBj95BRVyT6zF3oz2dnZS5cutbCwmDdvno2NTXR09M6dO5FQAQAhFQAaOkNDw5CQEGYQamFhIRHZ2tr6+/unpqYuW7bs4sWL7du3nzNnTmJi4id2XD5lU05URTyWvL+XiHgsmXKiytCnrGGegRs3bri7u1tZWe3bt2/27Nn379/fvXs37twHgDeDy/0A8BHY2tqePn162LBhxcXF8kZtbe25c+d6enpevnw5MDDQycnJyMjIxcXFxcXF1ta2wR6Li5XK4wel0UXqVSJZYLwwMF5orMkeb6s01oZro1uzI6CuuqevaK8WSS9lSsLSxKfuizKLn62jyiPnJvk2Js0awhnIy8s7ceJEYGBgZmami4vLsWPHevbsiYGnAPCWUMwfAD6a4ODgdevWxcXF1bq0oqIiJCQkICDg1q1bHTp08PT0HD16tKqqasM8luzcf3Zfz9uTY5YjeJ41rXQ5szspudtytVRYLz9FsZi/m1UtXQZFVTLfW6Lfb1YXVT6/vm+gxp5qkObZ21BX5yMXb5LJZNeuXfPz8wsLC9PT0/vxxx8nTZqEbAoA7wSPx0NIBYCPafny5cuXL3/1Ojdv3ty6deuxY8cMDAwWLFgwatQoNTW1hnk4EonkzM2UHalaZ3I15B2jKjzWKGvejA687i049QypEY8lO2NFh++J5HOuvliW/yOXQaioqDhy5Ii/v39sbGzXrl3nzJkzfPhwZWVlfJ4BACEVAL44eXl569ev37VrF5/PnzBhgqenZ6tWrRrs3iamZflElh/JN64SP+8EtdLlLO6uPK4Nl8OuPaQWVcn2J4q3xQiTnzwf2Mp0nU7r2sxQv+lHP66qqqqdO3euW7eupKTkq6++8vLycnBwwIcTABBSAeBLl5+f/8cff2zfvj03N9fZ2dnDw6MhF1gtLC4Nupq2I88q+YnC9Xp19vQOSjPa825kS+Qh1bIJe8N1oWLXKRFZ6bIWtkod18e2IRxgXl7ejh07du7cWVVV5enpOWvWrObNm+MDCQAIqQAAzwmFwrCwsK1bt169etXc3PzHH38cNWoUl9tw7wSNTHi4K7ZasWOVw2aZarNTCyREZK7DSS+SSqXPFr048+rHd/v2bT8/v6NHj6qpqU2dOvWbb77R1dVtyB+PqoqKxKVLZZJnvdGmP/6oo6enuMLDuLgnWVkGNjaGrVo9zc9/sGYN085is21XrVLh83NychYuXChff/Xq1SYmJkQUERERFhaWmZlpYGDg7Ozcv39/IkpMTFzz7xaIaP369QYGBtHR0T4+PvJGX1/fJk2ayGSy0NDQc+fOCQSCjh07uru7M1WBo6KifH19mTX5fP6WLVtUVFTwNQeEVIRUAPiEJSQkBAQEBAUFGRoaenh4jB8/viHPBV9YXLrlQoZfpmlRZe0rWOmyZjZLHt/TTFvz408SKxKJTp486efnFxkZ2bZt2zlz5owaNapRo0YN/1NRUVqqNmQIiUTMw5ygoGYKI0MEhYWa7u5UWJg6d66pu3vew4cG48c/W8blCk6f5qurJycnt23bVv6UqKgoOzs7Ly+vPXv2KL7QTz/9xBRNGzhwoLwxPj7eysrq2LFjY8aMkTemp6cbGRktXbp03bp18kYjI6NTp05ZWVkdPnx4woQJTKOGhsajR48aN26MbzcgpKJOKgB8wuzs7Pz9/ePi4nr37u3t7W1hYdGQC6xqa6ovG2mX4cnZ1eVRV+1CxUVDmuZdGpYfP4s/16XjR0+oQqHw2LFj3bt3nzRpko6OzpkzZ6KioqZMmfJJJFRFGdbWNxwdeQq7LZPJJOvWUeHzk89r1OiGo+P9zp2JXcsfRCcnJzc3Ny0trYMHDzIJ1dzc3NXVlelY3bBhQ3Z2tq6urpubm5OTU61/ZYcPH+7m5sbn83Nzczdv3kxEjo6OAwcO5HK5WVlZXl5eMpmsRYsWbm5ujo6O+EYDKEKdVAD45LVs2XLLli0rV64MDg7eunXr7t27e/Xq5enp2TCniVdVVZnY12ZiX7r74PHO29VENKOjchtT04awb0+fPt2/f7+/v392dvaYMWOCg4Pf7O40iUSSkJDw6NEjPp/frl27Zs1qqeealZWVmppao6JqQUFBfHx8z549eTweEYlEori4uKysLDU1tY4dO+ro6LzWbogmT3bo1UuxpeDw4WZXrii26Ojp6fz2W0VpKQ0ZQrKaU3mtX7/eysqKiLy8vIioVatWt27d4vP5xcXFdnZ2eXl5ERERY8eODQoKSk5OPnfuXI2n8/n8PXv2MN2izHBeNze3AwcOsFgsplf15s2bxcXFjo6Ojo6ONTpfAQA9qQDwmdDS0pozZ05cXNy1a9fs7e2XLVtmamr6ww8/xMfHy2QNcR7RNqYtfEa39hnduo1pi4+7J0VFRQcOHHB1dbWysjp16tQ333yTmpq6e/fuN0uoBw8eNDEx6dy589ixY11cXExMTDw8PJihZU+fPlVSUlJSUvL19e3UqdPgwYO/++67rKwsptHPz8/a2nrQoEHLli0jIn9/f0NDw27duo0bN27o0KHGxsZLly6VSqW5ubm6urpKSkpLliyRv+jWrVuVlJQ0NDRemFOX9UJ52uzIyGZ+fqSpyWpW+yQIrLoP6vvvvw8ICPDx8eHz+USkqanJJO/6V0ObMWNGTk6Oj48Pi8UiIoFAQEQGBgYNtvQvAEIqAMC7xOFw7O3tV61alZCQcPjw4ZSUFHt7e0dHx927dzOxABT9888/ixYtMjExWbRokYWFRUxMzPnz5728vAwMDN5sg48ePZo5c2ZeXt706dODgoLWr1/P5XJ37959/fp1xdUWLFjATDY2cuRIeeP8+fOZRjc3t1u3bjEPv//++6CgoGXLlonF4nXr1qWlpenr648ePZqIAgMDKyoqiEgmk+3du5eIhg4d2rJly+cvo/DPydOMDOOffyaR6O///U9Wx41fr/hXpl+/ftOmTRs0aBDz8MqVK4mJiTo6Or17967/ydHV1dXT0/vzzz979Ojh7++voaGxZ88e3CMFgJAKAF8cR0fHEydOREZGtmnT5rvvvrOwsFi0aNHDhw9xZogoPj5+9uzZlpaWJ0+e3Lhx4/3799esWWNkZPT2/yT8+uuvixYt8vX1dXNzmzdvnoWFBRE44jm6AAAWfklEQVTVOO1NmjR5+PDhgwcPunXrJm80MDBIT0/Pyspq27atmprahg0bfv75519++cXNze2nn34yNDQkory8PCKaNm0ai8XKz8+/fPkyEWVlZcXHxxOR/PajGkQiUdNffqGysiI3N70ePd7+1I0fP14ikXh5eb3BON0LFy7cvHmTiPr37//2JxzgM4YxqQDwmbO3t7e3t1+zZs3evXt37Njh5+fn7Oy8ePHiL7MKvUgkCg8P9/f3v3z5spWV1bp16yZMmMBcwn4njIyMPD09Kysrr169eufOnatXryYnJxORWCxWXG3EiBFM6FQ0ZswYeWizsrKysrISCARnz56NjY29fPlydnY2EUkkEiJq3759+/btY2NjDx06NHjw4KtXr0qlUkNDw379+tW6V1U7dqgkJFDr1spz5rzlAUZFRbm6uhYUFPTr12/BggVvsIURI0b069fv0KFDR48ejYyMvH79+sunAgAQUgHgS6Gnp/fDDz/Mnz8/NDQ0ICCgT58+AwYM8PDw6N+/f0MusPoOCQSCP/74w8/PLzMzc8CAASdPnnwf8yBIpVJvb29fX9/y8vJXrGZsbPxyo2JWq66uXrBgwZ49e2qtk8hmsydPnhwbGxseHl5cXHz16lUicnNzq3Vq1sLcXN0DB4gon8V6uHgxEXXJyiIijdOnb8XEWHt7N9bQqOfRXbp0aeTIkWVlZVOnTt28efObXalnxgwMGzbMwsIiLy8vICBg1apV+IYC1PJNxykAgC+HkpKSq6vruXPnwsLCqqqqRowY0a5dOz8/v8LCws/4qIuLi/39/du2bevt7T1gwIA7d+6cOHHCycnpfUxkFRgYuGbNmoqKinHjxu3bty8lJaVdu3ZEVOPG/FqrLig2btq0adu2bTKZbMaMGcHBwQ8fPmQGm8oLiI4ePVpNTa24uPj06dPXrl1jsVh1XesXVlaSREJEemlpXaKiukRFUUkJEek9fNglKkpSXV3PQ4uIiHB1dS0vL/f29g4ICHjdhHrt2rXVq1dfunSJeaiqqqqnp0dEL9zpBQAK0JMKAF+i3r179+7dOykpKSAgYPny5cuXLx89erSnp6eNjc2rn3jx4sVevXo12IlYa0hLS/P39w8KCmIGUM6bN+99T3bADBI1Nzffu3cvi8WSSqXM/Wps9uv1iZw5c4aIHBwc/P39iaiqqqqsrIyIWP/esK+jozNs2LCgoKBVq1Y9evSoQ4cOdnZ2tW6KqYSq2NIlOZlKSvJbtXrYtKl1bZ2vL8vOzh43blx5eXmnTp3MzMxCQkKY9vbt29ezBsK5c+fWrVvXv3//Hj16cLncxMTElJQUqqNTGQAQUgHgi2ZjY7Nly5YVK1YEBwcHBATs2rXrq6++Wrx4seJsQy+H1MjIyKVLlzbk45JKpZcuXfLz8zt79qyBgcGSJUvc3d1ft8jom2FeJT09feXKlRYWFsePH3/w4AER5ebmvtZ29PX1iej27du//fZb06ZNAwMDCwoKiEixz3vatGlBQUHp6elENGHCBBar9hJSTCXUF5pmzqTExJLBgx3c3eu5P8uXL8/PzyeimJiY8fIZqoi2bNkya9as+mxh0qRJPj4+58+f79q1q7Gx8eXLl6urq1VVVSdOnIhvIkCtcLkfAL502traXl5ezEXwvLy8zp07DxgwICQkpNbRkNra2itXrjxw4ECDjachISEODg6DBw8WCAT79+9PSkqaN2/eh0moRDR79mwdHR2JRLJq1aqJEyfGxMQ4OzsT0d27d19rO/PmzePz+VVVVYsWLZoyZUp+fn6PHj2IKDY2Vr5O165dmUr7ysrKbm5u7++gKisrT5w48ZYbMTMzYwq7xsXFnThxoqSkhCn1b2lpie8gQK3QkwoAQETE5XKdnZ3lQzZXrFjxzTffDBs2bPjw4b169ZJXXNfS0iKiWbNmCYXCqVOnNpCdl0gkt2/fPn78+PHjx5WUlCZMmBAcHGxmZvbh98TMzCwuLi48PPzvv/82MzMbNGhQSUnJgwcPmAICGhoa58+fJyLFS+R6enpMY+vWreWNXbp0iY+PP3fuXEFBgY2NjZOT099///348WNNTU3Ft8zGxiY5OblHjx61TmpFdfSt3v/663KBoJmJSc3V6zgoDodz9OjRWhcp7vN/WrJkibOzc1RUVElJScuWLfv379+0aVN89QDqwqq1qwAAQO6P37ffuRHN/GxkavLdyiWKSysqKi6c+Usmkw0cNlhJSWnT0l+yHjxiFrXvYj/561lEFLht9+0rN5jGrn17jp4xkYgqKytD9gXfuR6jrKLcvnPHgaNHMPfE/Lkz8PrFq8zK/UcOHTpyOBGlbt9efO8e08h3drYZNIiISgoL/zl2rPjuXZ6Ghq6rq4GtLbNC0vr1FTk5zM+N+vRpM3z4mx34rVu3tm7deuzYMT6fP3/+/NmzZ6urq4eGhrq6ujIrBAYGvu95LP39/ee8smpSSUnJwYMH/fz80tLS+vTp4+XlNXDgwE9lyOwbE4vFHA4nLCxszJgxIpHI399/xowZzz+TpaVqQ4aQSJRhbZ2rrm764486enp1beppfv6DNWu0ZTKL6GhiswWnT/PV1ZOTk5khH05OTurq6qtXrzZ5KdHKJSYmrlmzprS0lJkWNT4+3srKipnjlMfjDR48mMfj+fr6NmnSpK4tREVF+fr6ZmdnR0VFaWhoPHr0SH5/GMAXi8fjoScVAP5D+s2EqCPPJiUX2LejlS8s/f3HX45tDSSi7rk9tHV07l68eTc6jlmkxlamr4mI7sc834K+pi4RPc7MWuQy7VFyGtN4YU/IgbUBv53db2zS8lFssnzl1tYWzA+WqamsqCjm53tWVkT0NCWl6XffactHKJ49W+rh0WjSJCJqm5hIqalM8wPF+Ydek4ODg4ODw9q1a/fu3bt58+ZNmzZNmDBB8c6qGTNmWFtb2/4bjt+5v/76a9++fXWF1IcPH/r5+R04cEAkEo0ZM+bAgQPvb08amjVr1qxc+eyDqKWlNWLEiFpXa3nvXkuinFcWwxKVl3f596NFL93dxeTOBQsWvCKkPnny5MiRI7VvXCRixgmsXbv2Ffvw+PHjurYA8CVDSAWAemnWonnLzjZGpi/8qb5w6syJbS+MzmzTt7OacdOMm0l5j/+usYUW1q0NrFuZdLAiot/mr3iUnKbCV+00oJvgaVl8RFRuxuNNXj9tPr3fpIOVo5tT4rmo8tLSGlsoNDS8b2jINzIioqabN1NhIXG5BR06NMnJoZwc9e3bc7t2bdq6dbytbYW2dpf0dCooePsDZwqszp49e+fOndu2bfv999/li6qrqz09Pa9cufI+ei5TU1Pd3d1rHbCYkZHxyy+/HDhwQF9ff+HChZMnT35FL91nqWXLlswAjC5dunh7e9c4fDaXG+XgIJNImIemr5wUSvHefxabbcvlEpG6urriIFdmjEdddHV1FVdWV1cnIkNDQ8XGV0+X0KJFC/nKfD7/CyncC4CQCvA5yM56fC8xSSQSGxkbWdvZvByJxGJx5JVres2aWbaxekXj39k58bFxRNSylYllG6u67oaulW2Xjiv3b1Fsyc35e4PHEqlUqtjIDAZY6j735ZDay23Q3J8WEFHBk4Jb564Q0bTVCyZ5zSCipdO+/Wv/sfjrMaUlJaNnTBw9Y+L49k4P79YMqUXduzt8+y0x5dkTEogof+HCJsOH59y/bzB5MonF5TEx1Lq1zcKFRCRbsIAVEfGu3gJNTc0FCxb079+/X79+TE0lBjPFvK+v77t9x4uKioYPH15UVKQ466ZMJrt27Zq/v39oaKilpeW+ffuGDRtWa8HRz97EiRNfcVO8Cp9vv3FjPTdVy73/RAYGBkFBQfX9atjavryyvb19/bfg6Ojo+GKRLABASAX4BKz77udjW/bKHzY1aLZ0/2b7bo5ENL3b8LvRceMXe6bG3o05d5WIfr94KPzg8dPbg2s0duzq4Pu/tYd/2yn5t3uppWXrn4N+t7Kx3rjA+7Dv7h5D+q0/tlsehqY6Dk25kzR+4axvVv+v1r0Si8W/zlpY9OSpeVvr1Ph7r3VEHA576qrv/snJ6+Hc59nO2JgREZvNrmc1TW19/fKzZzPv3TOysSEi1r+lLpUU7qp558LDwydOnKiYUBkBAQGmpqbz5s17Vy8kkUhGjRrFVG5iKsZXVFQcPXrUz88vNja2S5cuu3fv/uqrr3g8Hr4dAPAZQwkqgAbt6rmLx/3+UOGrdnVx6jK0r7Kqyj85eT5zlyr2X4bv+pMJo+ramlbtbGptPL7vz4MbtynzVR1H9O/k3JPL42WkpPsvWE1Ew6aMYrPZ0ZeuP8n/h3nuw9R0JnfaO/Wqa8cCN2+/8VeErWPHcQtmv+5BaWlrT/vWc/F6b5PWpkwmTrl2m4gsO9o1VlOr50ZUGje2cHBQ5fOTL1zgr19PRGRh0aR37/f0Rpw8edLV1bX0pREIjMWLF4eGhr6r15o9ezYzzycTWJcvX25hYeHl5WVhYREREXHlypXRo0cjoQLAZw89qQANWk7qo5ZWZu4/zBky7isi2r528+5lm3IeZpUJBOr/Tjhe9ORp//HDOw/uKywVyG8KrtH494PM1rZWA6ePcp8znYjWzVt6bOu+rLSHYrHYrI1VK2uz9KT7106ddZ0xkYguhJyWSqWaTbTbOXSsda/SU1L3ev/WSF3tx13r05NS3vIY9/tuuxZ2gaekNGXZN6/7XLFIZLNuHZWWUtOmRatXq7/RXOr/KTw83N3dXSKR8Pl8bW1tbW1tNTU1LS0tDQ0NXV1dLS2tV49ZfC1+fn779u1TfOnY2Njp06fPmjWrefPm+EYAAEIqADQI4+ZOHzd3OhGVFBfH3LiVdP02EVVXVonFYvk6Gjpai7f8UqNmTY3GuSt/mLvyByIqeFIQExGVGn+XiERCkVQq5XK59s490pPunz8Y6jpjolQqvXoknIi6j3CSFwetYcfyjdVV1d/97t3KzPQtQ+reTf7bfvyVxWJ5rPrOoUfX1316VXm5ko0N68kTSkvTmjUr79dfdf9rXtM3YGxsnJaWpqmpqVy/KTTfJg3Pnz+/RuPMmTP/97//ffZVpQAAEFIBPiVFhYW+S9fdDr/yT3ads0q2MG2pmFBZtTXmZOfsXe8Xc/pKbmb2y1voM2rYwU274q/HpCTeKy8vf5CUwuFyR3pMqvXl/jp5+tqxc7oG+hmZj31WrstNyWDad23w69Snax+n/vU8NJlM9vuydUHrtuobG3r9tqz/EOc3OD+NNTWlmzZJJBLet9+yoqObrV0r2rfvdaeJ/0/W1tYf4L0ODQ11r22WzlWrVkVGRm7durWec8QDACCkAsB7t2rq95HhF83b245ZONOyo11KdMLv81c0UldTvKdbhf9Cf6fspUaJRPI/t9kpsYmt2lrO/2F1m052V06cDVy9RYWvyvTP2bZva9XB9t7thFO7gqurq2UyWcdejlZ2bWrdpccPMqQy6ZOc3OBVfortRzfukook9Q+pfkvXBf26tWNPh9WHt2u+5uXywszMwkuXyjIyTL75RkNbm8PhPLa0NIqOpszMqrIyvrr6J/dGx8fHjxs3rrq6utally5dcnBw2LZt28iRI/GlAACEVAD4yCoqKhJvxhLRkh1rLe1siCj6r2tE9Fqlo4joSf4/KbGJRDTpf18PHDGUiE7tCCKFOSNZLNaAySPv3U648Gcoc0tW/4lf1bU1I/NWjm5O8ocl2U+So+4QkcOwvq3bWtVzl04GHTmwPkBZRbnP+OFXL16RtzPTVv3n06sLCiwCAogox8REY/JkkVBodOMGEZGOjvIri2I2WLa2tllZWeXl5UVFRaWlpRUVFYWFhQKBoLS0tLS0tKSkRCAQHD161NjYuFOnTvhqAABCKgB8TEpKSo3U1UoLiwOWre8zfnjO/Yd/btxJRGUlpRUVlfW/EZ7fiM9Xa1whKAvdHiwWSVKi48L2HiGiCkG5SCRiOlOdRw3b8b/1xQWFRKSurdl7yIC6ttZ/yMD+QwbKH547FrZszBwiWr59g7aOTn32p7S0dNvidTKZrLqqeoPHCyWumGmr/nMLTdu1I0tLSkkxCAiQ3bqlUlREDx8SUYmzc+NPc+wmm81mbsAyNDTEJx8AgFCCCqBB/xPJ5Y79fgaLxYo6fXmN+/ygtdtc50xiBlym33uN25XUNTRc50wiopjzEasmfBO6PXjUN1OJqLigMDsji1lHW0enj8uzK/Vdh/WTlw54H6IuXH2a98/bbIHD4WQvXUr6+iSTsW7fZhLq0/79lRUmcAcAgE/7jyBOAUBDNmb2FA1dnQsnz+jq6Q5zH2VpY23VvUNlZZVO0yZENGXVd0WFRU10X5gTcvi0se36ONZo9FqxyNze9uLJM3rN9V2njGvewsDUwVYqlXKVnpfbtOxuH3bgOBENdHet/x7aOLRfEryZiOrfs2tibc485WX134i+qWnpH3/knzz5NC6Oq6Ki4+xs1KMHPjAAAAipAPCBDHQdNtB1mPzhgMHPL7X36FNLsf22Hdq17dCuRiOLxXJyGezkMljeMvQrF8UVxGLx+cDjRGTQyqhj184vb/afx7knjx7X0taq8aLNDZq7jBwhf3jt0pWiwqJ/HtdSiyDjXtrJo8dbmrS069DOzMK8ruNNiI3LeJRRViJ4eZFSVtbNkyebWVoam5sTUSN19Vbu7q1euiM+8cqVipKSrgUF+PAAACCkAsCnqrq6eoXHwuy7D+7HJRGRi8eEWmczir8RE38jpo19ux6RvV6xtb0/bbobHVfroogjZyKOnPlqxgQ7/3av2EL4zj+P7TxQ66IW16+3uH793tSpZG7+ii2027WLUlPxzgIAIKQCwCeMx+MlXIp68nc+EfUaOWis51ScEwAA+OhYQqEQZwHgC5d8915JcbGxiYl+c32cDQAA+Oh4PB5CKgAAAAA0uJCKElQAAAAA0OAgpAIAAAAAQioAAAAAAEIqAAAAACCkAgAAAAAgpAIAAAAAQioAAAAAAEIqAAAAACCkAgAAAAAgpAIAAAAAIKQCAAAAAEIqAAAAAABCKgAAAAAgpAIAAAAAIKQCAAAAAEIqAAAAAABCKgAAAAAgpAIAAAAAIKQCAAAAACCkAgAAAABCKgAAAAAAQioAAAAAIKQCAAAAACCkAgAAAABCKgAAAAAAQioAAAAAAEIqAAAAACCkAgAAAAAgpAIAAAAAQioAAAAAAEIqAAAAACCkAgAAAAAgpAIAAAAAQioAAAAAAEIqAAAAAABCKgAAAAAgpAIAAAAAIKQCAAAAAEIqAAAAAABCKgAAAAAgpAIAAAAAIKQCAAAAACCkAgAAAABCKgAAAAAAQioAAAAAIKQCAAAAACCkAgAAAABCKgAAAAAAQioAAAAAIKQCAAAAACCkAgAAAAAgpAIAAAAAQioAAAAAAEIqAAAAACCkAgAAAAAgpAIAAAAAQioAAAAAAEIqAAAAAABCKgAAAAAgpAIAAAAAIKQCAAAAAEIqAAAAAABCKgAAAAAgpAIAAAAAIKQCAAAAAEIqAAAAAABCKgAAAAAAQioAAAAAIKQCAAAAACCkAgAAAABCKgAAAAAAQioAAAAAIKQCAAAAACCkAgAAAAAgpAIAAABAQ8UtWWOCswCv9mTATpwEAAAA+GCsugxksTSUZSXVRDKZDCcEAAAAABqE/wP5Y96MCU2GegAAAABJRU5ErkJggg=="/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Memo<span class="_ _c"></span>ry<span class="_ _f"> </span>La<span class="_ _c"></span>yout</div><div class="t m0 x1 hd ycf ff4 fs7 fc0 sc0 ls0 ws0">C/C++<span class="_ _11"> </span>rep<span class="_ _6"></span>resents<span class="_ _11"> </span>a<span class="_ _6"></span>rra<span class="_ _6"></span>ys<span class="_ _11"> </span>with<span class="_ _11"> </span><span class="ff1">ro<span class="_ _6"></span>w-majo<span class="_ _6"></span>r<span class="_ _7"> </span>lay<span class="_ _c"></span>out<span class="ff4">,<span class="_ _11"> </span>starting<span class="_ _a"> </span>from<span class="_ _11"> </span>the<span class="_ _11"> </span></span>index<span class="_ _7"> </span>0<span class="ff4">.</span></span></div><div class="t m0 x1 hd yd0 ff4 fs7 fc0 sc0 ls0 ws0">The<span class="_ _11"> </span>ro<span class="_ _6"></span>w-majo<span class="_ _6"></span>r<span class="_ _11"> </span>la<span class="_ _6"></span>yout<span class="_ _a"> </span>is<span class="_ _11"> </span>also<span class="_ _11"> </span>called<span class="_ _11"> </span><span class="ffa">right<span class="_ _11"> </span>la<span class="_ _6"></span>yout<span class="_ _8"> </span><span class="ff4">b<span class="_ _b"></span>ecause<span class="_ _11"> </span>the<span class="_ _11"> </span>index<span class="_ _11"> </span>mapping<span class="_ _11"> </span>sta<span class="_ _6"></span>rt<span class="_ _11"> </span>from</span></span></div><div class="t m0 x1 hd yd1 ff4 fs7 fc0 sc0 ls0 ws0">the<span class="_ _11"> </span>rightmost<span class="_ _11"> </span>dimension<span class="_ _11"> </span>(<span class="ffa">right-to-left<span class="_ _0"></span></span>).</div><div class="t m0 x1 hd yd2 ff4 fs7 fc0 sc0 ls0 ws0">This<span class="_ _11"> </span>is<span class="_ _11"> </span>in<span class="_ _11"> </span>contrast<span class="_ _11"> </span>to<span class="_ _11"> </span>the<span class="_ _11"> </span>histo<span class="_ _6"></span>rical<span class="_ _11"> </span>la<span class="_ _6"></span>yout<span class="_ _a"> </span>adopted<span class="_ _11"> </span>b<span class="_ _6"></span>y<span class="_ _11"> </span><span class="ff6">Fortran</span>,<span class="_ _11"> </span>where<span class="_ _11"> </span>the<span class="_ _11"> </span>arra<span class="_ _c"></span>y</div><div class="t m0 x1 hd yd3 ff4 fs7 fc0 sc0 ls0 ws0">rep<span class="_ _6"></span>resentation<span class="_ _11"> </span>adopts<span class="_ _11"> </span>a<span class="_ _11"> </span><span class="ffa">column-majo<span class="_ _6"></span>r<span class="_ _11"> </span>lay<span class="_ _c"></span>out<span class="_ _f"> </span><span class="ff4">with<span class="_ _a"> </span>starting<span class="_ _a"> </span>index<span class="_ _11"> </span>1</span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">21/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf19" class="pf w0 h0" data-page-no="19"><div class="pc pc19 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Sta<span class="_ _c"></span>rt<span class="_ _f"> </span>and<span class="_ _8"> </span>End<span class="_ _f"> </span>A<span class="_ _c"></span>ddresses</div><div class="t m0 x1 hd yd4 ff4 fs7 fc0 sc0 ls0 ws0">Get<span class="_ _11"> </span>the<span class="_ _11"> </span><span class="ff1">sta<span class="_ _6"></span>rt<span class="_ _7"> </span>address<span class="_ _11"> </span><span class="ff4">of<span class="_ _11"> </span>the<span class="_ _11"> </span>arra<span class="_ _c"></span>y<span class="_ _13"> </span><span class="ff6">int<span class="_ _20"> </span>array[4][2][3]</span></span></span></div><div class="t m0 x1 he yd5 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">ptr1<span class="_ _f"> </span></span>=<span class="_ _d"> </span><span class="fc0">array[</span>0<span class="fc0">][</span>0<span class="fc0">];</span></span></div><div class="t m0 x1 he yd6 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">ptr2<span class="_ _f"> </span></span>=<span class="_ _d"> </span>&amp;<span class="fc0">array[</span>0<span class="fc0">][</span>0<span class="fc0">][</span>0<span class="fc0">];<span class="_ _8"> </span><span class="ffd fc6">//<span class="_ _d"> </span>the<span class="_ _f"> </span>meaning<span class="_ _f"> </span>of<span class="_ _f"> </span><span class="ff15">&amp;<span class="_ _f"> </span></span>will<span class="_ _d"> </span>be<span class="_ _f"> </span>explained<span class="_ _f"> </span>later</span></span></span></div><div class="t m0 x1 he yd7 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">ptr3<span class="_ _f"> </span></span>=<span class="_ _d"> </span><span class="fc0">(</span></span>int<span class="ffc fc5">*<span class="fc0">)<span class="_ _8"> </span>array;</span></span></div><div class="t m0 x1 he yd8 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">ptr4<span class="_ _f"> </span></span>=<span class="_ _d"> </span><span class="fc0">(</span></span>int<span class="ffc fc5">*<span class="fc0">)<span class="_ _8"> </span>array[</span>0<span class="fc0">];</span></span></div><div class="t m0 x1 he yd9 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">ptr5<span class="_ _f"> </span></span>=<span class="_ _d"> </span><span class="fc0">(</span></span>int<span class="ffc fc5">*<span class="fc0">)<span class="_ _8"> </span>std</span>::<span class="fc0">begin(array);<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _f"> </span>C++14<span class="_ _f"> </span>&lt;iterator&gt;</span></span></span></div><div class="t m0 x1 hd yda ff4 fs7 fc0 sc0 ls0 ws0">Get<span class="_ _11"> </span>the<span class="_ _11"> </span><span class="ff1">end<span class="_ _7"> </span>address<span class="_ _11"> </span></span>of<span class="_ _11"> </span>the<span class="_ _11"> </span>arra<span class="_ _c"></span>y<span class="_ _13"> </span><span class="ff6">int<span class="_ _20"> </span>array[4][2][3]</span></div><div class="t m0 x1 he ydb ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">ptr1<span class="_ _f"> </span></span>=<span class="_ _d"> </span><span class="fc0">(</span></span>int<span class="ffc fc5">*<span class="fc0">)<span class="_ _8"> </span>array<span class="_ _d"> </span></span>+<span class="_ _f"> </span><span class="fc0">std</span>::<span class="fc0">size(array);</span></span></div><div class="t m0 x1 he ydc ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">ptr2<span class="_ _f"> </span></span>=<span class="_ _d"> </span><span class="fc0">(</span></span>int<span class="ffc fc5">*<span class="fc0">)<span class="_ _8"> </span>std</span>::<span class="fc0">end(array);<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _f"> </span>C++14<span class="_ _14"> </span>&lt;iterator&gt;</span></span></span></div><div class="t m0 x1 he ydd ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">ptr3<span class="_ _f"> </span></span>=<span class="_ _d"> </span>&amp;<span class="fc0">array[</span>3<span class="fc0">][</span>1<span class="fc0">][</span>3<span class="fc0">];<span class="_ _2a"> </span><span class="ffd fc6">//<span class="_ _f"> </span>bug-prone</span></span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">22/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf1a" class="pf w0 h0" data-page-no="1a"><div class="pc pc1a w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x10 h2 y41 ff1 fs0 fc0 sc0 ls0 ws0">References</div><a class="l" href="#pf1a" data-dest-detail='[26,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:137.252000px;width:124.123000px;height:19.206000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf1b" class="pf w0 h0" data-page-no="1b"><div class="pc pc1b w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Reference<span class="_ _2b"> </span>1/2</div><div class="t m0 xe hd yde ff1 fs7 fc1 sc0 ls0 ws0">Reference</div><div class="t m0 xe hd ydf ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _11"> </span>va<span class="_ _6"></span>riable<span class="_ _11"> </span><span class="ff1">reference<span class="_ _11"> </span><span class="ff6 fc3">T&amp;<span class="_ _11"> </span></span></span>is<span class="_ _11"> </span>an<span class="_ _11"> </span><span class="ff1">alias</span>,<span class="_ _11"> </span>namely<span class="_ _11"> </span>another<span class="_ _11"> </span>name<span class="_ _11"> </span>for<span class="_ _a"> </span>an<span class="_ _11"> </span>already<span class="_ _11"> </span>existing</div><div class="t m0 xe hd ye0 ff4 fs7 fc0 sc0 ls0 ws0">va<span class="_ _6"></span>riable.<span class="_ _d"> </span>Both<span class="_ _a"> </span>va<span class="_ _6"></span>riable<span class="_ _11"> </span>and<span class="_ _11"> </span>variable<span class="_ _a"> </span>reference<span class="_ _11"> </span>can<span class="_ _11"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span>applied<span class="_ _11"> </span>to<span class="_ _11"> </span>refer<span class="_ _11"> </span>the<span class="_ _11"> </span>value<span class="_ _11"> </span>of<span class="_ _11"> </span>the</div><div class="t m0 xe hd ye1 ff4 fs7 fc0 sc0 ls0 ws0">va<span class="_ _6"></span>riable</div><div class="t m0 x11 hd ye2 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">A<span class="_ _7"> </span>p<span class="_ _b"></span>ointer<span class="_ _7"> </span>has<span class="_ _7"> </span>its<span class="_ _7"> </span>o<span class="_ _6"></span>wn<span class="_ _7"> </span>memo<span class="_ _6"></span>ry<span class="_ _7"> </span>address<span class="_ _7"> </span>and<span class="_ _7"> </span>size<span class="_ _11"> </span>on<span class="_ _7"> </span>the<span class="_ _7"> </span>stack,<span class="_ _8"> </span>reference<span class="_ _11"> </span>shares<span class="_ _11"> </span>the</span></div><div class="t m0 x7 hd ye3 ff1 fs7 fc0 sc0 ls0 ws0">same<span class="_ _7"> </span>memory<span class="_ _11"> </span>address<span class="_ _11"> </span><span class="ff4">(with<span class="_ _11"> </span>the<span class="_ _11"> </span>original<span class="_ _a"> </span>variable)</span></div><div class="t m0 x11 hd ye4 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">The<span class="_ _a"> </span>compiler<span class="_ _11"> </span>can<span class="_ _11"> </span>internally<span class="_ _a"> </span>implement<span class="_ _11"> </span>references<span class="_ _a"> </span>as<span class="_ _11"> </span><span class="ffa">p<span class="_ _b"></span>ointers</span>,<span class="_ _11"> </span>but<span class="_ _a"> </span>treats<span class="_ _11"> </span>them<span class="_ _11"> </span>in<span class="_ _a"> </span>a</span></div><div class="t m0 x7 hd ye5 ff4 fs7 fc0 sc0 ls0 ws0">very<span class="_ _11"> </span>different<span class="_ _11"> </span>w<span class="_ _6"></span>a<span class="_ _6"></span>y</div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">23/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf1c" class="pf w0 h0" data-page-no="1c"><div class="pc pc1c w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Reference<span class="_ _2b"> </span>2/2</div><div class="t m0 x1 hd ye6 ff1 fs7 fc0 sc0 ls0 ws0">References<span class="_ _7"> </span>are<span class="_ _11"> </span>safer<span class="_ _7"> </span>than<span class="_ _8"> </span>p<span class="_ _b"></span>ointers<span class="ff4">:</span></div><div class="t m0 x11 hd ye7 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">References<span class="_ _a"> </span><span class="ff1">cannot<span class="_ _8"> </span>have<span class="_ _7"> </span>NULL<span class="_ _a"> </span></span>value.<span class="_ _d"> </span>A<span class="_ _a"> </span>reference<span class="_ _a"> </span>is<span class="_ _11"> </span>alw<span class="_ _6"></span>a<span class="_ _6"></span>ys<span class="_ _a"> </span>connected<span class="_ _11"> </span>to<span class="_ _a"> </span>a<span class="_ _11"> </span>legiti-</span></div><div class="t m0 x7 hd ye8 ff4 fs7 fc0 sc0 ls0 ws0">mate<span class="_ _11"> </span>sto<span class="_ _6"></span>rage</div><div class="t m0 x11 hd ye9 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">References<span class="_ _d"> </span><span class="ff1">cannot<span class="_ _11"> </span>b<span class="_ _b"></span>e<span class="_ _8"> </span>changed</span>.<span class="_ _1a"> </span>Once<span class="_ _f"> </span>a<span class="_ _d"> </span>reference<span class="_ _f"> </span>is<span class="_ _d"> </span>initialized<span class="_ _f"> </span>to<span class="_ _d"> </span>an<span class="_ _f"> </span>object,<span class="_"> </span>it</span></div><div class="t m0 x7 hd yea ff4 fs7 fc0 sc0 ls0 ws0">cannot<span class="_ _11"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span>changed<span class="_ _11"> </span>to<span class="_ _11"> </span>refer<span class="_ _11"> </span>to<span class="_ _11"> </span>another<span class="_ _11"> </span>object</div><div class="t m0 x7 hd yeb ff4 fs7 fc0 sc0 ls0 ws0">(P<span class="_ _6"></span>ointers<span class="_ _11"> </span>can<span class="_ _11"> </span>refer<span class="_ _11"> </span>to<span class="_ _11"> </span>another<span class="_ _11"> </span>object<span class="_ _11"> </span>at<span class="_ _11"> </span>any<span class="_ _11"> </span>time)</div><div class="t m0 x11 hd yec ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">References<span class="_ _11"> </span>must<span class="_ _11"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span><span class="ff1">initialized<span class="_ _11"> </span></span>when<span class="_ _11"> </span>they<span class="_ _11"> </span>are<span class="_ _a"> </span>created</span></div><div class="t m0 x7 hd yed ff4 fs7 fc0 sc0 ls0 ws0">(P<span class="_ _6"></span>ointers<span class="_ _11"> </span>can<span class="_ _11"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span>initialized<span class="_ _11"> </span>at<span class="_ _11"> </span>any<span class="_ _11"> </span>time)</div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">24/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf1d" class="pf w0 h0" data-page-no="1d"><div class="pc pc1d w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAI1ElEQVR42u3ZsU0DQRCGUS+6EdGKGhARFSBEjEQJ7uOKIL+YIlwEAUXQAZG1CYyDIyO2LBnv2e9VMPov+bRX7h6eVgAA0I3Pj/crKwAA0BuRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgDAn5KZVgAAoB8R4SUVAIDuiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAFy6wQScpdaaEZar1moEgAvnJRUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAnFbJTCsAANCPiPCSCgBAd0QqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAATm1Y0K2tNR8MAOAwtdYFXeslFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAC7MYAJ68L3brafJDnvajKMRADhvJTOXcmtrzQcDADhMrXUpp0aE3/0AAHRHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAgOMaTEAPvne79TTZYU+bcTQCAOetZOZSbm2t+WAAAIeptS7l1Ijwux8AgO6IVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARKoJAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAgGMqmWkFAAD6ERFeUgEA6I5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAAPhHw/b11gp04uv5zQgAwP3jSyk31/P2Z7Wa59kgAAB04RfDszf8oH5NeQAAAABJRU5ErkJggg=="/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Examples</div><div class="t m0 x1 hd y6d ff1 fs7 fc0 sc0 ls0 ws0">Reference<span class="_ _7"> </span>syntax:<span class="_ _3"> </span><span class="ff5">T&amp;<span class="_"> </span>var<span class="_"> </span>=<span class="_"> </span>...</span></div><div class="t m0 x1 hf yee ffd fs8 fc6 sc0 ls0 ws0">//int<span class="ff15">&amp;<span class="_ _f"> </span></span>a;<span class="_ _16"> </span>//<span class="_ _f"> </span><span class="ffe">compile<span class="_ _e"> </span>error<span class="_ _f"> </span></span>no<span class="_ _f"> </span>initialization</div><div class="t m0 x1 hf yef ffd fs8 fc6 sc0 ls0 ws0">//int<span class="ff15">&amp;<span class="_ _f"> </span></span>b<span class="_ _f"> </span>=<span class="_ _d"> </span>3;<span class="_ _8"> </span>//<span class="_ _d"> </span><span class="ffe">compile<span class="_ _1e"> </span>error<span class="_ _f"> </span></span>&quot;3&quot;<span class="_ _f"> </span>is<span class="_ _f"> </span>not<span class="_ _f"> </span>a<span class="_ _d"> </span>variable</div><div class="t m0 x1 he yf0 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_ _14"> </span><span class="ffc fc0">c<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>2</span>;</span></div><div class="t m0 x1 he yf1 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">&amp;<span class="_ _f"> </span><span class="fc0">d<span class="_ _f"> </span></span>=<span class="_ _d"> </span><span class="fc0">c;<span class="_ _17"> </span><span class="ffd fc6">//<span class="_ _8"> </span>reference.<span class="_ _d"> </span>ok<span class="_ _f"> </span>valid<span class="_ _f"> </span>initialization</span></span></span></div><div class="t m0 x1 he yf2 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">&amp;<span class="_ _f"> </span><span class="fc0">e<span class="_ _f"> </span></span>=<span class="_ _d"> </span><span class="fc0">d;<span class="_ _17"> </span><span class="ffd fc6">//<span class="_ _8"> </span>ok.<span class="_ _d"> </span>the<span class="_ _f"> </span>reference<span class="_ _f"> </span>of<span class="_ _f"> </span>a<span class="_ _f"> </span>reference<span class="_ _d"> </span>is<span class="_ _f"> </span>a<span class="_ _f"> </span>reference</span></span></span></div><div class="t m0 x1 he yf3 ffc fs8 fc5 sc0 ls0 ws0">++<span class="fc0">d;<span class="_ _1d"> </span><span class="ffd fc6">//<span class="_ _d"> </span>increment</span></span></div><div class="t m0 x1 he yf4 ffc fs8 fc5 sc0 ls0 ws0">++<span class="fc0">e;<span class="_ _1d"> </span><span class="ffd fc6">//<span class="_ _d"> </span>increment</span></span></div><div class="t m0 x1 he yf5 ffc fs8 fc0 sc0 ls0 ws0"><span class="fcb sc0">cout</span><span class="_ _f"> </span><span class="fc5"><span class="fcb sc0">&lt;&lt;</span><span class="_ _f"> </span></span><span class="fcb sc0">c;</span><span class="_ _23"> </span><span class="ffd fc6"><span class="fcb sc0">//</span><span class="_ _f"> </span><span class="fcb sc0">print</span><span class="_ _f"> </span><span class="fcb sc0">4</span></span></div><div class="t m0 x1 he yf6 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_ _14"> </span><span class="ffc fc0">a<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>3</span>;</span></div><div class="t m0 x1 he yf7 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">b<span class="_ _f"> </span></span>=<span class="_ _d"> </span>&amp;<span class="fc0">a;<span class="_ _8"> </span><span class="ffd fc6">//<span class="_ _d"> </span>pointer</span></span></span></div><div class="t m0 x1 he yf8 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">c<span class="_ _f"> </span></span>=<span class="_ _d"> </span>&amp;<span class="fc0">a;<span class="_ _8"> </span><span class="ffd fc6">//<span class="_ _d"> </span>pointer</span></span></span></div><div class="t m0 x1 he yf9 ffc fs8 fc5 sc0 ls0 ws0">++<span class="fc0">b;<span class="_ _1f"> </span><span class="ffd fc6">//<span class="_ _d"> </span>change<span class="_ _f"> </span>the<span class="_ _f"> </span>value<span class="_ _f"> </span>of<span class="_ _f"> </span>the<span class="_ _d"> </span>pointer<span class="_ _8"> </span><span class="fff">&apos;</span>b<span class="fff">&apos;</span></span></span></div><div class="t m0 x1 he yfa ffc fs8 fc5 sc0 ls0 ws0">++*<span class="fc0">c;<span class="_ _2a"> </span><span class="ffd fc6">//<span class="_ _d"> </span>change<span class="_ _f"> </span>the<span class="_ _f"> </span>value<span class="_ _f"> </span>of<span class="_ _f"> </span><span class="fff">&apos;</span>a<span class="fff">&apos;<span class="_ _d"> </span></span>(a<span class="_ _8"> </span>=<span class="_ _d"> </span>4)</span></span></div><div class="t m0 x1 he yfb ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">&amp;<span class="_ _f"> </span><span class="fc0">d<span class="_ _f"> </span></span>=<span class="_ _d"> </span><span class="fc0">a;<span class="_ _1"> </span><span class="ffd fc6">//<span class="_ _f"> </span>reference</span></span></span></div><div class="t m0 x1 he yfc ffc fs8 fc5 sc0 ls0 ws0">++<span class="fc0">d;<span class="_ _1f"> </span><span class="ffd fc6">//<span class="_ _d"> </span>change<span class="_ _f"> </span>the<span class="_ _f"> </span>value<span class="_ _f"> </span>of<span class="_ _f"> </span><span class="fff">&apos;</span>a<span class="fff">&apos;<span class="_ _14"> </span></span>(a<span class="_ _d"> </span>=<span class="_ _8"> </span>5)</span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">25/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf1e" class="pf w0 h0" data-page-no="1e"><div class="pc pc1e w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Reference<span class="_ _8"> </span>-<span class="_ _f"> </span>F<span class="_ _c"></span>unction<span class="_ _f"> </span>Arguments<span class="_ _2c"> </span>1/2</div><div class="t m0 x1 hd yfd ff4 fs7 fc0 sc0 ls0 ws0">Reference<span class="_ _11"> </span>vs.<span class="_ _f"> </span>p<span class="_ _0"></span>ointer<span class="_ _a"> </span>a<span class="_ _6"></span>rguments:</div><div class="t m0 x1 he yfe ff5 fs8 fc4 sc0 ls0 ws0">void<span class="_"> </span><span class="ffc fc3">f<span class="fc0">(</span></span>int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">value)<span class="_ _f"> </span>{}<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _8"> </span>value<span class="_ _d"> </span>may<span class="_ _f"> </span>be<span class="_ _f"> </span>a<span class="_ _f"> </span>nullptr</span></span></span></div><div class="t m0 x1 he yff ff5 fs8 fc4 sc0 ls0 ws0">void<span class="_"> </span><span class="ffc fc3">g<span class="fc0">(</span></span>int<span class="ffc fc5">&amp;<span class="_ _f"> </span><span class="fc0">value)<span class="_ _f"> </span>{}<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _8"> </span>value<span class="_ _d"> </span>is<span class="_ _f"> </span>never<span class="_ _f"> </span>a<span class="_ _f"> </span>nullptr</span></span></span></div><div class="t m0 x1 he y100 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">a<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>3</span>;</span></div><div class="t m0 x1 he y101 ffc fs8 fc0 sc0 ls0 ws0">f(<span class="fc5">&amp;</span>a);<span class="_ _17"> </span><span class="ffd fc6">//<span class="_ _f"> </span>ok</span></div><div class="t m0 x1 he y102 ffc fs8 fc0 sc0 ls0 ws0">f(<span class="fc5">0</span>);<span class="_ _23"> </span><span class="ffd fc6">//<span class="_ _8"> </span>dangerous<span class="_ _d"> </span>but<span class="_ _f"> </span>it<span class="_ _f"> </span>works!!<span class="_ _f"> </span>(but<span class="_ _f"> </span>not<span class="_ _d"> </span>with<span class="_ _8"> </span>other<span class="_ _d"> </span>numbers)</span></div><div class="t m0 x1 hf y103 ffd fs8 fc6 sc0 ls0 ws0">//f(a);<span class="_ _14"> </span>//<span class="_ _f"> </span><span class="ffe">compile<span class="_ _e"> </span>error<span class="_ _f"> </span></span>&quot;a&quot;<span class="_ _f"> </span>is<span class="_ _f"> </span>not<span class="_ _f"> </span>a<span class="_ _f"> </span>pointer</div><div class="t m0 x1 he y104 ffc fs8 fc0 sc0 ls0 ws0">g(a);<span class="_ _23"> </span><span class="ffd fc6">//<span class="_ _8"> </span>ok</span></div><div class="t m0 x1 hf y105 ffd fs8 fc6 sc0 ls0 ws0">//g(3);<span class="_ _14"> </span>//<span class="_ _f"> </span><span class="ffe">compile<span class="_ _e"> </span>error<span class="_ _f"> </span></span>&quot;3&quot;<span class="_ _f"> </span>is<span class="_ _f"> </span>not<span class="_ _f"> </span>a<span class="_ _f"> </span>reference<span class="_ _d"> </span>of<span class="_ _f"> </span>something</div><div class="t m0 x1 hf y106 ffd fs8 fc6 sc0 ls0 ws0">//g(<span class="ff15">&amp;</span>a);<span class="_ _f"> </span>//<span class="_ _f"> </span><span class="ffe">compile<span class="_ _e"> </span>error<span class="_ _f"> </span></span>&quot;<span class="ff15">&amp;</span>a&quot;<span class="_ _f"> </span>is<span class="_ _f"> </span>not<span class="_ _f"> </span>a<span class="_ _d"> </span>reference</div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">26/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf1f" class="pf w0 h0" data-page-no="1f"><div class="pc pc1f w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Reference<span class="_ _8"> </span>-<span class="_ _f"> </span>F<span class="_ _c"></span>unction<span class="_ _f"> </span>Arguments<span class="_ _8"> </span>-<span class="_ _8"> </span>Array<span class="_ _2d"> </span>2/2</div><div class="t m0 x1 hd ya7 ff4 fs7 fc0 sc0 ls0 ws0">References<span class="_ _11"> </span>can<span class="_ _11"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span>use<span class="_ _11"> </span>to<span class="_ _11"> </span>indicate<span class="_ _11"> </span>fixed<span class="_ _11"> </span>size<span class="_ _11"> </span>a<span class="_ _6"></span>rrays:</div><div class="t m0 x1 he y107 ff5 fs8 fc4 sc0 ls0 ws0">void<span class="_"> </span><span class="ffc fc3">f<span class="fc0">(</span></span>int<span class="_"> </span><span class="ffc fc0">(<span class="fc5">&amp;</span>array)[<span class="fc5">3</span>])<span class="_ _f"> </span>{<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _d"> </span>accepts<span class="_ _8"> </span>only<span class="_ _d"> </span>arrays<span class="_ _f"> </span>of<span class="_ _f"> </span>size<span class="_ _f"> </span>3</span></span></div><div class="t m0 x22 he y108 ffc fs8 fc0 sc0 ls0 ws0">cout<span class="_ _f"> </span><span class="fc5">&lt;&lt;<span class="_ _f"> </span><span class="ff5 fc7">sizeof</span></span>(array);</div><div class="t m0 x1 he y109 ffc fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 he y10a ff5 fs8 fc4 sc0 ls0 ws0">void<span class="_"> </span><span class="ffc fc3">g<span class="fc0">(</span></span>int<span class="_"> </span><span class="ffc fc0">array[])<span class="_ _f"> </span>{</span></div><div class="t m0 x22 he y10b ffc fs8 fc0 sc0 ls0 ws0">cout<span class="_ _f"> </span><span class="fc5">&lt;&lt;<span class="_ _f"> </span><span class="ff5 fc7">sizeof</span></span>(array);<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _8"> </span>any<span class="_ _d"> </span>surprise?</span></div><div class="t m0 x1 he y10c ffc fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 he y9c ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_ _14"> </span><span class="ffc fc0">A[<span class="fc5">3</span>],<span class="_ _f"> </span>B[<span class="fc5">4</span>];</span></div><div class="t m0 x1 he y10d ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">C<span class="_ _f"> </span></span>=<span class="_ _d"> </span><span class="fc0">A;</span></span></div><div class="t m0 x1 he y10e ffd fs8 fc6 sc0 ls0 ws0">//------------------------------------------------------</div><div class="t m0 x1 he y10f ffc fs8 fc0 sc0 ls0 ws0">f(A);<span class="_ _23"> </span><span class="ffd fc6">//<span class="_ _8"> </span>ok</span></div><div class="t m0 x1 hf y110 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>f(B);<span class="_ _f"> </span>//<span class="_ _d"> </span><span class="ffe">compile<span class="_ _1e"> </span>error<span class="_ _f"> </span></span>B<span class="_ _f"> </span>has<span class="_ _f"> </span>size<span class="_ _f"> </span>4</div><div class="t m0 x1 hf y111 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>f(C);<span class="_ _f"> </span>//<span class="_ _d"> </span><span class="ffe">compile<span class="_ _1e"> </span>error<span class="_ _f"> </span></span>C<span class="_ _f"> </span>is<span class="_ _f"> </span>a<span class="_ _f"> </span>pointer</div><div class="t m0 x1 he y112 ffc fs8 fc0 sc0 ls0 ws0">g(A);<span class="_ _17"> </span><span class="ffd fc6">//<span class="_ _f"> </span>ok</span></div><div class="t m0 x1 he y113 ffc fs8 fc0 sc0 ls0 ws0">g(B);<span class="_ _17"> </span><span class="ffd fc6">//<span class="_ _f"> </span>ok</span></div><div class="t m0 x1 he y114 ffc fs8 fc0 sc0 ls0 ws0">g(C);<span class="_ _17"> </span><span class="ffd fc6">//<span class="_ _f"> </span>ok</span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">27/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf20" class="pf w0 h0" data-page-no="20"><div class="pc pc20 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Reference<span class="_ _8"> </span>-<span class="_ _f"> </span>Arra<span class="_ _c"></span>ys</div><div class="t m0 x26 h12 ya6 ff9 fs5 fc1 sc0 ls0 ws0">⋆</div><div class="t m0 x1 he y115 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">A[<span class="fc5">4</span>];</span></div><div class="t m0 x1 he y116 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">(<span class="fc5">&amp;</span>B)[<span class="fc5">4</span>]<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>A;<span class="_ _16"> </span><span class="ffd fc6">//<span class="_ _d"> </span>ok,<span class="_ _8"> </span>reference<span class="_ _d"> </span>to<span class="_ _f"> </span>array</span></span></div><div class="t m0 x1 he y117 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">C[<span class="fc5">10</span>][<span class="fc5">3</span>];</span></div><div class="t m0 x1 he y118 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">(<span class="fc5">&amp;</span>D)[<span class="fc5">10</span>][<span class="fc5">3</span>]<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>C;<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _8"> </span>ok,<span class="_ _d"> </span>reference<span class="_ _f"> </span>to<span class="_ _f"> </span>2D<span class="_ _f"> </span>array</span></span></div><div class="t m0 x1 he y119 ff5 fs8 fc7 sc0 ls0 ws0">auto<span class="_"> </span><span class="ffc fc0">c<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span></span>new<span class="_"> </span><span class="fc4">int<span class="ffc fc0">[<span class="fc5">3</span>][<span class="fc5">4</span>];<span class="_ _14"> </span><span class="ffd fc6">//<span class="_ _d"> </span>type<span class="_ _8"> </span>is<span class="_ _d"> </span>int<span class="_ _f"> </span>(*)[4]</span></span></span></div><div class="t m0 x1 he y11a ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>read<span class="_ _f"> </span>as<span class="_ _d"> </span>&quot;pointer<span class="_ _8"> </span>to<span class="_ _d"> </span>arrays<span class="_ _f"> </span>of<span class="_ _f"> </span>4<span class="_ _f"> </span>int&quot;</div><div class="t m0 x1 hf y11b ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>int<span class="_ _f"> </span>(<span class="ff15">&amp;</span>d)[3][4]<span class="_ _d"> </span>=<span class="_ _8"> </span>c;<span class="_ _17"> </span>//<span class="_ _d"> </span><span class="ffe">compile<span class="_ _1e"> </span>error</span></div><div class="t m0 x1 hf y11c ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>int<span class="_ _f"> </span>(*e)[3]<span class="_ _23"> </span>=<span class="_ _f"> </span>c;<span class="_ _17"> </span>//<span class="_ _f"> </span><span class="ffe">compile<span class="_ _e"> </span>error</span></div><div class="t m0 x1 he y11d ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">(<span class="fc5">*</span>f)[<span class="fc5">4</span>]<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>c;<span class="_ _18"> </span><span class="ffd fc6">//<span class="_ _f"> </span>ok</span></span></div><div class="t m0 x11 h10 y11e ff13 fs8 fcc sc0 ls0 ws0">see<span class="_ _e"> </span>also<span class="_ _1e"> </span><span class="ffc">www3.ntu.edu.sg/home/</span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">28/104</div><a class="l" href="www3.ntu.edu.sg/home/ehchua/programming/cpp/cp4_PointerReference.html"><div class="d m1" style="border-style:none;position:absolute;left:67.359000px;bottom:9.765000px;width:100.846000px;height:13.444000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf21" class="pf w0 h0" data-page-no="21"><div class="pc pc21 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x10 h2 y41 ff1 fs0 fc0 sc0 ls0 ws0">Heap<span class="_ _1"> </span>and<span class="_ _1"> </span>Stack</div><a class="l" href="#pf21" data-dest-detail='[33,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:132.432000px;width:183.729000px;height:24.026000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf22" class="pf w0 h0" data-page-no="22"><div class="pc pc22 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Pro<span class="_ _b"></span>cess<span class="_ _8"> </span>Address<span class="_ _8"> </span>Space</div><div class="t m0 x27 h10 y11f ff13 fs8 fc0 sc0 ls0 ws0">higher<span class="_ _e"> </span>memo<span class="_ _6"></span>ry</div><div class="t m0 x19 h10 y120 ff13 fs8 fc0 sc0 ls0 ws0">addresses</div><div class="t m0 x18 he y121 ffc fs8 fc0 sc0 ls0 ws0">0x00FFFFFF</div><div class="t m0 x3 hd y122 ff1 fs7 fc0 sc0 ls0 ws0">Stack</div><div class="t m0 x28 h13 y123 ff12 fs7 fc0 sc0 ls0 ws0">↓</div><div class="t m0 x1b hd y124 ff1 fs7 fc0 sc0 ls0 ws0">stack<span class="_ _7"> </span>memory<span class="_ _2e"> </span><span class="ff5">int<span class="_"> </span>data[10]</span></div><div class="t m0 x29 h13 y125 ff12 fs7 fc0 sc0 ls0 ws0">↑</div><div class="t m0 xa hd y126 ff1 fs7 fc0 sc0 ls0 ws0">Heap</div><div class="t m0 x2a hd y127 ff1 fs7 fc0 sc0 ls0 ws0">dynamic<span class="_ _7"> </span>memory</div><div class="t m0 x2b h14 y125 ff5 fs7 fc0 sc0 ls0 ws0">new<span class="_"> </span>int[10]</div><div class="t m0 x2c h14 y126 ff5 fs7 fc0 sc0 ls0 ws0">malloc(40)</div><div class="t m0 xb hd y128 ff1 fs7 fc0 sc0 ls0 ws0">BSS<span class="_ _7"> </span>and<span class="_ _7"> </span>Data</div><div class="t m0 x2d hd y129 ff1 fs7 fc0 sc0 ls0 ws0">Segment</div><div class="t m0 x2e h6 y12a ff4 fs4 fc0 sc0 ls0 ws0">.bss/.data</div><div class="t m0 x2f hd y12b ff1 fs7 fc0 sc0 ls0 ws0">Static/Global</div><div class="t m0 x30 hd y12c ff1 fs7 fc0 sc0 ls0 ws0">data</div><div class="t m0 x31 h14 y12b ff5 fs7 fc0 sc0 ls0 ws0">int<span class="_"> </span>data[10]</div><div class="t m0 x32 h10 y12c ff13 fs8 fc0 sc0 ls0 ws0">(global<span class="_ _e"> </span>scope)</div><div class="t m0 x33 h10 y12d ff13 fs8 fc0 sc0 ls0 ws0">lo<span class="_ _6"></span>wer<span class="_ _1e"> </span>memory</div><div class="t m0 x19 h10 y12e ff13 fs8 fc0 sc0 ls0 ws0">addresses</div><div class="t m0 x18 he y12f ffc fs8 fc0 sc0 ls0 ws0">0x00FF0000</div><div class="t m0 xa hd y130 ff1 fs7 fc0 sc0 ls0 ws0">Co<span class="_ _b"></span>de</div><div class="t m0 xf h6 y131 ff4 fs4 fc0 sc0 ls0 ws0">.text</div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">29/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf23" class="pf w0 h0" data-page-no="23"><div class="pc pc23 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Data<span class="_ _8"> </span>and<span class="_ _f"> </span>BSS<span class="_ _8"> </span>Segment</div><div class="t m0 x1 he y132 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">data[]<span class="_ _2f"> </span><span class="fc5">=<span class="_ _f"> </span></span>{<span class="fc5">1</span>,<span class="_ _f"> </span><span class="fc5">2</span>};<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _8"> </span>DATA<span class="_ _d"> </span>segment<span class="_ _f"> </span>memory</span></span></div><div class="t m0 x1 he y133 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">big_data[<span class="fc5">1000000</span>]<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>{};<span class="_ _16"> </span><span class="ffd fc6">//<span class="_ _d"> </span>BSS<span class="_ _8"> </span>segment<span class="_ _d"> </span>memory</span></span></div><div class="t m0 x1 he y134 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>(zero-initialized)</div><div class="t m0 x1 he y135 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc3">main<span class="fc0">()<span class="_ _f"> </span>{</span></span></div><div class="t m0 x22 he y136 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">A[]<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>{<span class="fc5">1</span>,<span class="_ _d"> </span><span class="fc5">2</span>,<span class="_ _8"> </span><span class="fc5">3</span>};<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _f"> </span>stack<span class="_ _f"> </span>memory</span></span></div><div class="t m0 x1 he y137 ffc fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 hd y138 ff4 fs7 fc0 sc0 ls0 ws0">Data/BSS<span class="_ _11"> </span>(Blo<span class="_ _b"></span>ck<span class="_ _11"> </span>Sta<span class="_ _6"></span>rted<span class="_ _11"> </span>b<span class="_ _6"></span>y<span class="_ _11"> </span>Symb<span class="_ _b"></span>ol)<span class="_ _11"> </span>segments<span class="_ _11"> </span>are<span class="_ _a"> </span>larger<span class="_ _a"> </span>than<span class="_ _11"> </span>stack<span class="_ _11"> </span>memory<span class="_ _a"> </span>(max</div><div class="t m0 x1 hd y139 ff12 fs7 fc0 sc0 ls0 ws0">≈<span class="_ _1e"> </span><span class="ff4">1GB<span class="_ _11"> </span>in<span class="_ _11"> </span>general)<span class="_ _11"> </span>but<span class="_ _11"> </span>slow<span class="_ _c"></span>er</span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">30/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf24" class="pf w0 h0" data-page-no="24"><div class="pc pc24 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIvElEQVR42u3cMU6FQBiF0YfMxNI1GCsLamOsSDBxZ27CvVBg4Q5o3IHVK51AsLPEjvnzPGcDQy7NlwmhuXt4OgEAQBifH+9XVgAAIBqRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgDAr6aUYgUAAOLIObtJBQAgHJEKAIBIBQAAkQoAgEgFAACRCgDAxUnHH7ksa9cPpgcACGuexroPUOEmNaXWiwcAYIef+QMAEIuf+QMAEJFIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAD8Z+n4I5dl7frB9AAAYc3TWPcBKtykptR68QAA7GhKKVYAACCOnLNvUgEACEekAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUk0AAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQC4AOn4I5dl7frB9AAAYc3TWPcBKtykptR68QAA7GhKKVYAACCOnLNvUgEACEekAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAoLZ0fr21Avzp6/nNCABwjPvHl6a5ud7O36fTtm0GAQAghB/WJi8f1cTRdAAAAABJRU5ErkJggg=="/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Stack<span class="_ _8"> </span>and<span class="_ _f"> </span>Heap<span class="_ _8"> </span>Memo<span class="_ _6"></span>ry<span class="_ _8"> </span>Overview</div><div class="t m0 x34 hd y13a ff1 fs7 fc0 sc0 ls0 ws0">Stack<span class="_ _30"> </span>Heap</div><div class="t m0 x35 hd y13b ff1 fs7 fc0 sc0 ls0 ws0">Memo<span class="_ _6"></span>ry</div><div class="t m0 x35 hd y13c ff1 fs7 fc0 sc0 ls0 ws0">Organization</div><div class="t m0 x26 hd y13d ff4 fs7 fc0 sc0 ls0 ws0">Contiguous<span class="_ _11"> </span>(LIF<span class="_ _6"></span>O)</div><div class="t m0 x36 hd y13e ff4 fs7 fc0 sc0 ls0 ws0">Contiguous<span class="_ _11"> </span>within<span class="_ _11"> </span>an<span class="_ _11"> </span>allo<span class="_ _b"></span>cation,</div><div class="t m0 x36 hd y13d ff4 fs7 fc0 sc0 ls0 ws0">F<span class="_ _6"></span>ragmented<span class="_ _11"> </span>b<span class="_ _b"></span>et<span class="_ _6"></span>ween<span class="_ _a"> </span>allo<span class="_ _b"></span>cations</div><div class="t m0 x36 hd y13f ff4 fs7 fc0 sc0 ls0 ws0">(relies<span class="_ _11"> </span>on<span class="_ _11"> </span>virtual<span class="_ _11"> </span>memo<span class="_ _6"></span>ry)</div><div class="t m0 x35 hd y140 ff1 fs7 fc0 sc0 ls0 ws0">Max<span class="_ _7"> </span>size</div><div class="t m0 x26 hd y141 ff4 fs7 fc0 sc0 ls0 ws0">Small<span class="_ _a"> </span>(8MB<span class="_ _11"> </span>on<span class="_ _11"> </span>Linux,<span class="_ _a"> </span>1MB<span class="_ _11"> </span>on</div><div class="t m0 x26 hd y142 ff4 fs7 fc0 sc0 ls0 ws0">Windo<span class="_ _6"></span>ws)</div><div class="t m0 x36 hd y140 ff4 fs7 fc0 sc0 ls0 ws0">Whole<span class="_ _11"> </span>system<span class="_ _11"> </span>memo<span class="_ _6"></span>ry</div><div class="t m0 x35 hd y143 ff1 fs7 fc0 sc0 ls0 ws0">If<span class="_ _7"> </span>exceed</div><div class="t m0 x26 hd y144 ff4 fs7 fc0 sc0 ls0 ws0">Program<span class="_ _11"> </span>crash<span class="_ _11"> </span>at<span class="_ _11"> </span>function</div><div class="t m0 x26 hd y145 ff4 fs7 fc0 sc0 ls0 ws0">entry<span class="_ _11"> </span>(ha<span class="_ _6"></span>rd<span class="_ _11"> </span>to<span class="_ _11"> </span>debug)</div><div class="t m0 x36 hd y143 ff4 fs7 fc0 sc0 ls0 ws0">Exception<span class="_ _11"> </span>o<span class="_ _6"></span>r<span class="_ _11"> </span><span class="ff6">nullptr</span></div><div class="t m0 x35 hd y146 ff1 fs7 fc0 sc0 ls0 ws0">Allo<span class="_ _b"></span>cation<span class="_ _31"> </span><span class="ff4">Compile-time<span class="_ _32"> </span>R<span class="_ _6"></span>un-time</span></div><div class="t m0 x35 hd y147 ff1 fs7 fc0 sc0 ls0 ws0">Lo<span class="_ _b"></span>calit<span class="_ _6"></span>y<span class="_ _33"> </span><span class="ff4">High<span class="_ _34"> </span>Lo<span class="_ _6"></span>w</span></div><div class="t m0 x35 hd y148 ff1 fs7 fc0 sc0 ls0 ws0">Thread<span class="_ _7"> </span>View<span class="_ _35"> </span><span class="ff4">Each<span class="_ _11"> </span>thread<span class="_ _11"> </span>has<span class="_ _11"> </span>its<span class="_ _11"> </span>o<span class="_ _6"></span>wn<span class="_ _11"> </span>stack<span class="_ _36"> </span>Sha<span class="_ _6"></span>red<span class="_ _11"> </span>among<span class="_ _11"> </span>threads</span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">31/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf25" class="pf w0 h0" data-page-no="25"><div class="pc pc25 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Stack<span class="_ _8"> </span>Memory</div><div class="t m0 x1 hd y6d ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _11"> </span>lo<span class="_ _b"></span>cal<span class="_ _11"> </span>va<span class="_ _6"></span>riable<span class="_ _11"> </span>is<span class="_ _11"> </span>either<span class="_ _11"> </span>in<span class="_ _11"> </span>the<span class="_ _11"> </span>stack<span class="_ _11"> </span>memory<span class="_ _a"> </span>o<span class="_ _6"></span>r<span class="_ _11"> </span>CPU<span class="_ _11"> </span>registers</div><div class="t m0 x1 he y149 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">x<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>3</span>;<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _8"> </span>not<span class="_ _d"> </span>on<span class="_ _f"> </span>the<span class="_ _f"> </span>stack<span class="_ _f"> </span>(data<span class="_ _f"> </span>segment)</span></span></div><div class="t m0 x1 he y14a ff5 fs8 fc7 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc3">A<span class="_"> </span><span class="ffc fc0">{</span></span></div><div class="t m0 x22 he y14b ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">k;<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>depends<span class="_ _d"> </span>on<span class="_ _8"> </span>where<span class="_ _d"> </span>the<span class="_ _f"> </span>instance<span class="_ _f"> </span>of<span class="_ _f"> </span>A<span class="_ _f"> </span>is</span></span></div><div class="t m0 x1 he y14c ffc fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 he y14d ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc3">main<span class="fc0">()<span class="_ _f"> </span>{</span></span></div><div class="t m0 x22 he y14e ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_ _17"> </span><span class="ffc fc0">y<span class="_ _17"> </span><span class="fc5">=<span class="_ _f"> </span>3</span>;<span class="_ _18"> </span><span class="ffd fc6">//<span class="_ _f"> </span>on<span class="_ _f"> </span>stack</span></span></div><div class="t m0 x22 he y14f ff5 fs8 fc4 sc0 ls0 ws0">char<span class="_ _14"> </span><span class="ffc fc0">z[]<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span><span class="fcd">&quot;abc&quot;</span></span>;<span class="_ _16"> </span><span class="ffd fc6">//<span class="_ _d"> </span>on<span class="_ _8"> </span>stack</span></span></div><div class="t m0 x22 he y150 ffc fs8 fc0 sc0 ls0 ws0">A<span class="_ _16"> </span>a;<span class="_ _37"> </span><span class="ffd fc6">//<span class="_ _f"> </span>on<span class="_ _f"> </span>stack<span class="_ _d"> </span>(also<span class="_ _8"> </span>k)</span></div><div class="t m0 x22 he y151 ff5 fs8 fc4 sc0 ls0 ws0">void<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">ptr<span class="_ _f"> </span></span>=<span class="_ _d"> </span><span class="fc0">malloc(</span>4<span class="fc0">);<span class="_ _8"> </span><span class="ffd fc6">//<span class="_ _d"> </span>variable<span class="_ _f"> </span>&quot;ptr&quot;<span class="_ _f"> </span>is<span class="_ _f"> </span>on<span class="_ _f"> </span>the<span class="_ _d"> </span>stack</span></span></span></div><div class="t m0 x1 he y152 ffc fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 h6 y153 ff1 fs4 fc0 sc0 ls0 ws0">The<span class="_ _11"> </span>o<span class="_ _6"></span>rganization<span class="_ _11"> </span>of<span class="_ _11"> </span>the<span class="_ _11"> </span>stack<span class="_ _11"> </span>memory<span class="_ _a"> </span>enables<span class="_ _11"> </span>much<span class="_ _11"> </span>higher<span class="_ _11"> </span>p<span class="_ _b"></span>erformance.<span class="_ _f"> </span>On<span class="_ _11"> </span>the</div><div class="t m0 x1 h6 y154 ff1 fs4 fc0 sc0 ls0 ws0">other<span class="_ _11"> </span>hand,<span class="_ _11"> </span>this<span class="_ _11"> </span>memory<span class="_ _a"> </span>space<span class="_ _11"> </span>is<span class="_ _11"> </span>limited!!</div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">32/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf26" class="pf w0 h0" data-page-no="26"><div class="pc pc26 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIX0lEQVR42u3YsQnCQBiG4TvJkdIZQionELEW3CxLZJwUGSIbWKX0mrOzTyH8yPOM8FUvXx6v9wQAAGFs63KyAgAA0YhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAAC+cq3VCgAAxFFK8aQCABCOSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKSaAAAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASDUBAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAwP/o9mmwAvzI6zEbAQCOutyeOZ/7tr9Taq0ZBACAED4RORQEKxwkZwAAAABJRU5ErkJggg=="/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Stack<span class="_ _8"> </span>Memory<span class="_ _8"> </span>Data</div><div class="t m0 x1 hd y155 ff1 fs7 fc0 sc0 ls0 ws0">T<span class="_ _4"></span>yp<span class="_ _b"></span>es<span class="_ _7"> </span>of<span class="_ _7"> </span>data<span class="_ _8"> </span>sto<span class="_ _c"></span>red<span class="_ _8"> </span>in<span class="_ _7"> </span>the<span class="_ _7"> </span>stack<span class="ff4">:</span></div><div class="t m0 x37 hd y156 ffa fs7 fc0 sc0 ls0 ws0">Lo<span class="_ _b"></span>cal<span class="_ _11"> </span>va<span class="_ _6"></span>riables<span class="_ _12"> </span><span class="ff4">V<span class="_ _6"></span>a<span class="_ _6"></span>riable<span class="_ _11"> </span>in<span class="_ _11"> </span>a<span class="_ _11"> </span>lo<span class="_ _b"></span>cal<span class="_ _11"> </span>scop<span class="_ _b"></span>e</span></div><div class="t m0 xe hd y157 ffa fs7 fc0 sc0 ls0 ws0">F<span class="_ _6"></span>unction<span class="_ _11"> </span>a<span class="_ _6"></span>rguments<span class="_ _12"> </span><span class="ff4">Data<span class="_ _11"> </span>passed<span class="_ _11"> </span>from<span class="_ _11"> </span>caller<span class="_ _11"> </span>to<span class="_ _11"> </span>a<span class="_ _11"> </span>function</span></div><div class="t m0 x38 hd y158 ffa fs7 fc0 sc0 ls0 ws0">Return<span class="_ _11"> </span>addresses<span class="_ _12"> </span><span class="ff4">Data<span class="_ _a"> </span>passed<span class="_ _11"> </span>from<span class="_ _11"> </span>a<span class="_ _11"> </span>function<span class="_ _11"> </span>to<span class="_ _11"> </span>a<span class="_ _11"> </span>caller</span></div><div class="t m0 x35 hd y159 ffa fs7 fc0 sc0 ls0 ws0">Compiler<span class="_ _11"> </span>temp<span class="_ _b"></span>o<span class="_ _6"></span>ra<span class="_ _6"></span>ries<span class="_ _12"> </span><span class="ff4">Compiler<span class="_ _11"> </span>sp<span class="_ _b"></span>ecific<span class="_ _11"> </span>instructions</span></div><div class="t m0 x39 h13 y15a ffa fs7 fc0 sc0 ls0 ws0">Interrupt<span class="_ _11"> </span>contexts</div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">33/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf27" class="pf w0 h0" data-page-no="27"><div class="pc pc27 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Stack<span class="_ _8"> </span>Memory</div><div class="t m0 x1 hd y6d ff1 fs7 fc8 sc0 ls0 ws0">Every<span class="_ _7"> </span>object<span class="_ _7"> </span>which<span class="_ _8"> </span>resides<span class="_ _7"> </span>in<span class="_ _7"> </span>the<span class="_ _8"> </span>stack<span class="_ _7"> </span>is<span class="_ _7"> </span>not<span class="_ _7"> </span>valid<span class="_ _8"> </span>outside<span class="_ _7"> </span>his<span class="_ _7"> </span>scop<span class="_ _b"></span>e!!</div><div class="t m0 x1 he y15b ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc3">f<span class="fc0">()<span class="_ _f"> </span>{</span></span></span></div><div class="t m0 x22 he y15c ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">array[<span class="fc5">3</span>]<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>{<span class="fc5">1</span>,<span class="_ _d"> </span><span class="fc5">2</span>,<span class="_ _8"> </span><span class="fc5">3</span>};</span></div><div class="t m0 x22 he y15d ff5 fs8 fc7 sc0 ls0 ws0">return<span class="_"> </span><span class="ffc fc0">array;</span></div><div class="t m0 x1 he y15e ffc fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 he y15f ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">ptr<span class="_ _f"> </span></span>=<span class="_ _d"> </span><span class="fc0">f();</span></span></div><div class="t m0 x1 he y160 ffc fs8 fc0 sc0 ls0 ws0"><span class="fcb sc0">cout</span><span class="_ _f"> </span><span class="fc5"><span class="fcb sc0">&lt;&lt;</span><span class="_ _f"> </span></span><span class="fcb sc0">ptr[</span><span class="fc5"><span class="fcb sc0">0</span></span><span class="fcb sc0">];</span><span class="_ _d"> </span><span class="ffd fc6"><span class="fcb sc0">//</span><span class="_ _8"> </span><span class="fc8"><span class="fcb sc0">Illegal</span><span class="_ _d"> </span><span class="fcb sc0">memory</span><span class="_ _f"> </span><span class="fcb sc0">access!!</span></span></span></div><div class="t m0 x3a h15 y160 ff16 fs8 fc6 sc0 ls0 ws0"><span class="fcb sc0">A</span></div><div class="t m0 x1 he y161 ff5 fs8 fc4 sc0 ls0 ws0">void<span class="_"> </span><span class="ffc fc3">g<span class="fc0">(</span></span>bool<span class="_"> </span><span class="ffc fc0">x)<span class="_ _f"> </span>{</span></div><div class="t m0 x22 he y162 ff5 fs8 fc7 sc0 ls0 ws0">const<span class="_"> </span><span class="fc4">char<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">str<span class="_ _f"> </span></span>=<span class="_ _d"> </span><span class="fcd">&quot;abc&quot;<span class="fc0">;</span></span></span></span></div><div class="t m0 x22 he y163 ff5 fs8 fc7 sc0 ls0 ws0">if<span class="_"> </span><span class="ffc fc0">(x)<span class="_ _f"> </span>{</span></div><div class="t m0 x1a he y164 ff5 fs8 fc4 sc0 ls0 ws0">char<span class="_"> </span><span class="ffc fc0">xyz[]<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span><span class="fcd">&quot;xyz&quot;</span></span>;</span></div><div class="t m0 x1a he y165 ffc fs8 fc0 sc0 ls0 ws0">str<span class="_ _2a"> </span><span class="fc5">=<span class="_ _d"> </span></span>xyz;</div><div class="t m0 x22 he y166 ffc fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x22 he y167 ffc fs8 fc0 sc0 ls0 ws0">cout<span class="_ _f"> </span><span class="fc5">&lt;&lt;<span class="_ _f"> </span></span>str;<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _8"> </span>if<span class="_ _d"> </span>&quot;x&quot;<span class="_ _f"> </span>is<span class="_ _f"> </span>true,<span class="_ _f"> </span>then<span class="_ _f"> </span><span class="fc8">Illegal<span class="_ _d"> </span>memory<span class="_ _f"> </span>access!!</span></span></div><div class="t m0 x2b h15 y167 ff16 fs8 fc6 sc0 ls0 ws0"><span class="fcb sc0">A</span></div><div class="t m0 x1 he y168 ffc fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">34/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf28" class="pf w0 h0" data-page-no="28"><div class="pc pc28 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Heap<span class="_ _8"> </span>Memory<span class="_ _8"> </span>-<span class="_ _8"> </span><span class="ff5">new</span>,<span class="_ _8"> </span><span class="ff5">delete<span class="_ _f"> </span></span>Keyw<span class="_ _c"></span>ords</div><div class="t m0 xe hd y169 ff5 fs7 fc1 sc0 ls0 ws0">new<span class="ff1">,<span class="_ _7"> </span></span>delete</div><div class="t m0 xe hd y16a ff6 fs7 fc3 sc0 ls0 ws0">new<span class="ff4 fc0">/</span>new[]<span class="_ _11"> </span><span class="ff4 fc0">and<span class="_ _11"> </span></span>delete<span class="ff4 fc0">/</span>delete[]<span class="_ _11"> </span><span class="ff4 fc0">a<span class="_ _6"></span>re<span class="_ _11"> </span>C++<span class="_ _11"> </span><span class="ffa">k<span class="_ _6"></span>eywo<span class="_ _c"></span>rds<span class="_ _f"> </span><span class="ff4">that<span class="_ _a"> </span>p<span class="_ _b"></span>erform<span class="_ _a"> </span>dynamic</span></span></span></div><div class="t m0 xe hd y16b ff4 fs7 fc0 sc0 ls0 ws0">memo<span class="_ _6"></span>ry<span class="_ _11"> </span>allo<span class="_ _b"></span>cation/deallo<span class="_ _b"></span>cation,<span class="_ _11"> </span>and<span class="_ _11"> </span>object<span class="_ _11"> </span>construction/destruction<span class="_ _11"> </span>at<span class="_ _11"> </span>runtime</div><div class="t m0 xe hd y16c ff6 fs7 fc0 sc0 ls0 ws0">malloc<span class="_ _12"> </span><span class="ff4">and<span class="_ _13"> </span></span>free<span class="_ _13"> </span><span class="ff4">a<span class="_ _c"></span>re<span class="_ _11"> </span>C<span class="_ _11"> </span>functions<span class="_ _11"> </span>and<span class="_ _11"> </span>they<span class="_ _11"> </span>only<span class="_ _11"> </span>allo<span class="_ _b"></span>cate<span class="_ _11"> </span>and<span class="_ _7"> </span>free<span class="_ _11"> </span><span class="ffa">memo<span class="_ _6"></span>ry<span class="_ _11"> </span>blo<span class="_ _b"></span>cks</span></span></div><div class="t m0 x1 hd y16d ff4 fs7 fc0 sc0 ls0 ws0">(exp<span class="_ _6"></span>ressed<span class="_ _11"> </span>in<span class="_ _11"> </span>b<span class="_ _6"></span>ytes)</div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">35/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf29" class="pf w0 h0" data-page-no="29"><div class="pc pc29 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">new<span class="ff1">,<span class="_ _8"> </span></span>delete<span class="_ _f"> </span><span class="ff1">A<span class="_ _c"></span>dvantages</span></div><div class="t m0 x11 hd y16e ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff1">Language<span class="_ _7"> </span>keyw<span class="_ _c"></span>o<span class="_ _6"></span>rds<span class="ff4">,<span class="_ _11"> </span>not<span class="_ _11"> </span>functions<span class="_ _11"> </span><span class="ff12">→<span class="_ _11"> </span><span class="ffa">safer</span></span></span></span></div><div class="t m0 x11 hd y16f ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff1">Return<span class="_ _7"> </span>type<span class="ff4">:<span class="_ _d"> </span><span class="ff6 fc3">new<span class="_ _a"> </span></span>returns<span class="_ _11"> </span>exact<span class="_ _11"> </span>data<span class="_ _11"> </span>type,<span class="_ _11"> </span>while<span class="_ _13"> </span><span class="ff6">malloc()<span class="_ _12"> </span></span>returns<span class="_ _13"> </span><span class="ff6">void*</span></span></span></div><div class="t m0 x11 hd y170 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff1">F<span class="_ _6"></span>ailure<span class="ff4">:<span class="_ _f"> </span><span class="ff6 fc3">new<span class="_ _11"> </span></span>throws<span class="_ _a"> </span>an<span class="_ _11"> </span><span class="ffa">exception</span>,<span class="_ _11"> </span>while<span class="_ _12"> </span><span class="ff6">malloc()<span class="_ _13"> </span></span>returns<span class="_ _a"> </span>a<span class="_ _13"> </span><span class="ff6">NULL<span class="_ _12"> </span></span>p<span class="_ _b"></span>ointer<span class="_ _11"> </span><span class="ff12">→<span class="_ _11"> </span><span class="ffa">it</span></span></span></span></div><div class="t m0 x7 hd y171 ffa fs7 fc0 sc0 ls0 ws0">cannot<span class="_ _11"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span>igno<span class="_ _6"></span>red<span class="ff4">,<span class="_ _11"> </span>zero-size<span class="_ _11"> </span>allo<span class="_ _b"></span>cations<span class="_ _11"> </span>do<span class="_ _11"> </span>not<span class="_ _11"> </span>need<span class="_ _11"> </span>sp<span class="_ _b"></span>ecial<span class="_ _11"> </span>co<span class="_ _b"></span>de</span></div><div class="t m0 x11 hd y172 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff1">Allo<span class="_ _b"></span>cation<span class="_ _7"> </span>size<span class="ff4">:<span class="_ _d"> </span>The<span class="_ _a"> </span>numb<span class="_ _b"></span>er<span class="_ _11"> </span>of<span class="_ _11"> </span>bytes<span class="_ _a"> </span>is<span class="_ _11"> </span>calculated<span class="_ _11"> </span>by<span class="_ _a"> </span>the<span class="_ _11"> </span>compiler<span class="_ _11"> </span>with<span class="_ _11"> </span>the<span class="_ _11"> </span><span class="ff6 fc3">new</span></span></span></div><div class="t m0 x7 hd y173 ff4 fs7 fc0 sc0 ls0 ws0">k<span class="_ _6"></span>eyw<span class="_ _6"></span>o<span class="_ _6"></span>rd,<span class="_ _11"> </span>while<span class="_ _11"> </span>the<span class="_ _11"> </span>user<span class="_ _11"> </span>must<span class="_ _11"> </span>take<span class="_ _a"> </span>ca<span class="_ _6"></span>re<span class="_ _11"> </span>of<span class="_ _11"> </span>manually<span class="_ _11"> </span>calculate<span class="_ _11"> </span>the<span class="_ _11"> </span>size<span class="_ _11"> </span>for</div><div class="t m0 x12 h11 y174 ff6 fs7 fc0 sc0 ls0 ws0">malloc()</div><div class="t m0 x11 hd y175 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff1">Initialization<span class="ff4">:<span class="_ _d"> </span><span class="ff6 fc3">new<span class="_ _a"> </span></span>can<span class="_ _11"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span>used<span class="_ _11"> </span>to<span class="_ _11"> </span>initialize<span class="_ _11"> </span>b<span class="_ _b"></span>esides<span class="_ _11"> </span>allo<span class="_ _b"></span>cate</span></span></div><div class="t m0 x11 hd y176 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff1">P<span class="_ _6"></span>olymo<span class="_ _6"></span>rphism<span class="ff4">:<span class="_ _f"> </span>objects<span class="_ _11"> </span>with<span class="_ _11"> </span><span class="ff6">virtual<span class="_ _11"> </span></span>functions<span class="_ _11"> </span>m<span class="_ _b"></span>ust<span class="_ _11"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span>allo<span class="_ _b"></span>cated<span class="_ _11"> </span>with<span class="_ _11"> </span><span class="ff6 fc3">new<span class="_ _11"> </span></span>to</span></span></div><div class="t m0 x7 hd y177 ff4 fs7 fc0 sc0 ls0 ws0">initialize<span class="_ _11"> </span>the<span class="_ _11"> </span>virtual<span class="_ _11"> </span>table<span class="_ _11"> </span>p<span class="_ _b"></span>ointer</div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">36/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf2a" class="pf w0 h0" data-page-no="2a"><div class="pc pc2a w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIrklEQVR42u3YsUlEURCG0b3yBqOLNYiRFYgYC9uZTViOgUXYgdFyIyd5ZmbCC2eWcyoY/uhjxsPTywkAAMr4+vy4sQIAANWIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAA/ozMtAIAAHVEhE8qAADliFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAOCqbCY4bq1lBACgqTlno2t9UgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAD8b2SmFQAAqCMifFIBAChHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAANLKZ4Li1lhEAgKbmnI2u9UkFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAoZGSmFQAAqCMifFIBAChHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAANLKZ4Li1lhEAgKbmnI2u9UkFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAoZGSmFQAAqCMifFIBAChHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAANLKZ4Li1lhEAgKbmnI2u9UkFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAoZGSmFQAAqCMifFIBAChHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAABSyXd7urQDdfb++GwGAq/H4fB7j7na//JxO+74bBACAEn4B7nkr/PnlcmwAAAAASUVORK5CYII="/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Dynamic<span class="_ _8"> </span>Memory<span class="_ _8"> </span>Allo<span class="_ _b"></span>cation</div><div class="t m0 x11 hd y178 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff1">Allo<span class="_ _b"></span>cate<span class="_ _7"> </span>a<span class="_ _8"> </span>single<span class="_ _7"> </span>element</span></div><div class="t m0 x7 he y179 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">value<span class="_ _f"> </span></span>=<span class="_ _d"> </span><span class="fc0">(</span></span>int<span class="ffc fc5">*<span class="fc0">)<span class="_ _8"> </span>malloc(</span></span><span class="fc7">sizeof<span class="ffc fc0">(</span></span>int<span class="ffc fc0">));<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _f"> </span>C</span></span></div><div class="t m0 x7 he y17a ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">value<span class="_ _f"> </span></span>=<span class="_ _d"> </span></span><span class="fc7">new<span class="_"> </span></span>int<span class="ffc fc0">;<span class="_ _28"> </span><span class="ffd fc6">//<span class="_ _8"> </span>C++</span></span></div><div class="t m0 x11 hd y17b ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff1">Allo<span class="_ _b"></span>cate<span class="_ _7"> </span><span class="ffa">N<span class="_ _d"> </span></span>elements</span></div><div class="t m0 x7 he y17c ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">array<span class="_ _f"> </span></span>=<span class="_ _d"> </span><span class="fc0">(</span></span>int<span class="ffc fc5">*<span class="fc0">)<span class="_ _8"> </span>malloc(N<span class="_ _d"> </span></span>*<span class="_ _f"> </span></span><span class="fc7">sizeof<span class="ffc fc0">(</span></span>int<span class="ffc fc0">));<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>C</span></span></div><div class="t m0 x7 he y17d ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">array<span class="_ _f"> </span></span>=<span class="_ _d"> </span></span><span class="fc7">new<span class="_"> </span></span>int<span class="ffc fc0">[N];<span class="_ _38"> </span><span class="ffd fc6">//<span class="_ _f"> </span>C++</span></span></div><div class="t m0 x11 hd y17e ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff1">Allo<span class="_ _b"></span>cate<span class="_ _7"> </span><span class="ffa">N<span class="_ _d"> </span></span>structures</span></div><div class="t m0 x7 he y17f ffc fs8 fc0 sc0 ls0 ws0">MyStruct<span class="fc5">*<span class="_ _f"> </span></span>array<span class="_ _f"> </span><span class="fc5">=<span class="_ _d"> </span></span>(MyStruct<span class="fc5">*</span>)<span class="_ _8"> </span>malloc(N<span class="_ _d"> </span><span class="fc5">*<span class="_ _f"> </span><span class="ff5 fc7">sizeof</span></span>(MyStruct));<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>C</span></div><div class="t m0 x7 he y180 ffc fs8 fc0 sc0 ls0 ws0">MyStruct<span class="fc5">*<span class="_ _f"> </span></span>array<span class="_ _f"> </span><span class="fc5">=<span class="_ _d"> </span><span class="ff5 fc7">new<span class="_"> </span></span></span>MyStruct[N];<span class="_ _29"> </span><span class="ffd fc6">//<span class="_ _8"> </span>C++</span></div><div class="t m0 x11 hd y181 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff1">Allo<span class="_ _b"></span>cate<span class="_ _7"> </span>and<span class="_ _8"> </span>zero-initialize<span class="_ _7"> </span><span class="ffa">N<span class="_ _d"> </span></span>elements</span></div><div class="t m0 x7 he y182 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">array<span class="_ _f"> </span></span>=<span class="_ _d"> </span><span class="fc0">(</span></span>int<span class="ffc fc5">*<span class="fc0">)<span class="_ _8"> </span>calloc(N,<span class="_ _d"> </span></span></span><span class="fc7">sizeof<span class="ffc fc0">(</span></span>int<span class="ffc fc0">));<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>C</span></span></div><div class="t m0 x7 he y183 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">array<span class="_ _f"> </span></span>=<span class="_ _d"> </span></span><span class="fc7">new<span class="_"> </span></span>int<span class="ffc fc0">[N]();<span class="_ _39"> </span><span class="ffd fc6">//<span class="_ _f"> </span>C++</span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">37/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf2b" class="pf w0 h0" data-page-no="2b"><div class="pc pc2b w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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IhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAALhby0wrAABQR0S4pAIAUI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAD/Y17enqwAR/V9fTcCALvzcrm19viwLj/TtK6rQQAAKOEXgBggALideF4AAAAASUVORK5CYII="/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Dynamic<span class="_ _8"> </span>Memory<span class="_ _8"> </span>Deallo<span class="_ _b"></span>cation</div><div class="t m0 x3b hd y184 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff1">Deallo<span class="_ _b"></span>cate<span class="_ _7"> </span>a<span class="_ _8"> </span>single<span class="_ _7"> </span>element</span></div><div class="t m0 x3c he y185 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">value<span class="_ _f"> </span></span>=<span class="_ _d"> </span><span class="fc0">(</span></span>int<span class="ffc fc5">*<span class="fc0">)<span class="_ _8"> </span>malloc(</span></span><span class="fc7">sizeof<span class="ffc fc0">(</span></span>int<span class="ffc fc0">));<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _f"> </span>C</span></span></div><div class="t m0 x3c he y186 ffc fs8 fc0 sc0 ls0 ws0">free(value);</div><div class="t m0 x3c he y187 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">value<span class="_ _f"> </span></span>=<span class="_ _d"> </span></span><span class="fc7">new<span class="_"> </span></span>int<span class="ffc fc0">;<span class="_ _28"> </span><span class="ffd fc6">//<span class="_ _8"> </span>C++</span></span></div><div class="t m0 x3c he y188 ff5 fs8 fc7 sc0 ls0 ws0">delete<span class="_"> </span><span class="ffc fc0">value;</span></div><div class="t m0 x3b hd y189 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff1">Deallo<span class="_ _b"></span>cate<span class="_ _7"> </span><span class="ffa">N<span class="_ _d"> </span></span>elements</span></div><div class="t m0 x3c he y18a ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">value<span class="_ _f"> </span></span>=<span class="_ _d"> </span><span class="fc0">(</span></span>int<span class="ffc fc5">*<span class="fc0">)<span class="_ _8"> </span>malloc(N<span class="_ _d"> </span></span>*<span class="_ _f"> </span></span><span class="fc7">sizeof<span class="ffc fc0">(</span></span>int<span class="ffc fc0">));<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>C</span></span></div><div class="t m0 x3c he y18b ffc fs8 fc0 sc0 ls0 ws0">free(value);</div><div class="t m0 x3c he y18c ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">value<span class="_ _f"> </span></span>=<span class="_ _d"> </span></span><span class="fc7">new<span class="_"> </span></span>int<span class="ffc fc0">[N];<span class="_ _38"> </span><span class="ffd fc6">//<span class="_ _f"> </span>C++</span></span></div><div class="t m0 x3c he y18d ff5 fs8 fc7 sc0 ls0 ws0">delete<span class="ffc fc0">[]<span class="_ _f"> </span>value;</span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">38/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf2c" class="pf w0 h0" data-page-no="2c"><div class="pc pc2c w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Allo<span class="_ _b"></span>cation/Deallo<span class="_ _b"></span>cation<span class="_ _f"> </span>Prop<span class="_ _b"></span>erties</div><div class="t m0 x1 hd y6d ff1 fs7 fc8 sc0 ls0 ws0">F<span class="_ _6"></span>undamental<span class="_ _7"> </span>properties<span class="ff4 fc0">:</span></div><div class="t m0 x11 hd y18e ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">Each<span class="_ _11"> </span>object<span class="_ _11"> </span>allo<span class="_ _b"></span>cated<span class="_ _11"> </span>with<span class="_ _13"> </span><span class="ff6">malloc()<span class="_ _12"> </span></span>must<span class="_ _11"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span>deallo<span class="_ _b"></span>cated<span class="_ _11"> </span>with<span class="_ _13"> </span><span class="ff6">free()</span></span></div><div class="t m0 x11 hd y18f ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">Each<span class="_ _11"> </span>object<span class="_ _11"> </span>allo<span class="_ _b"></span>cated<span class="_ _11"> </span>with<span class="_ _13"> </span><span class="ff6 fc3">new<span class="_ _12"> </span></span>must<span class="_ _11"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span>deallo<span class="_ _b"></span>cated<span class="_ _11"> </span>with<span class="_ _13"> </span><span class="ff6 fc3">delete</span></span></div><div class="t m0 x11 hd y190 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">Each<span class="_ _11"> </span>object<span class="_ _11"> </span>allo<span class="_ _b"></span>cated<span class="_ _11"> </span>with<span class="_ _13"> </span><span class="ff6 fc3">new[]<span class="_ _12"> </span></span>must<span class="_ _11"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span>deallo<span class="_ _b"></span>cated<span class="_ _11"> </span>with<span class="_ _13"> </span><span class="ff6 fc3">delete[]</span></span></div><div class="t m0 x11 hd y191 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _1a"> </span><span class="ff6">malloc()<span class="_ _1e"> </span><span class="ff4">,<span class="_ _13"> </span></span><span class="fc3">new<span class="_ _1e"> </span></span><span class="ff4">,<span class="_ _13"> </span></span><span class="fc3">new[]<span class="_ _13"> </span></span><span class="ff4">never<span class="_ _a"> </span>produce<span class="_ _13"> </span></span>NULL<span class="_ _12"> </span><span class="ff4">p<span class="_ _b"></span>ointer<span class="_ _11"> </span>in<span class="_ _11"> </span>the<span class="_ _11"> </span><span class="ffa">success<span class="_ _f"> </span></span>case,</span></span></div><div class="t m0 x7 hd y192 ff4 fs7 fc0 sc0 ls0 ws0">except<span class="_ _11"> </span>fo<span class="_ _6"></span>r<span class="_ _11"> </span>zero-size<span class="_ _11"> </span>allo<span class="_ _b"></span>cations<span class="_ _11"> </span>(implementation-defined)</div><div class="t m0 x11 hd y193 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _1a"> </span><span class="ff6">free()<span class="_ _1e"> </span><span class="ff4">,<span class="_ _13"> </span></span><span class="fc3">delete<span class="_ _1e"> </span></span><span class="ff4">,<span class="_ _11"> </span>and<span class="_ _13"> </span></span><span class="fc3">delete[]<span class="_ _13"> </span></span><span class="ff4">applied<span class="_ _a"> </span>to<span class="_ _13"> </span></span>NULL<span class="_ _1e"> </span><span class="ff4">/<span class="_ _e"> </span></span><span class="fc3">nullptr<span class="_ _13"> </span></span><span class="ff4">pointers<span class="_ _11"> </span>do<span class="_ _11"> </span>not</span></span></div><div class="t m0 x7 hd y194 ff4 fs7 fc0 sc0 ls0 ws0">p<span class="_ _6"></span>ro<span class="_ _b"></span>duce<span class="_ _11"> </span>erro<span class="_ _6"></span>rs</div><div class="t m0 x1 hd y195 ff4 fs7 fc0 sc0 ls0 ws0">Mixing<span class="_ _12"> </span><span class="ff6 fc3">new<span class="_ _e"> </span></span>,<span class="_ _13"> </span><span class="ff6 fc3">new[]<span class="_ _1e"> </span></span>,<span class="_ _13"> </span><span class="ff6">malloc<span class="_ _12"> </span></span>with<span class="_ _11"> </span>something<span class="_ _11"> </span>different<span class="_ _11"> </span>from<span class="_ _11"> </span>their<span class="_ _11"> </span>counterparts<span class="_ _a"> </span>leads</div><div class="t m0 x1 hd y196 ff4 fs7 fc0 sc0 ls0 ws0">to<span class="_ _11"> </span><span class="ffa">undefined<span class="_ _11"> </span>b<span class="_ _b"></span>ehavio<span class="_ _6"></span>r</span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">39/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf2d" class="pf w0 h0" data-page-no="2d"><div class="pc pc2d w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIjklEQVR42u3YMUpDQRSG0TfyLlaDa5BUriCItZCduQmXY+EisgOrMFVu8+zEtAHxTjhnBcM/zcdtu/3LAgAAZRw/P+6sAABANSIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAIAfLTOtAABAHRHhkgoAQDkiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAG7EOtFbxxg+DADgOr33iV7rkgoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAFxomWkFAADqiAiXVAAAyhGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAADmtU701jGGDwMAuE7vfaLXuqQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSTQAAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAD4Qy0zrQAAQB0R4ZIKAEA5IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAoYT29PVoB+O3r9d0IAPyjp+dDaw/32+m8LNu2GQQAgBK+Ad0rIAAyqDarAAAAAElFTkSuQmCC"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">2D<span class="_ _8"> </span>Memory<span class="_ _8"> </span>Allo<span class="_ _b"></span>cation<span class="_ _3a"> </span>1/2</div><div class="t m0 x1 hd y197 ff4 fs7 fc0 sc0 ls0 ws0">Easy<span class="_ _11"> </span>on<span class="_ _11"> </span>the<span class="_ _11"> </span>stack<span class="_ _11"> </span>-<span class="_ _11"> </span>dimensions<span class="_ _11"> </span>kno<span class="_ _6"></span>wn<span class="_ _11"> </span>at<span class="_ _11"> </span>compile-time:</div><div class="t m0 x1 he y198 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">A[<span class="fc5">3</span>][<span class="fc5">4</span>];<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>C/C++<span class="_ _d"> </span>uses<span class="_ _8"> </span>row-major<span class="_ _d"> </span>order:<span class="_ _f"> </span>move<span class="_ _f"> </span>on<span class="_ _f"> </span>row<span class="_ _f"> </span>elements,<span class="_ _d"> </span>then<span class="_ _f"> </span>columns</span></span></div><div class="t m0 x1 h10 y199 ff13 fs8 fc0 sc0 ls0 ws0">Dynamic<span class="_ _e"> </span>Memo<span class="_ _6"></span>ry<span class="_ _e"> </span>2D<span class="_ _e"> </span>allo<span class="_ _b"></span>cation/deallocation<span class="_ _e"> </span>-<span class="_ _e"> </span>dimensions<span class="_ _e"> </span>known<span class="_ _1e"> </span>at<span class="_ _e"> </span>run-time:</div><div class="t m0 x1 he y19a ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">**<span class="_ _f"> </span><span class="fc0">A<span class="_ _f"> </span></span>=<span class="_ _d"> </span></span><span class="fc7">new<span class="_"> </span></span>int<span class="ffc fc5">*<span class="fc0">[</span>3<span class="fc0">];<span class="_ _3b"> </span><span class="ffd fc6">//<span class="_ _f"> </span>array<span class="_ _f"> </span>of<span class="_ _d"> </span>pointers<span class="_ _8"> </span>allocation</span></span></span></div><div class="t m0 x1 he y19b ff5 fs8 fc7 sc0 ls0 ws0">for<span class="_"> </span><span class="ffc fc0">(</span><span class="fc4">int<span class="_"> </span><span class="ffc fc0">i<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>0</span>;<span class="_ _d"> </span>i<span class="_ _8"> </span><span class="fc5">&lt;<span class="_ _d"> </span>3</span>;<span class="_ _f"> </span>i<span class="fc5">++</span>)</span></span></div><div class="t m0 x22 he y19c ffc fs8 fc0 sc0 ls0 ws0">A[i]<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span><span class="ff5 fc7">new<span class="_"> </span><span class="fc4">int</span></span></span>[<span class="fc5">4</span>];<span class="_ _15"> </span><span class="ffd fc6">//<span class="_ _f"> </span>inner<span class="_ _f"> </span>array<span class="_ _f"> </span>allocations</span></div><div class="t m0 x1 he y19d ff5 fs8 fc7 sc0 ls0 ws0">for<span class="_"> </span><span class="ffc fc0">(</span><span class="fc4">int<span class="_"> </span><span class="ffc fc0">i<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>0</span>;<span class="_ _d"> </span>i<span class="_ _8"> </span><span class="fc5">&lt;<span class="_ _d"> </span>3</span>;<span class="_ _f"> </span>i<span class="fc5">++</span>)</span></span></div><div class="t m0 x22 he y19e ff5 fs8 fc7 sc0 ls0 ws0">delete<span class="ffc fc0">[]<span class="_ _f"> </span>A[i];<span class="_ _3c"> </span><span class="ffd fc6">//<span class="_ _f"> </span>inner<span class="_ _f"> </span>array<span class="_ _d"> </span>deallocations</span></span></div><div class="t m0 x1 he y19f ff5 fs8 fc7 sc0 ls0 ws0">delete<span class="ffc fc0">[]<span class="_ _f"> </span>A;<span class="_ _3d"> </span><span class="ffd fc6">//<span class="_ _f"> </span>array<span class="_ _f"> </span>of<span class="_ _d"> </span>pointers<span class="_ _8"> </span>deallocation</span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">40/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf2e" class="pf w0 h0" data-page-no="2e"><div class="pc pc2e w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">2D<span class="_ _8"> </span>Memory<span class="_ _8"> </span>Allo<span class="_ _b"></span>cation</div><div class="t m0 x3d h12 ya6 ff9 fs5 fc1 sc0 ls0 ws0">⋆</div><div class="t m0 x21 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">2/2</div><div class="t m0 x1 hd y1a0 ff4 fs7 fc0 sc0 ls0 ws0">Dynamic<span class="_ _11"> </span>memo<span class="_ _6"></span>ry<span class="_ _11"> </span>2D<span class="_ _11"> </span>allo<span class="_ _b"></span>cation/deallo<span class="_ _b"></span>cation<span class="_ _11"> </span><span class="fca">C++11</span>:</div><div class="t m0 x1 he y1a1 ff5 fs8 fc7 sc0 ls0 ws0">auto<span class="_"> </span><span class="ffc fc0">A<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span></span>new<span class="_"> </span><span class="fc4">int<span class="ffc fc0">[<span class="fc5">3</span>][<span class="fc5">4</span>];<span class="_ _23"> </span><span class="ffd fc6">//<span class="_ _f"> </span>allocate<span class="_ _f"> </span>3<span class="_ _f"> </span>objects<span class="_ _d"> </span>of<span class="_ _f"> </span>type<span class="_ _f"> </span>int[4]</span></span></span></div><div class="t m0 x1 he y1a2 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_ _14"> </span><span class="ffc fc0">n<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>3</span>;<span class="_ _3e"> </span><span class="ffd fc6">//<span class="_ _f"> </span>dynamic<span class="_ _f"> </span>value</span></span></div><div class="t m0 x1 he y1a3 ff5 fs8 fc7 sc0 ls0 ws0">auto<span class="_"> </span><span class="ffc fc0">B<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span></span>new<span class="_"> </span><span class="fc4">int<span class="ffc fc0">[n][<span class="fc5">4</span>];<span class="_ _23"> </span><span class="ffd fc6">//<span class="_ _f"> </span>ok</span></span></span></div><div class="t m0 x1 hf y1a4 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>auto<span class="_ _f"> </span>C<span class="_ _d"> </span>=<span class="_ _8"> </span>new<span class="_ _d"> </span>int[n][n];<span class="_ _f"> </span>//<span class="_ _f"> </span><span class="ffe">compile<span class="_ _e"> </span>error</span></div><div class="t m0 x1 he y1a5 ff5 fs8 fc7 sc0 ls0 ws0">delete<span class="ffc fc0">[]<span class="_ _f"> </span>A;<span class="_ _3e"> </span><span class="ffd fc6">//<span class="_ _f"> </span>same<span class="_ _f"> </span>for<span class="_ _f"> </span>B,<span class="_ _d"> </span>C</span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">41/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf2f" class="pf w0 h0" data-page-no="2f"><div class="pc pc2f w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIn0lEQVR42u3YsU0EMRCG0TXaEZFFDYiIChAiRqIzmqCcCyiCDohOjphkyS4juUUw1r1XgfU7+TTt7uFpAQCAMj7eD1dWAACgGpEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAMBJy0wrAABQR0S4pAIAUI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQCAyawmgIsyxjBCTb13IwCcuKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAB/qmWmFQAAqCMiXFIBAChHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAD42TrRW8cYPgwA4Dy994le65IKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAMBuLTOtAABAHRHhkgoAQDkiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAIpZJ3rrGMOHAQCcp/c+0WtdUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAA2K1lphUAAKgjIlxSAQAoR6QCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAOC/rMfXWysAO30+vxkBgN9y//jS2s31dvxalm3bDAIAQAnfKlMl/qT7P0sAAAAASUVORK5CYII="/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Non-Allo<span class="_ _b"></span>cating<span class="_ _8"> </span>Placement</div><div class="t m0 xa h12 ya6 ff9 fs5 fc1 sc0 ls0 ws0">⋆</div><div class="t m0 x21 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">2/2</div><div class="t m0 x1 hd y1a6 ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _11"> </span><span class="ff1">non-allo<span class="_ _b"></span>cating<span class="_ _7"> </span>placement<span class="_ _3f"> </span><span class="ff6">(ptr)<span class="_ _20"> </span>type<span class="_ _12"> </span></span></span>allows<span class="_ _a"> </span>to<span class="_ _11"> </span>explicitly<span class="_ _11"> </span>sp<span class="_ _b"></span>ecify<span class="_ _11"> </span>the<span class="_ _11"> </span>memory</div><div class="t m0 x1 hd y1a7 ff4 fs7 fc0 sc0 ls0 ws0">lo<span class="_ _b"></span>cation<span class="_ _11"> </span>(p<span class="_ _6"></span>reviously<span class="_ _11"> </span>allo<span class="_ _b"></span>cated)<span class="_ _11"> </span>of<span class="_ _11"> </span>individual<span class="_ _11"> </span>objects</div><div class="t m0 x1 he y1a8 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>STACK<span class="_ _f"> </span>MEMORY</div><div class="t m0 x1 he y1a9 ff5 fs8 fc4 sc0 ls0 ws0">char<span class="_ _17"> </span><span class="ffc fc0">buffer[<span class="fc5">8</span>];</span></div><div class="t m0 x1 he y1aa ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _17"> </span><span class="fc0">x<span class="_ _f"> </span></span>=<span class="_ _f"> </span></span><span class="fc7">new<span class="_"> </span><span class="ffc fc0">(buffer)<span class="_ _d"> </span></span></span>int<span class="ffc fc0">;</span></div><div class="t m0 x1 he y1ab ff5 fs8 fc4 sc0 ls0 ws0">short<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">y<span class="_ _f"> </span></span>=<span class="_ _d"> </span></span><span class="fc7">new<span class="_"> </span><span class="ffc fc0">(x<span class="_ _8"> </span><span class="fc5">+<span class="_ _d"> </span>1</span>)<span class="_ _1"> </span></span></span>short<span class="ffc fc0">[<span class="fc5">2</span>];</span></div><div class="t m0 x1 he y1ac ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>no<span class="_ _f"> </span>need<span class="_ _d"> </span>to<span class="_ _8"> </span>deallocate<span class="_ _d"> </span>x,<span class="_ _f"> </span>y</div><div class="t m0 x1 he y1ad ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>HEAP<span class="_ _f"> </span>MEMORY</div><div class="t m0 x1 he y1ae ff5 fs8 fc4 sc0 ls0 ws0">unsigned<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">buffer2<span class="_ _f"> </span></span>=<span class="_ _d"> </span></span><span class="fc7">new<span class="_"> </span></span>unsigned<span class="ffc fc0">[<span class="fc5">2</span>];</span></div><div class="t m0 x1 he y1af ff5 fs8 fc4 sc0 ls0 ws0">double<span class="ffc fc5">*<span class="_ _17"> </span><span class="fc0">z<span class="_ _3b"> </span></span>=<span class="_ _d"> </span></span><span class="fc7">new<span class="_"> </span><span class="ffc fc0">(buffer2)<span class="_ _f"> </span></span></span>double<span class="ffc fc0">;</span></div><div class="t m0 x1 he y1b0 ff5 fs8 fc7 sc0 ls0 ws0">delete<span class="ffc fc0">[]<span class="_ _f"> </span>buffer2;<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _d"> </span>ok</span></span></div><div class="t m0 x1 he y1b1 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>delete[]<span class="_ _f"> </span>z;<span class="_ _23"> </span>//<span class="_ _f"> </span>ok,<span class="_ _f"> </span>but<span class="_ _f"> </span>bad<span class="_ _d"> </span>practice</div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">42/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf30" class="pf w0 h0" data-page-no="30"><div class="pc pc30 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Non-Allo<span class="_ _b"></span>cating<span class="_ _8"> </span>Placement<span class="_ _f"> </span>and<span class="_ _8"> </span>Objects</div><div class="t m0 x3e h12 ya6 ff9 fs5 fc1 sc0 ls0 ws0">⋆</div><div class="t m0 x3f h7 y7 ff9 fs3 fc1 sc0 ls0 ws0">⇝<span class="_ _40"> </span><span class="ff1">2/2</span></div><div class="t m0 x1 hd y1b2 ff4 fs7 fc0 sc0 ls0 ws0">Placement<span class="_ _11"> </span>allo<span class="_ _b"></span>cation<span class="_ _11"> </span>of<span class="_ _11"> </span><span class="ffa">non-trivial<span class="_ _11"> </span>objects<span class="_ _f"> </span></span>requires<span class="_ _a"> </span>to<span class="_ _11"> </span>explicitly<span class="_ _11"> </span>call<span class="_ _11"> </span>the<span class="_ _11"> </span>object</div><div class="t m0 x1 hd y1b3 ff4 fs7 fc0 sc0 ls0 ws0">destructo<span class="_ _6"></span>r<span class="_ _11"> </span>as<span class="_ _11"> </span>the<span class="_ _11"> </span>runtime<span class="_ _11"> </span>is<span class="_ _11"> </span>not<span class="_ _11"> </span>able<span class="_ _11"> </span>to<span class="_ _11"> </span>detect<span class="_ _11"> </span>when<span class="_ _11"> </span>the<span class="_ _11"> </span>object<span class="_ _11"> </span>is<span class="_ _11"> </span>out-of-scop<span class="_ _b"></span>e</div><div class="t m0 x1 he y1b4 ff5 fs8 fc7 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc3">A<span class="_"> </span><span class="ffc fc0">{</span></span></div><div class="t m0 x22 he y1b5 ff14 fs8 fc0 sc0 ls0 ws0"><span class="ffc">A()<span class="_ _f"> </span>{<span class="_ _f"> </span>cout<span class="_ _d"> </span><span class="fc5">&lt;&lt;<span class="_ _8"> </span><span class="fcd">&quot;destructor&quot;</span></span>;<span class="_ _d"> </span>}</span></div><div class="t m0 x1 he y1b6 ffc fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 he y1b7 ff5 fs8 fc4 sc0 ls0 ws0">char<span class="_"> </span><span class="ffc fc0">buffer[<span class="fc5">10</span>];</span></div><div class="t m0 x1 he y1b8 ff5 fs8 fc7 sc0 ls0 ws0">auto<span class="_"> </span><span class="ffc fc0">x<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span></span>new<span class="_"> </span><span class="ffc fc0">(buffer)<span class="_ _d"> </span>A();</span></div><div class="t m0 x1 he y1b9 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>delete<span class="_ _f"> </span>x;<span class="_ _d"> </span>//<span class="_ _8"> </span>runtime<span class="_ _d"> </span>error<span class="_ _f"> </span><span class="fff">&apos;</span>x<span class="fff">&apos;<span class="_ _f"> </span></span>is<span class="_ _f"> </span>not<span class="_ _f"> </span>a<span class="_ _d"> </span>valid<span class="_ _f"> </span>heap<span class="_ _f"> </span>memory<span class="_ _f"> </span>pointer</div><div class="t m0 x1 he y1ba ffc fs8 fc0 sc0 ls0 ws0">x<span class="fc5">-&gt;</span><span class="ff14"></span>A();<span class="_ _23"> </span><span class="ffd fc6">//<span class="_ _8"> </span>print<span class="_ _d"> </span>&quot;destructor&quot;</span></div><div class="t m0 x1 hd y1bb ff4 fs7 fca sc0 ls0 ws0">C++23<span class="_ _11"> </span><span class="fc0">intro<span class="_ _b"></span>duces<span class="_ _11"> </span>a<span class="_ _11"> </span>t<span class="_ _6"></span>yp<span class="_ _b"></span>e<span class="_ _11"> </span>safe<span class="_ _11"> </span>placement<span class="_ _11"> </span>allo<span class="_ _b"></span>cation<span class="_ _11"> </span>function</span></div><div class="t m0 x1 h11 y1bc ff6 fs7 fc0 sc0 ls0 ws0">std::start_lifetime_as()<span class="_ _1e"> </span><span class="ff17 fs9"></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">43/104</div><a class="l" href="https://en.cppreference.com/w/cpp/memory/start_lifetime_as"><div class="d m1" style="border-style:none;position:absolute;left:27.350000px;bottom:32.563000px;width:148.455000px;height:11.390000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf31" class="pf w0 h0" data-page-no="31"><div class="pc pc31 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Non-Thro<span class="_ _c"></span>wing<span class="_ _f"> </span>Allo<span class="_ _b"></span>cation</div><div class="t m0 x40 h12 ya6 ff9 fs5 fc1 sc0 ls0 ws0">⋆</div><div class="t m0 x1 hd y6d ff4 fs7 fc0 sc0 ls0 ws0">The<span class="_ _11"> </span><span class="ff6 fc3">new<span class="_ _11"> </span></span>op<span class="_ _b"></span>erato<span class="_ _6"></span>r<span class="_ _11"> </span>allo<span class="_ _6"></span>ws<span class="_ _11"> </span>a<span class="_ _11"> </span>non-throwing<span class="_ _a"> </span>allo<span class="_ _b"></span>cation<span class="_ _11"> </span>by<span class="_ _a"> </span>passing<span class="_ _11"> </span>the<span class="_ _13"> </span><span class="ff6">std::nothrow</span></div><div class="t m0 x1 hd y6e ff4 fs7 fc0 sc0 ls0 ws0">object.<span class="_ _f"> </span>It<span class="_ _11"> </span>returns<span class="_ _11"> </span>a<span class="_ _13"> </span><span class="ff6">NULL<span class="_ _13"> </span></span>pointer<span class="_ _11"> </span>instead<span class="_ _11"> </span>of<span class="_ _11"> </span>throwing<span class="_ _12"> </span><span class="ff6">std::bad_alloc<span class="_ _13"> </span></span>exception<span class="_ _a"> </span>if</div><div class="t m0 x1 hd ybc ff4 fs7 fc0 sc0 ls0 ws0">the<span class="_ _11"> </span>memo<span class="_ _6"></span>ry<span class="_ _11"> </span>allo<span class="_ _b"></span>cation<span class="_ _11"> </span>fails</div><div class="t m0 x1 he y1bd ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">array<span class="_ _f"> </span></span>=<span class="_ _d"> </span></span><span class="fc7">new<span class="_"> </span><span class="ffc fc0">(std<span class="fc5">::</span>nothrow)<span class="_ _8"> </span></span></span>int<span class="ffc fc0">[very_large_size];</span></div><div class="t m0 x1 h10 y1be ffe fs8 fc0 sc0 ls0 ws0">note<span class="_ _b"></span><span class="ff13">:<span class="_ _8"> </span><span class="ffc fc3">new<span class="_ _e"> </span></span>can<span class="_ _e"> </span>return<span class="_ _e"> </span>a<span class="_ _e"> </span>non-<span class="_ _1e"> </span><span class="ffc">NULL<span class="_ _12"> </span></span>pointer<span class="_ _e"> </span>even<span class="_ _e"> </span>if<span class="_ _e"> </span>the<span class="_ _e"> </span>allo<span class="_ _b"></span>cated<span class="_ _1e"> </span>size<span class="_ _e"> </span>is<span class="_ _e"> </span>0</span></div><div class="t m0 xe hd y1bf ff6 fs7 fc0 sc0 ls0 ws0">std::nothrow<span class="_ _12"> </span><span class="ff4">do<span class="_ _0"></span>esnt<span class="_ _a"> </span>mean<span class="_ _11"> </span>that<span class="_ _11"> </span>the<span class="_ _11"> </span>allo<span class="_ _b"></span>cated<span class="_ _11"> </span>object(s)<span class="_ _11"> </span>cannot<span class="_ _11"> </span>throw<span class="_ _a"> </span>an<span class="_ _11"> </span>exception</span></div><div class="t m0 x1 hd y1c0 ff4 fs7 fc0 sc0 ls0 ws0">itself</div><div class="t m0 x1 he y1c1 ff5 fs8 fc7 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc3">A<span class="_"> </span><span class="ffc fc0">{</span></span></div><div class="t m0 x22 he y1c2 ffc fs8 fc0 sc0 ls0 ws0">A()<span class="_ _f"> </span>{<span class="_ _f"> </span><span class="ff5 fc7">throw<span class="_"> </span></span>std<span class="fc5">::</span>runtime_error{};<span class="_ _d"> </span>}</div><div class="t m0 x1 he y1c3 ffc fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 he y1c4 ffc fs8 fc0 sc0 ls0 ws0">A<span class="fc5">*<span class="_ _f"> </span></span>array<span class="_ _f"> </span><span class="fc5">=<span class="_ _d"> </span><span class="ff5 fc7">new<span class="_"> </span></span></span>(std<span class="fc5">::</span>nothrow)<span class="_ _8"> </span>A;<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _f"> </span>throw<span class="_ _f"> </span>std::runtime_error</span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">44/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf32" class="pf w0 h0" data-page-no="32"><div class="pc pc32 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIyklEQVR42u3csUkFQRCA4bdyg9FiDWL0KhAVAwPBxMCqbMIqDEwNNBAbMLEDo8dGLj7OzAJOhVn9vgqGmeRnD64cHJ6sAAAgjdenxx1bAAAgG5EKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAMCX0nu3BQAA8ogIL6kAAKQjUgEAEKkAACBSAQAYzjTQrOvTMwcDAFjm5eF+oGm9pAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQCAv6303keZtbXmYAAAy9RaRxk1IrykAgCQjkgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgCQ1zT09B/b7fHllSvm8Xx3awkAwPeV3vsos7bWHAwAYJla6yijRoTP/QAApCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAAPDbRvpPKgAA/4H/pAIAkJFIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApFoBAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAAD8rGmgWVtrDgYAsEytdaBpvaQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAAlii9d1sAACCPiPCSCgBAOiIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAADkNG2u920BSOXt/MYSAP6z9dFFKXu78+Z9tZrn2UIAAEjhE1v2MfrlvZsmAAAAAElFTkSuQmCC"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Memo<span class="_ _c"></span>ry<span class="_ _f"> </span>Leak</div><div class="t m0 xe hd y1c5 ff1 fs7 fc1 sc0 ls0 ws0">Memo<span class="_ _6"></span>ry<span class="_ _7"> </span>Leak</div><div class="t m0 xe hd y1c6 ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _11"> </span><span class="ff1">memo<span class="_ _6"></span>ry<span class="_ _7"> </span>leak<span class="_ _11"> </span><span class="ff4">is<span class="_ _11"> </span>a<span class="_ _11"> </span>dynamically<span class="_ _11"> </span>allo<span class="_ _b"></span>cated<span class="_ _11"> </span>entity<span class="_ _a"> </span>in<span class="_ _11"> </span>the<span class="_ _11"> </span>heap<span class="_ _11"> </span>memory<span class="_ _a"> </span>that<span class="_ _11"> </span>is</span></span></div><div class="t m0 xe hd y1c7 ff4 fs7 fc0 sc0 ls0 ws0">no<span class="_ _11"> </span>longer<span class="_ _11"> </span>used<span class="_ _11"> </span>b<span class="_ _6"></span>y<span class="_ _11"> </span>the<span class="_ _11"> </span>p<span class="_ _6"></span>rogram,<span class="_ _11"> </span>but<span class="_ _11"> </span>still<span class="_ _11"> </span>maintained<span class="_ _11"> </span>overall<span class="_ _11"> </span>its<span class="_ _11"> </span>execution</div><div class="t m0 x1 hd y1c8 ff4 fs7 fc0 sc0 ls0 ws0">Problems:</div><div class="t m0 x11 hd y1c9 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">Illegal<span class="_ _11"> </span>memo<span class="_ _6"></span>ry<span class="_ _11"> </span>accesses<span class="_ _11"> </span><span class="ff12">→<span class="_ _11"> </span><span class="ff13 fs8">segmentation<span class="_ _e"> </span>fault/wrong<span class="_ _e"> </span>results</span></span></span></div><div class="t m0 x11 hd y1ca ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">Undefined<span class="_ _11"> </span>values<span class="_ _11"> </span>and<span class="_ _11"> </span>their<span class="_ _11"> </span>p<span class="_ _6"></span>ropagation<span class="ff12">→<span class="_ _11"> </span><span class="ff13 fs8">segmentation<span class="_ _e"> </span>fault/wrong<span class="_ _e"> </span>results</span></span></span></div><div class="t m0 x11 hd y1cb ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">A<span class="_ _6"></span>dditional<span class="_ _11"> </span>memory<span class="_ _a"> </span>consumption<span class="_ _11"> </span>(p<span class="_ _b"></span>otential<span class="_ _11"> </span>segmentation<span class="_ _11"> </span>fault)</span></div><div class="t m0 x1 he y1cc ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc3">main<span class="fc0">()<span class="_ _f"> </span>{</span></span></div><div class="t m0 x22 he y1cd ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">array<span class="_ _f"> </span></span>=<span class="_ _d"> </span></span><span class="fc7">new<span class="_"> </span></span>int<span class="ffc fc0">[<span class="fc5">10</span>];</span></div><div class="t m0 x22 he y1ce ffc fs8 fc0 sc0 ls0 ws0">array<span class="_ _19"> </span><span class="fc5">=<span class="_ _f"> </span><span class="ff5 fc7">nullptr</span></span>;<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _d"> </span><span class="fc8">memory<span class="_ _8"> </span>leak!!</span></span></div><div class="t m0 x1 he y1cf ffc fs8 fc0 sc0 ls0 ws0">}<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>the<span class="_ _d"> </span>memory<span class="_ _8"> </span>can<span class="_ _d"> </span>no<span class="_ _f"> </span>longer<span class="_ _f"> </span>be<span class="_ _f"> </span>deallocated!!</span></div><div class="t m0 x1 h6 y1d0 ff4 fs4 fc0 sc0 ls0 ws0">Note:<span class="_ _8"> </span>the<span class="_ _a"> </span>memory<span class="_ _e"> </span>leaks<span class="_ _a"> </span>are<span class="_ _e"> </span>esp<span class="_ _b"></span>ecially<span class="_ _e"> </span>difficult<span class="_ _a"> </span>to<span class="_ _a"> </span>detect<span class="_ _a"> </span>in<span class="_ _a"> </span>complex<span class="_ _a"> </span>co<span class="_ _b"></span>de<span class="_ _e"> </span>and<span class="_ _a"> </span>when<span class="_ _a"> </span>objects<span class="_ _a"> </span>are</div><div class="t m0 x1 h6 y1d1 ff4 fs4 fc0 sc0 ls0 ws0">widely<span class="_ _e"> </span>used</div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">45/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf33" class="pf w0 h0" data-page-no="33"><div class="pc pc33 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Dynamic<span class="_ _8"> </span>Memory<span class="_ _8"> </span>Allo<span class="_ _b"></span>cation<span class="_ _8"> </span>and<span class="_ _f"> </span>OS</div><div class="t m0 x1 hd y1d2 ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _11"> </span>p<span class="_ _6"></span>rogram<span class="_ _11"> </span>do<span class="_ _b"></span>es<span class="_ _11"> </span>not<span class="_ _11"> </span>directly<span class="_ _11"> </span>allo<span class="_ _b"></span>cate<span class="_ _11"> </span>memory<span class="_ _a"> </span>itself<span class="_ _11"> </span>but,<span class="_ _11"> </span>it<span class="_ _11"> </span>asks<span class="_ _11"> </span>for<span class="_ _a"> </span>a<span class="_ _11"> </span>chuck<span class="_ _11"> </span>of<span class="_ _11"> </span>memory</div><div class="t m0 x1 hd y1d3 ff4 fs7 fc0 sc0 ls0 ws0">from<span class="_ _a"> </span>the<span class="_ _a"> </span>OS.<span class="_ _11"> </span>The<span class="_ _a"> </span>OS<span class="_ _11"> </span>provides<span class="_ _e"> </span>the<span class="_ _11"> </span>memo<span class="_ _6"></span>ry<span class="_ _a"> </span>at<span class="_ _11"> </span>the<span class="_ _a"> </span>granularit<span class="_ _c"></span>y<span class="_ _11"> </span>of<span class="_ _a"> </span><span class="ffa">memory<span class="_ _e"> </span>pages<span class="_ _f"> </span></span>(virtual</div><div class="t m0 x1 hd y1d4 ff4 fs7 fc0 sc0 ls0 ws0">memo<span class="_ _6"></span>ry),<span class="_ _11"> </span>e.g.<span class="_ _d"> </span>4KB<span class="_ _a"> </span>on<span class="_ _11"> </span>Linux</div><div class="t m0 x1 hd y1d5 ffa fs7 fc0 sc0 ls0 ws0">Implication<span class="ff4">:<span class="_ _d"> </span>out-of-bound<span class="_ _11"> </span>accesses<span class="_ _11"> </span>do<span class="_ _11"> </span>not<span class="_ _11"> </span>alwa<span class="_ _c"></span>ys<span class="_ _11"> </span>lead<span class="_ _7"> </span>to<span class="_ _11"> </span>segmentation<span class="_ _11"> </span>fault<span class="_ _11"> </span>(lucky</span></div><div class="t m0 x1 hd y1d6 ff4 fs7 fc0 sc0 ls0 ws0">case).<span class="_ _f"> </span>The<span class="_ _11"> </span>wo<span class="_ _c"></span>rst<span class="_ _11"> </span>case<span class="_ _11"> </span>is<span class="_ _11"> </span>an<span class="_ _11"> </span>execution<span class="_ _11"> </span>with<span class="_ _11"> </span>undefined<span class="_ _11"> </span>b<span class="_ _0"></span>ehavio<span class="_ _c"></span>r</div><div class="t m0 x1 he y1d7 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">x<span class="_ _18"> </span></span>=<span class="_ _f"> </span></span><span class="fc7">new<span class="_"> </span></span>int<span class="ffc fc0">;</span></div><div class="t m0 x1 he y1d8 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_ _14"> </span><span class="ffc fc0">num_iters<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>4096<span class="_ _d"> </span>/<span class="_ _8"> </span></span></span><span class="fc7">sizeof<span class="ffc fc0">(</span></span>int<span class="ffc fc0">);<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _f"> </span>4<span class="_ _f"> </span>KB</span></span></div><div class="t m0 x1 he y1d9 ff5 fs8 fc7 sc0 ls0 ws0">for<span class="_"> </span><span class="ffc fc0">(</span><span class="fc4">int<span class="_"> </span><span class="ffc fc0">i<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>0</span>;<span class="_ _d"> </span>i<span class="_ _8"> </span><span class="fc5">&lt;<span class="_ _d"> </span></span>num_iters;<span class="_ _f"> </span>i<span class="fc5">++</span>)</span></span></div><div class="t m0 x22 he y1da ffc fs8 fc0 sc0 ls0 ws0">x[i]<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>1</span>;<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _8"> </span><span class="fc8">potential<span class="_ _d"> </span>segmentation<span class="_ _f"> </span>fault</span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">46/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf34" class="pf w0 h0" data-page-no="34"><div class="pc pc34 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x10 h2 y41 ff1 fs0 fc0 sc0 ls0 ws0">Initialization</div><a class="l" href="#pf34" data-dest-detail='[52,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:137.252000px;width:141.178000px;height:19.206000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf35" class="pf w0 h0" data-page-no="35"><div class="pc pc35 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">V<span class="_ _c"></span>ariable<span class="_ _8"> </span>Initialization</div><div class="t m0 x1 hd y6d ff4 fs7 fca sc0 ls0 ws0">C++03<span class="fc0">:</span></div><div class="t m0 x1 hf y1db ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">a1;<span class="_ _1d"> </span><span class="ffd fc6">//<span class="_ _d"> </span><span class="ffe">default<span class="_ _f"> </span></span>initialization<span class="_ _f"> </span>(undefined<span class="_ _f"> </span>value)</span></span></div><div class="t m0 x1 hf y1dc ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc3">a2<span class="fc0">(<span class="fc5">2</span>);<span class="_ _3b"> </span><span class="ffd fc6">//<span class="_ _d"> </span><span class="ffe">direct<span class="_ _f"> </span></span>(or<span class="_ _f"> </span><span class="ffe">value</span>)<span class="_ _f"> </span>initialization</span></span></span></div><div class="t m0 x1 hf y1dd ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc3">a3<span class="fc0">(<span class="fc5">0</span>);<span class="_ _3b"> </span><span class="ffd fc6">//<span class="_ _d"> </span><span class="ffe">direct<span class="_ _f"> </span></span>(or<span class="_ _f"> </span><span class="ffe">value</span>)<span class="_ _f"> </span>initialization<span class="_ _f"> </span>(zero-initialization)</span></span></span></div><div class="t m0 x1 he y1de ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>int<span class="_ _f"> </span>a4();<span class="_ _16"> </span>//<span class="_ _d"> </span>a4<span class="_ _8"> </span>is<span class="_ _d"> </span>a<span class="_ _f"> </span>function</div><div class="t m0 x1 hf y1df ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">a5<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>2</span>;<span class="_ _19"> </span><span class="ffd fc6">//<span class="_ _d"> </span><span class="ffe">cop<span class="_ _c"></span>y<span class="_ _f"> </span><span class="ffd">initialization</span></span></span></span></div><div class="t m0 x1 hf y1e0 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">a6<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>2u</span>;<span class="_ _16"> </span><span class="ffd fc6">//<span class="_ _d"> </span><span class="ffe">cop<span class="_ _c"></span>y<span class="_ _f"> </span><span class="ffd">initialization<span class="_ _d"> </span>(+<span class="_ _f"> </span>implicit<span class="_ _f"> </span>conversion)</span></span></span></span></div><div class="t m0 x1 hf y1e1 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">a7<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span></span>int<span class="ffc fc0">(<span class="fc5">2</span>);<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _8"> </span><span class="ffe">copy<span class="_ _f"> </span></span>initialization</span></span></div><div class="t m0 x1 hf y1e2 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">a8<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span></span>int<span class="ffc fc0">();<span class="_ _14"> </span><span class="ffd fc6">//<span class="_ _d"> </span><span class="ffe">cop<span class="_ _c"></span>y<span class="_ _f"> </span><span class="ffd">initialization<span class="_ _d"> </span>(zero-initialization)</span></span></span></span></div><div class="t m0 x1 hf y1e3 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">a9<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>{<span class="fc5">2</span>};<span class="_ _23"> </span><span class="ffd fc6">//<span class="_ _f"> </span><span class="ffe">copy<span class="_ _1e"> </span>list<span class="_ _f"> </span></span>initialization,<span class="_ _f"> </span><span class="ffe">brace-initialization</span>/<span class="ffe">b<span class="_ _6"></span>raced-init-list<span class="_ _f"> </span><span class="ffd">syntax</span></span></span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">47/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf36" class="pf w0 h0" data-page-no="36"><div class="pc pc36 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAJbUlEQVR42u3ZMW4TQRiGYS/aEdWIMyAqCqoUCFEhQYTS+ih7CMq9AIfwDVKEghuk4QZU0Uix+BWv6dJRsIqdmd3nuYDH38jSK0/35v3HDQAAVOPXzx8vrAAAQG1EKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAj7qIsAIAAPVIKfknFQCA6ohUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAA8Dx6EwBr9vBwePfpsx0e3d5cG+Ff7vf7i8srO/hFcB5dRFgBAIB6pJQ89wMAUB2RCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAA2ta3ctD7/f7i8sqFPbvbm2sjAACn1kWEFQAAqEdKyXM/AADVEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCwMn1DZy2luDAAgHlyzg2d1j+pAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAsDK9CViqwzRtx3GRX203DCsfuZ4FADiRLiJaOWspxYUBAMyTc27lqCklz/0AAFRHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAA/6U3AUt1mKbtOC7yq+2GYeUj17MAACfSRUQrZy2luDAAgHlyzq0cNaXkuR8AgOqIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAADL1ZuApTpM03Ycz/NZu2EwOAA8oS4iWjlrKcWFAQDMk3Nu5agpJc/9AABUR6QCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAIC29SZgqQ7TtB3H83zWbhgMDgBPqIuIVs5aSnFhAADz5JxbOWpKyXM/AADVEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAADq1ZuApTpM03Ycm/4Ku2FwjwCsUxcRrZy1lOLCAADmyTm3ctSUkud+AACqI1IBAKhOS8/9AACsged+AABqJFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAwGn0d99eWwFYtt9fvhsBoCFvP3ztulcvj3d/Npvj8WgQAACq8BcTRnn07QY8ogAAAABJRU5ErkJggg=="/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Unifo<span class="_ _c"></span>rm<span class="_ _f"> </span>Initialization</div><div class="t m0 x1 hd y1e4 ff4 fs7 fca sc0 ls0 ws0">C++11<span class="_ _11"> </span><span class="ff5 fc0">Uniform<span class="_"> </span>Initialization<span class="_ _1e"> </span><span class="ff17 fs9"><span class="_ _11"> </span></span><span class="ff4">syntax<span class="_ _11"> </span>allows<span class="_ _a"> </span>to<span class="_ _11"> </span>initialize<span class="_ _11"> </span>different<span class="_ _11"> </span>entities</span></span></div><div class="t m0 x1 hd y1e5 ff4 fs7 fc0 sc0 ls0 ws0">(va<span class="_ _6"></span>riables,<span class="_ _11"> </span>objects,<span class="_ _11"> </span>structures,<span class="_ _11"> </span>etc.)<span class="_ _d"> </span>in<span class="_ _a"> </span>a<span class="_ _11"> </span>consistent<span class="_ _11"> </span>wa<span class="_ _c"></span>y<span class="_ _11"> </span>with<span class="_ _11"> </span>brace-initialization<span class="_ _a"> </span>o<span class="_ _6"></span>r</div><div class="t m0 x1 hd y1e6 ff4 fs7 fc0 sc0 ls0 ws0">b<span class="_ _6"></span>raced-init-list<span class="_ _11"> </span>syntax:</div><div class="t m0 x1 hf y1e7 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">b1{<span class="fc5">2</span>};<span class="_ _3b"> </span><span class="ffd fc6">//<span class="_ _d"> </span><span class="ffe">direct<span class="_ _1e"> </span>list<span class="_ _f"> </span></span>(or<span class="_ _d"> </span><span class="ffe">value</span>)<span class="_ _8"> </span>initialization</span></span></div><div class="t m0 x1 hf y1e8 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">b2{};<span class="_ _2a"> </span><span class="ffd fc6">//<span class="_ _d"> </span><span class="ffe">direct<span class="_ _1e"> </span>list<span class="_ _f"> </span></span>(or<span class="_ _d"> </span><span class="ffe">value</span>)<span class="_ _8"> </span>initialization<span class="_ _d"> </span>(default<span class="_ _f"> </span>constructor/</span></span></div><div class="t m0 x24 he y1e9 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _41"> </span>zero-initialization)</div><div class="t m0 x1 hf y1ea ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">b3<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span></span>int<span class="ffc fc0">{};<span class="_ _14"> </span><span class="ffd fc6">//<span class="_ _d"> </span><span class="ffe">cop<span class="_ _c"></span>y<span class="_ _f"> </span><span class="ffd">initialization<span class="_ _d"> </span>(default<span class="_ _f"> </span>constr./zero-initialization)</span></span></span></span></div><div class="t m0 x1 hf y1eb ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">b4<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span></span>int<span class="ffc fc0">{<span class="fc5">4</span>};<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _8"> </span><span class="ffe">copy<span class="_ _f"> </span></span>initialization</span></span></div><div class="t m0 x1 hf y1ec ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">b5<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>{};<span class="_ _16"> </span><span class="ffd fc6">//<span class="_ _d"> </span><span class="ffe">cop<span class="_ _c"></span>y<span class="_ _e"> </span>list<span class="_ _f"> </span><span class="ffd">initialization<span class="_ _d"> </span>(default<span class="_ _f"> </span>constr./zero-initialization)</span></span></span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">48/104</div><a class="l" href="https://en.cppreference.com/w/cpp/language/list_initialization"><div class="d m1" style="border-style:none;position:absolute;left:65.836000px;bottom:194.238000px;width:137.000000px;height:11.690000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf37" class="pf w0 h0" data-page-no="37"><div class="pc pc37 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Brace<span class="_ _8"> </span>Initialization<span class="_ _f"> </span>A<span class="_ _c"></span>dvantages</div><div class="t m0 x1 hd y1ed ff4 fs7 fc0 sc0 ls0 ws0">The<span class="_ _11"> </span><span class="ff1">unifo<span class="_ _6"></span>rm<span class="_ _7"> </span>initialization<span class="_ _11"> </span><span class="ff4">can<span class="_ _11"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span>also<span class="_ _11"> </span>used<span class="_ _11"> </span>to<span class="_ _11"> </span><span class="ffa">safely<span class="_ _d"> </span></span>convert<span class="_ _a"> </span>arithmetic<span class="_ _a"> </span>types,</span></span></div><div class="t m0 x1 hd y1ee ff4 fs7 fc0 sc0 ls0 ws0">p<span class="_ _6"></span>reventing<span class="_ _11"> </span>implicit<span class="_ _11"> </span><span class="ffa">na<span class="_ _6"></span>rro<span class="_ _6"></span>wing<span class="ff4">,<span class="_ _11"> </span>i.e<span class="_ _11"> </span>p<span class="_ _b"></span>otential<span class="_ _11"> </span>value<span class="_ _11"> </span>loss.<span class="_ _d"> </span>The<span class="_ _a"> </span>syntax<span class="_ _11"> </span>is<span class="_ _11"> </span>also<span class="_ _11"> </span>more<span class="_ _a"> </span>concise</span></span></div><div class="t m0 x1 hd y1ef ff4 fs7 fc0 sc0 ls0 ws0">than<span class="_ _11"> </span>mo<span class="_ _b"></span>dern<span class="_ _11"> </span>casts</div><div class="t m0 x1 he y1f0 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_ _2a"> </span><span class="ffc fc0">b4<span class="_ _d"> </span><span class="fc5">=<span class="_ _f"> </span>-1</span>;<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>ok</span></span></div><div class="t m0 x1 he y1f1 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_ _2a"> </span><span class="ffc fc0">b5{<span class="fc5">-1</span>};<span class="_ _14"> </span><span class="ffd fc6">//<span class="_ _d"> </span>ok</span></span></div><div class="t m0 x1 he y36 ff5 fs8 fc4 sc0 ls0 ws0">unsigned<span class="_ _17"> </span><span class="ffc fc0">b6<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>-1</span>;<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _8"> </span>ok</span></span></div><div class="t m0 x1 hf y1f2 ffd fs8 fc6 sc0 ls0 ws0">//unsigned<span class="_ _f"> </span>b7{-1};<span class="_ _14"> </span>//<span class="_ _f"> </span><span class="ffe">compile<span class="_ _e"> </span>error</span></div><div class="t m0 x1 he y1f3 ff5 fs8 fc4 sc0 ls0 ws0">float<span class="_ _17"> </span><span class="ffc fc0">f1{<span class="fc5">10e30</span>};<span class="_ _14"> </span><span class="ffd fc6">//<span class="_ _f"> </span>ok</span></span></div><div class="t m0 x1 he y1f4 ff5 fs8 fc4 sc0 ls0 ws0">float<span class="_ _17"> </span><span class="ffc fc0">f2<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>10e40</span>;<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _8"> </span>ok,<span class="_ _d"> </span>&quot;inf&quot;<span class="_ _f"> </span>value</span></span></div><div class="t m0 x1 hf y1f5 ffd fs8 fc6 sc0 ls0 ws0">//float<span class="_ _f"> </span>f3{10e40};<span class="_ _14"> </span>//<span class="_ _f"> </span><span class="ffe">compile<span class="_ _e"> </span>error</span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">49/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf38" class="pf w0 h0" data-page-no="38"><div class="pc pc38 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Arra<span class="_ _c"></span>y<span class="_ _f"> </span>Initialization<span class="_ _42"> </span>1/2</div><div class="t m0 x1 hd y1f6 ff1 fs7 fc0 sc0 ls0 ws0">Arra<span class="_ _6"></span>ys<span class="_ _11"> </span><span class="ff4">a<span class="_ _6"></span>re<span class="_ _11"> </span><span class="ffa">aggregate<span class="_ _8"> </span></span>t<span class="_ _6"></span>yp<span class="_ _b"></span>es<span class="_ _11"> </span>and<span class="_ _11"> </span>can<span class="_ _11"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span>initialized<span class="_ _11"> </span>with<span class="_ _11"> </span>brace-initialization<span class="_ _a"> </span>syntax,<span class="_ _11"> </span>also</span></div><div class="t m0 x1 hd y1f7 ff4 fs7 fc0 sc0 ls0 ws0">called<span class="_ _11"> </span>b<span class="_ _6"></span>raced-init-list<span class="_ _11"> </span>o<span class="_ _6"></span>r<span class="_ _11"> </span>aggregate-initialization</div><div class="t m0 x1 hd y1f8 ff4 fs7 fc0 sc0 ls0 ws0">One<span class="_ _11"> </span>dimension:</div><div class="t m0 x1 he y1f9 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_ _14"> </span><span class="ffc fc0">a[<span class="fc5">3</span>]<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>{<span class="fc5">1</span>,<span class="_ _d"> </span><span class="fc5">2</span>,<span class="_ _8"> </span><span class="fc5">3</span>};<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _f"> </span>explicit<span class="_ _f"> </span>size</span></span></div><div class="t m0 x1 he y1fa ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_ _14"> </span><span class="ffc fc0">b[]<span class="_ _14"> </span><span class="fc5">=<span class="_ _f"> </span></span>{<span class="fc5">1</span>,<span class="_ _f"> </span><span class="fc5">2</span>,<span class="_ _d"> </span><span class="fc5">3</span>};<span class="_ _8"> </span><span class="ffd fc6">//<span class="_ _d"> </span>implicit<span class="_ _f"> </span>size</span></span></div><div class="t m0 x1 he y1fb ff5 fs8 fc4 sc0 ls0 ws0">char<span class="_"> </span><span class="ffc fc0">c[]<span class="_ _14"> </span><span class="fc5">=<span class="_ _f"> </span><span class="fcd">&quot;abcd&quot;</span></span>;<span class="_ _23"> </span><span class="ffd fc6">//<span class="_ _f"> </span>implicit<span class="_ _f"> </span>size</span></span></div><div class="t m0 x1 he y1fc ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_ _14"> </span><span class="ffc fc0">d[<span class="fc5">3</span>]<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>{<span class="fc5">1</span>,<span class="_ _d"> </span><span class="fc5">2</span>};<span class="_ _43"> </span><span class="ffd fc6">//<span class="_ _f"> </span>d[2]<span class="_ _f"> </span>=<span class="_ _d"> </span>0<span class="_ _8"> </span>-&gt;<span class="_ _d"> </span>zero/default<span class="_ _f"> </span>value</span></span></div><div class="t m0 x1 he y1fd ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_ _14"> </span><span class="ffc fc0">e[<span class="fc5">4</span>]<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>{<span class="fc5">0</span>};<span class="_ _15"> </span><span class="ffd fc6">//<span class="_ _f"> </span>all<span class="_ _f"> </span>values<span class="_ _f"> </span>are<span class="_ _d"> </span>initialized<span class="_ _f"> </span>to<span class="_ _f"> </span>0</span></span></div><div class="t m0 x1 he y1fe ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_ _14"> </span><span class="ffc fc0">f[<span class="fc5">3</span>]<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>{};<span class="_ _22"> </span><span class="ffd fc6">//<span class="_ _f"> </span>all<span class="_ _f"> </span>values<span class="_ _d"> </span>are<span class="_ _8"> </span>initialized<span class="_ _d"> </span>to<span class="_ _f"> </span>0<span class="_ _f"> </span><span class="ff15">(<span class="fca">C++11</span>)</span></span></span></div><div class="t m0 x1 he y1ff ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_ _14"> </span><span class="ffc fc0">g[<span class="fc5">3</span>]<span class="_ _f"> </span>{};<span class="_ _44"> </span><span class="ffd fc6">//<span class="_ _f"> </span>all<span class="_ _f"> </span>values<span class="_ _d"> </span>are<span class="_ _8"> </span>initialized<span class="_ _d"> </span>to<span class="_ _f"> </span>0<span class="_ _f"> </span><span class="ff15">(<span class="fca">C++11</span>)</span></span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">50/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf39" class="pf w0 h0" data-page-no="39"><div class="pc pc39 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Arra<span class="_ _c"></span>y<span class="_ _f"> </span>Initialization<span class="_ _42"> </span>2/2</div><div class="t m0 x1 hd y200 ff4 fs7 fc0 sc0 ls0 ws0">T<span class="_ _4"></span>wo<span class="_ _a"> </span>dimensions:</div><div class="t m0 x1 he y201 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">a[][<span class="fc5">2</span>]<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>{<span class="_ _d"> </span>{<span class="fc5">1</span>,<span class="fc5">2</span>},<span class="_ _8"> </span>{<span class="fc5">3</span>,<span class="fc5">4</span>},<span class="_ _d"> </span>{<span class="fc5">5</span>,<span class="fc5">6</span>}<span class="_ _f"> </span>};<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>ok</span></span></div><div class="t m0 x1 he y202 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">b[][<span class="fc5">2</span>]<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>{<span class="_ _d"> </span><span class="fc5">1</span>,<span class="_ _8"> </span><span class="fc5">2</span>,<span class="_ _d"> </span><span class="fc5">3</span>,<span class="_ _f"> </span><span class="fc5">4<span class="_ _f"> </span></span>};<span class="_ _1d"> </span><span class="ffd fc6">//<span class="_ _d"> </span>ok</span></span></div><div class="t m0 x1 he y203 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>the<span class="_ _f"> </span>type<span class="_ _d"> </span>of<span class="_ _8"> </span>&quot;a&quot;<span class="_ _d"> </span>and<span class="_ _f"> </span>&quot;b&quot;<span class="_ _f"> </span>is<span class="_ _f"> </span>an<span class="_ _f"> </span>array<span class="_ _d"> </span>of<span class="_ _f"> </span>type<span class="_ _f"> </span>int[]</div><div class="t m0 x1 hf y204 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>int<span class="_ _f"> </span>c[][]<span class="_ _14"> </span>=<span class="_ _d"> </span>...;<span class="_ _39"> </span>//<span class="_ _f"> </span><span class="ffe">compile<span class="_ _e"> </span>error</span></div><div class="t m0 x1 hf y205 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>int<span class="_ _f"> </span>d[2][]<span class="_ _d"> </span>=<span class="_ _8"> </span>...;<span class="_ _3d"> </span>//<span class="_ _f"> </span><span class="ffe">compile<span class="_ _e"> </span>error</span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">51/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf3a" class="pf w0 h0" data-page-no="3a"><div class="pc pc3a w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Structure<span class="_ _8"> </span>Initialization<span class="_ _f"> </span>-<span class="_ _8"> </span>C++03<span class="_ _45"> </span>1/5</div><div class="t m0 x1 hd y6d ff1 fs7 fc0 sc0 ls0 ws0">Structures<span class="_ _11"> </span><span class="ff4">a<span class="_ _6"></span>re<span class="_ _11"> </span>also<span class="_ _11"> </span><span class="ffa">aggregate<span class="_ _8"> </span></span>t<span class="_ _6"></span>yp<span class="_ _b"></span>es<span class="_ _11"> </span>and<span class="_ _11"> </span>can<span class="_ _11"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span>initialized<span class="_ _11"> </span>with<span class="_ _11"> </span>brace-initialization</span></div><div class="t m0 x1 hd y6e ff4 fs7 fc0 sc0 ls0 ws0">syntax,<span class="_ _11"> </span>also<span class="_ _11"> </span>called<span class="_ _11"> </span>b<span class="_ _6"></span>raced-init-list<span class="_ _11"> </span>o<span class="_ _6"></span>r<span class="_ _11"> </span>aggregate-initialization</div><div class="t m0 x1 he y206 ff5 fs8 fc7 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc3">S<span class="_"> </span><span class="ffc fc0">{</span></span></div><div class="t m0 x22 he y207 ff5 fs8 fc4 sc0 ls0 ws0">unsigned<span class="_"> </span><span class="ffc fc0">x;</span></div><div class="t m0 x22 he y208 ff5 fs8 fc4 sc0 ls0 ws0">unsigned<span class="_"> </span><span class="ffc fc0">y;</span></div><div class="t m0 x1 he y209 ffc fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 he y20a ffc fs8 fc0 sc0 ls0 ws0">S<span class="_ _f"> </span>s1;<span class="_ _3c"> </span><span class="ffd fc6">//<span class="_ _f"> </span>default<span class="_ _f"> </span>initialization,<span class="_ _d"> </span>x,y<span class="_ _8"> </span>undefined<span class="_ _d"> </span>values</span></div><div class="t m0 x1 he y20b ffc fs8 fc0 sc0 ls0 ws0">S<span class="_ _f"> </span>s2<span class="_ _f"> </span><span class="fc5">=<span class="_ _d"> </span></span>{};<span class="_ _19"> </span><span class="ffd fc6">//<span class="_ _8"> </span>copy<span class="_ _d"> </span>list<span class="_ _f"> </span>initialization,<span class="_ _f"> </span>x,y<span class="_ _f"> </span>default<span class="_ _f"> </span>constr./zero-init</span></div><div class="t m0 x1 he y20c ffc fs8 fc0 sc0 ls0 ws0">S<span class="_ _f"> </span>s3<span class="_ _f"> </span><span class="fc5">=<span class="_ _d"> </span></span>{<span class="fc5">1</span>,<span class="_ _8"> </span><span class="fc5">2</span>};<span class="_ _14"> </span><span class="ffd fc6">//<span class="_ _d"> </span>copy<span class="_ _f"> </span>list<span class="_ _f"> </span>initialization,<span class="_ _f"> </span>x=1,<span class="_ _f"> </span>y=2</span></div><div class="t m0 x1 he y20d ffc fs8 fc0 sc0 ls0 ws0">S<span class="_ _f"> </span>s4<span class="_ _f"> </span><span class="fc5">=<span class="_ _d"> </span></span>{<span class="fc5">1</span>};<span class="_ _16"> </span><span class="ffd fc6">//<span class="_ _8"> </span>copy<span class="_ _d"> </span>list<span class="_ _f"> </span>initialization,<span class="_ _f"> </span>x=1,<span class="_ _f"> </span>y<span class="_ _f"> </span>default<span class="_ _d"> </span>constr./zero-init</span></div><div class="t m0 x1 he y20e ffd fs8 fc6 sc0 ls0 ws0">//S<span class="_ _f"> </span>s5(3,<span class="_ _f"> </span>5);<span class="_ _17"> </span>//<span class="_ _d"> </span>compiler<span class="_ _8"> </span>error,<span class="_ _d"> </span>constructor<span class="_ _f"> </span>not<span class="_ _f"> </span>found</div><div class="t m0 x1 he y20f ffc fs8 fc0 sc0 ls0 ws0">S<span class="_ _f"> </span><span class="fc3">f</span>()<span class="_ _f"> </span>{</div><div class="t m0 x22 he y210 ffc fs8 fc0 sc0 ls0 ws0">S<span class="_ _f"> </span>s6<span class="_ _f"> </span><span class="fc5">=<span class="_ _d"> </span></span>{<span class="fc5">1</span>,<span class="_ _8"> </span><span class="fc5">2</span>};<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _f"> </span>verbose</span></div><div class="t m0 x22 he y211 ff5 fs8 fc7 sc0 ls0 ws0">return<span class="_"> </span><span class="ffc fc0">s6;</span></div><div class="t m0 x1 he y212 ffc fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">52/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf3b" class="pf w0 h0" data-page-no="3b"><div class="pc pc3b w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Structure<span class="_ _8"> </span>Initialization<span class="_ _f"> </span>-<span class="_ _8"> </span>C++11<span class="_ _45"> </span>2/5</div><div class="t m0 x1 he y178 ff5 fs8 fc7 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc3">S<span class="_"> </span><span class="ffc fc0">{</span></span></div><div class="t m0 x22 he y213 ff5 fs8 fc4 sc0 ls0 ws0">unsigned<span class="_"> </span><span class="ffc fc0">x;</span></div><div class="t m0 x22 he y17a ff5 fs8 fc4 sc0 ls0 ws0">unsigned<span class="_"> </span><span class="ffc fc0">y;</span></div><div class="t m0 x22 he y214 ff5 fs8 fc4 sc0 ls0 ws0">void<span class="ffc fc5">*<span class="_ _43"> </span><span class="fc0">ptr;</span></span></div><div class="t m0 x1 he y215 ffc fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 he y216 ffc fs8 fc0 sc0 ls0 ws0">S<span class="_ _f"> </span>s1{};<span class="_ _18"> </span><span class="ffd fc6">//<span class="_ _f"> </span>direct<span class="_ _f"> </span>list<span class="_ _d"> </span>(or<span class="_ _8"> </span>value)<span class="_ _d"> </span>initialization</span></div><div class="t m0 x41 he y217 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _16"> </span>x,y,ptr<span class="_ _f"> </span>default<span class="_ _f"> </span>constr./zero-initialization</div><div class="t m0 x1 he y218 ffc fs8 fc0 sc0 ls0 ws0">S<span class="_ _f"> </span>s2{<span class="fc5">1</span>,<span class="_ _f"> </span><span class="fc5">2</span>};<span class="_ _16"> </span><span class="ffd fc6">//<span class="_ _d"> </span>direct<span class="_ _8"> </span>list<span class="_ _d"> </span>(or<span class="_ _f"> </span>value)<span class="_ _f"> </span>initialization</span></div><div class="t m0 x41 he y219 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _16"> </span>x=1,<span class="_ _f"> </span>y=2,<span class="_ _f"> </span>ptr<span class="_ _d"> </span>default<span class="_ _8"> </span>constr./zero-initialization</div><div class="t m0 x1 he y21a ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>S<span class="_ _f"> </span>s3{1,<span class="_ _d"> </span>-2};<span class="_ _8"> </span>//<span class="_ _d"> </span>compile<span class="_ _f"> </span>error,<span class="_ _f"> </span>narrowing<span class="_ _f"> </span>conversion</div><div class="t m0 x1 he y21b ffc fs8 fc0 sc0 ls0 ws0">S<span class="_ _f"> </span><span class="fc3">f</span>()<span class="_ _f"> </span>{<span class="_ _d"> </span><span class="ff5 fc7">return<span class="_"> </span></span>{<span class="fc5">3</span>,<span class="_ _8"> </span><span class="fc5">2</span>};<span class="_ _d"> </span>}<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>non-verbose</span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">53/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf3c" class="pf w0 h0" data-page-no="3c"><div class="pc pc3c w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Structure<span class="_ _8"> </span>Initialization<span class="_ _f"> </span>-<span class="_ _8"> </span>Brace<span class="_ _8"> </span>or<span class="_ _8"> </span>Equal<span class="_ _8"> </span>Initialization<span class="_ _46"> </span>3/5</div><div class="t m0 x1 hd y6d ff4 fs7 fca sc0 ls0 ws0">C++11<span class="_ _11"> </span><span class="ff5 fc0">Non-Static<span class="_"> </span>Data<span class="_"> </span>Member<span class="_"> </span>Initialization<span class="_"> </span><span class="ff6">(NSDMI)<span class="_ _1e"> </span><span class="ff17 fs9"></span><span class="ff4">,<span class="_ _11"> </span>also<span class="_ _11"> </span>called<span class="_ _11"> </span><span class="ffa">brace</span></span></span></span></div><div class="t m0 x1 hd y6e ffa fs7 fc0 sc0 ls0 ws0">o<span class="_ _6"></span>r<span class="_ _11"> </span>equal<span class="_ _11"> </span>initialization<span class="_ _11"> </span><span class="ff4">allows<span class="_ _a"> </span>to<span class="_ _11"> </span>initialize<span class="_ _11"> </span>structure<span class="_ _11"> </span>memb<span class="_ _b"></span>ers<span class="_ _11"> </span>in<span class="_ _11"> </span>the<span class="_ _11"> </span>declaration:</span></div><div class="t m0 x1 he y21c ff5 fs8 fc7 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc3">S1<span class="_"> </span><span class="ffc fc0">{</span></span></div><div class="t m0 x22 he y21d ff5 fs8 fc4 sc0 ls0 ws0">unsigned<span class="_"> </span><span class="ffc fc0">x<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>3</span>;<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _8"> </span>equal<span class="_ _d"> </span>initialization</span></span></div><div class="t m0 x22 he y21e ff5 fs8 fc4 sc0 ls0 ws0">unsigned<span class="_"> </span><span class="ffc fc0">y<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>2</span>;<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _8"> </span>equal<span class="_ _d"> </span>initialization</span></span></div><div class="t m0 x1 he y21f ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _14"> </span>auto<span class="_ _16"> </span>z<span class="_ _f"> </span>=<span class="_ _f"> </span>3;<span class="_ _d"> </span>//<span class="_ _8"> </span><span class="ff15">auto<span class="_ _d"> </span></span>is<span class="_ _f"> </span>not<span class="_ _f"> </span>allowed<span class="_ _f"> </span>for<span class="_ _f"> </span>non-static<span class="_ _d"> </span>member<span class="_ _f"> </span>variables</div><div class="t m0 x1 he y220 ffc fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 he y221 ff5 fs8 fc7 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc3">S2<span class="_"> </span><span class="ffc fc0">{</span></span></div><div class="t m0 x22 he y222 ff5 fs8 fc4 sc0 ls0 ws0">unsigned<span class="_"> </span><span class="ffc fc0">x<span class="_ _f"> </span>{<span class="fc5">3</span>};<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _d"> </span>brace<span class="_ _8"> </span>initialization</span></span></div><div class="t m0 x1 he y223 ffc fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 he y224 ffd fs8 fc6 sc0 ls0 ws0">//----------------------------------------------------------------------------------</div><div class="t m0 x1 he y225 ffc fs8 fc0 sc0 ls0 ws0">S1<span class="_ _f"> </span>s1;<span class="_ _15"> </span><span class="ffd fc6">//<span class="_ _f"> </span>call<span class="_ _f"> </span>the<span class="_ _f"> </span>default<span class="_ _f"> </span>constructor<span class="_ _d"> </span>(x=3,<span class="_ _f"> </span>y=2)</span></div><div class="t m0 x1 he y226 ffc fs8 fc0 sc0 ls0 ws0">S1<span class="_ _f"> </span>s2{};<span class="_ _16"> </span><span class="ffd fc6">//<span class="_ _f"> </span>call<span class="_ _d"> </span>the<span class="_ _8"> </span>default<span class="_ _d"> </span>constructor<span class="_ _f"> </span>(x=3,<span class="_ _f"> </span>y=2)</span></div><div class="t m0 x1 he y227 ffc fs8 fc0 sc0 ls0 ws0">S1<span class="_ _f"> </span>s3{<span class="fc5">1</span>,<span class="_ _f"> </span><span class="fc5">4</span>};<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _8"> </span>set<span class="_ _d"> </span>x=1,<span class="_ _f"> </span>y=4</span></div><div class="t m0 x1 he y228 ffc fs8 fc0 sc0 ls0 ws0">S2<span class="_ _f"> </span>s4;<span class="_ _15"> </span><span class="ffd fc6">//<span class="_ _f"> </span>call<span class="_ _f"> </span>the<span class="_ _f"> </span>default<span class="_ _f"> </span>constructor<span class="_ _d"> </span>(x=3)</span></div><div class="t m0 x1 he y229 ffc fs8 fc0 sc0 ls0 ws0">S2<span class="_ _f"> </span>s5{<span class="fc5">5</span>};<span class="_ _23"> </span><span class="ffd fc6">//<span class="_ _f"> </span>set<span class="_ _f"> </span>x=5</span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">54/104</div><a class="l" href="https://en.cppreference.com/w/cpp/language/data_members#Member_initialization"><div class="d m1" style="border-style:none;position:absolute;left:65.836000px;bottom:204.814000px;width:268.726000px;height:10.932000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf3d" class="pf w0 h0" data-page-no="3d"><div class="pc pc3d w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIlElEQVR42u3ZsW3CUBSGUT/kq1RWZkBUTICiiCJFpGyWJbILBSnYgIYNUiFXuY3pUuM0uYRzJnj+X/Ppua02zx0AAJRxOnwurAAAQDUiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQCAHy0zrQAAQB0R4SUVAIByRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgBwF3oTAMCfW29fjMD1jvvdv//GlpluGgCAOiLC734AAMoRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAADBTf0NnHcfRhQEA/M4wDDd0Wi+pAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVBMAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABmaJlpBQAA6ogIL6kAAJQjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQCAWfrz+9IKAAV9vX4YAbhP66e31h4fpvN3103TZBAAAEq4ANE3IAC85reSAAAAAElFTkSuQmCC"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Structure<span class="_ _8"> </span>Initialization<span class="_ _f"> </span>-<span class="_ _8"> </span>Brace<span class="_ _8"> </span>or<span class="_ _8"> </span>Equal<span class="_ _8"> </span>Initialization<span class="_ _46"> </span>4/5</div><div class="t m0 x1 hd y6d ffa fs7 fc0 sc0 ls0 ws0">Non-Static<span class="_ _11"> </span>Data<span class="_ _11"> </span>Memb<span class="_ _b"></span>er<span class="_ _11"> </span>Initialization<span class="_ _11"> </span><span class="ff4">can<span class="_ _11"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span>also<span class="_ _11"> </span>used<span class="_ _11"> </span>to<span class="_ _7"> </span>initialize<span class="_ _11"> </span>va<span class="_ _6"></span>riables<span class="_ _11"> </span>referring</span></div><div class="t m0 x1 hd y6e ff4 fs7 fc0 sc0 ls0 ws0">to<span class="_ _11"> </span>other<span class="_ _11"> </span>data<span class="_ _11"> </span>memb<span class="_ _b"></span>ers.</div><div class="t m0 x1 hd ybc ff4 fs7 fc0 sc0 ls0 ws0">It<span class="_ _11"> </span>is<span class="_ _11"> </span>imp<span class="_ _b"></span>o<span class="_ _6"></span>rtant<span class="_ _11"> </span>to<span class="_ _11"> </span>note<span class="_ _11"> </span>that<span class="_ _11"> </span>the<span class="_ _11"> </span>initialization<span class="_ _11"> </span>process<span class="_ _11"> </span>follows<span class="_ _a"> </span>the<span class="_ _11"> </span>o<span class="_ _6"></span>rder<span class="_ _11"> </span>of<span class="_ _11"> </span>declarations</div><div class="t m0 x1 he y22a ff5 fs8 fc7 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc3">S1<span class="_"> </span><span class="ffc fc0">{</span></span></div><div class="t m0 x22 he y22b ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">x<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>3</span>;</span></div><div class="t m0 x22 he y22c ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">y<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>x<span class="_ _d"> </span><span class="fc5">*<span class="_ _8"> </span>2</span>;<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _f"> </span>y=6</span></span></div><div class="t m0 x1 he y22d ffc fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 he y22e ff5 fs8 fc7 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc3">S2<span class="_"> </span><span class="ffc fc0">{</span></span></div><div class="t m0 x22 he y22f ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">y<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>x<span class="_ _d"> </span><span class="fc5">*<span class="_ _8"> </span>2</span>;<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _f"> </span>y=<span class="fc8">undefined</span></span></span></div><div class="t m0 x22 he y230 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">x<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>3</span>;</span></div><div class="t m0 x1 he y231 ffc fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 he y232 ffc fs8 fc0 sc0 ls0 ws0">S1<span class="_ _f"> </span>s1;</div><div class="t m0 x1 he y233 ffc fs8 fc0 sc0 ls0 ws0">S2<span class="_ _f"> </span>s2;</div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">55/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf3e" class="pf w0 h0" data-page-no="3e"><div class="pc pc3e w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Structure<span class="_ _8"> </span>Initialization<span class="_ _f"> </span>-<span class="_ _8"> </span>Designated<span class="_ _8"> </span>Initializer<span class="_ _f"> </span>List<span class="_ _34"> </span>5/5</div><div class="t m0 x1 hd y6d ff4 fs7 fca sc0 ls0 ws0">C++20<span class="_ _11"> </span><span class="fc0">intro<span class="_ _b"></span>duces<span class="_ _11"> </span>the<span class="_ _11"> </span><span class="ff5">designated<span class="_"> </span>initializer<span class="_"> </span>list<span class="_ _e"> </span><span class="ff17 fs9"></span></span></span></div><div class="t m0 x1 he y149 ff5 fs8 fc7 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc3">A<span class="_"> </span><span class="ffc fc0">{</span></span></div><div class="t m0 x22 he y234 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">x,<span class="_ _f"> </span>y,<span class="_ _f"> </span>z;</span></div><div class="t m0 x1 he y14a ffc fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 he y14b ffc fs8 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span>a1{<span class="fc5">1</span>,<span class="_ _f"> </span><span class="fc5">2</span>,<span class="_ _d"> </span><span class="fc5">3</span>};<span class="_ _47"> </span><span class="ffd fc6">//<span class="_ _f"> </span>is<span class="_ _f"> </span>the<span class="_ _d"> </span>same<span class="_ _8"> </span>of</span></div><div class="t m0 x1 he y14c ffc fs8 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span>a2{.x<span class="_ _f"> </span><span class="fc5">=<span class="_ _d"> </span>1</span>,<span class="_ _8"> </span>.y<span class="_ _d"> </span><span class="fc5">=<span class="_ _f"> </span>2</span>,<span class="_ _f"> </span>.z<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>3</span>};<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _f"> </span>designated<span class="_ _f"> </span>initializer<span class="_ _f"> </span>list</span></div><div class="t m0 x1 hd y235 ffa fs7 fc0 sc0 ls0 ws0">Designated<span class="_ _11"> </span>initializer<span class="_ _11"> </span>list<span class="_ _8"> </span><span class="ff4">can<span class="_ _11"> </span>b<span class="_ _0"></span>e<span class="_ _a"> </span>very<span class="_ _11"> </span>useful<span class="_ _11"> </span>to<span class="_ _11"> </span>improve<span class="_ _a"> </span>co<span class="_ _b"></span>de<span class="_ _11"> </span>readability</span></div><div class="t m0 x1 he y236 ff5 fs8 fc4 sc0 ls0 ws0">void<span class="_"> </span><span class="ffc fc3">f1<span class="fc0">(</span></span>bool<span class="_"> </span><span class="ffc fc0">a,<span class="_ _f"> </span></span>bool<span class="_"> </span><span class="ffc fc0">b,<span class="_ _f"> </span></span>bool<span class="_"> </span><span class="ffc fc0">c,<span class="_ _d"> </span></span>bool<span class="_"> </span><span class="ffc fc0">d,<span class="_ _8"> </span></span>bool<span class="_"> </span><span class="ffc fc0">e)<span class="_ _d"> </span>{}</span></div><div class="t m0 x1 he y237 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>long<span class="_ _f"> </span>list<span class="_ _d"> </span>of<span class="_ _8"> </span>the<span class="_ _d"> </span>same<span class="_ _f"> </span>data<span class="_ _f"> </span>type<span class="_ _f"> </span>-&gt;<span class="_ _f"> </span>error-prone</div><div class="t m0 x1 he y238 ff5 fs8 fc7 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc3">B<span class="_"> </span><span class="ffc fc0">{</span></span></div><div class="t m0 x22 he y239 ff5 fs8 fc4 sc0 ls0 ws0">bool<span class="_"> </span><span class="ffc fc0">a,<span class="_ _f"> </span>b,<span class="_ _f"> </span>c,<span class="_ _d"> </span>d,<span class="_ _8"> </span>e;</span></div><div class="t m0 x1 he y23a ffc fs8 fc0 sc0 ls0 ws0">};<span class="_ _48"> </span><span class="ffd fc6">//<span class="_ _f"> </span>f2(B<span class="_ _f"> </span>b)</span></div><div class="t m0 x1 he y23b ffc fs8 fc0 sc0 ls0 ws0">f2({.a<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span><span class="fc7">true</span></span>,<span class="_ _d"> </span>.c<span class="_ _8"> </span><span class="fc5">=<span class="_ _d"> </span><span class="fc7">true</span></span>});<span class="_ _1"> </span><span class="ffd fc6">//<span class="_ _d"> </span>b,<span class="_ _f"> </span>d,<span class="_ _f"> </span>e<span class="_ _f"> </span>=<span class="_ _f"> </span>false</span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">56/104</div><a class="l" href="https://en.cppreference.com/w/cpp/language/aggregate_initialization#Designated_initializers"><div class="d m1" style="border-style:none;position:absolute;left:134.351000px;bottom:203.815000px;width:165.636000px;height:11.931000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf3f" class="pf w0 h0" data-page-no="3f"><div class="pc pc3f w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIk0lEQVR42u3ZsU3DUBSGUb/IV1QWM0RUmSBCUYoUSGyWJdiFAgo2SJMNUkWuchvTIdrQcG2dM8HT7+bTdXva7joAACjj/PW5sgIAANWIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAfrTMtAIAAHVEhEsqAADliFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAPyX3gQAMDub/cEIv50+3o2wMC0zrQAAQB0R4Xc/AADliFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAC4Uz+jt47j6IMBAPzNMAwzeq1LKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAItUEAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQCAO7TMtAIAAHVEhEsqAADliFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAB19dfj2goAy3B5eTMCsACb59fWHh+m663rpmkyCAAAJXwDDbEgAPDdus4AAAAASUVORK5CYII="/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Structure<span class="_ _8"> </span>Binding</div><div class="t m0 x1 hd y6d ff4 fs7 fca sc0 ls0 ws0">C++17<span class="_ _11"> </span><span class="ffa fc0">Structure<span class="_ _11"> </span>Binding<span class="_ _f"> </span><span class="ff4">declaration<span class="_ _a"> </span>binds<span class="_ _11"> </span>the<span class="_ _11"> </span>sp<span class="_ _b"></span>ecified<span class="_ _11"> </span>names<span class="_ _11"> </span>to<span class="_ _11"> </span>elements<span class="_ _11"> </span>of</span></span></div><div class="t m0 x1 hd y6e ff4 fs7 fc0 sc0 ls0 ws0">initializer.<span class="_ _f"> </span>The<span class="_ _11"> </span>variables<span class="_ _a"> </span>asso<span class="_ _b"></span>ciated<span class="_ _11"> </span>with<span class="_ _11"> </span>the<span class="_ _11"> </span>structure<span class="_ _11"> </span>binding<span class="_ _11"> </span>are<span class="_ _a"> </span>references</div><div class="t m0 x1 he y23c ff5 fs8 fc7 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc3">A<span class="_"> </span><span class="ffc fc0">{</span></span></div><div class="t m0 x22 he y23d ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">x<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>1</span>;</span></div><div class="t m0 x22 he y23e ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">y<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>2</span>;</span></div><div class="t m0 x1 he y23f ffc fs8 fc0 sc0 ls0 ws0">}<span class="_ _f"> </span>my_struct;</div><div class="t m0 x1 he y240 ffc fs8 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="fc3">f</span>()<span class="_ _f"> </span>{<span class="_ _d"> </span><span class="ff5 fc7">return<span class="_"> </span></span>A{<span class="fc5">4</span>,<span class="_ _8"> </span><span class="fc5">5</span>};<span class="_ _d"> </span>}</div><div class="t m0 x16 he y241 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span><span class="ff15">Case<span class="_ _f"> </span>(1):<span class="_ _d"> </span>struct</span></div><div class="t m0 x1 he y242 ff5 fs8 fc7 sc0 ls0 ws0">auto<span class="_"> </span><span class="ffc fc0">[x1,<span class="_ _f"> </span>y1]<span class="_ _f"> </span><span class="fc5">=<span class="_ _d"> </span></span>my_struct;<span class="_ _8"> </span><span class="ffd fc6">//<span class="_ _d"> </span>x1=1,<span class="_ _f"> </span>y1=2</span></span></div><div class="t m0 x1 he y243 ff5 fs8 fc7 sc0 ls0 ws0">auto<span class="_"> </span><span class="ffc fc0">[x2,<span class="_ _f"> </span>y2]<span class="_ _f"> </span><span class="fc5">=<span class="_ _d"> </span></span>f();<span class="_ _3b"> </span><span class="ffd fc6">//<span class="_ _f"> </span>x2=4,<span class="_ _f"> </span>y2=5</span></span></div><div class="t m0 x1 he y244 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_ _14"> </span><span class="ffc fc0">array[<span class="fc5">2</span>]<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>{<span class="fc5">1</span>,<span class="fc5">2</span>};<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _8"> </span><span class="ff15">Case<span class="_ _d"> </span>(2):<span class="_ _f"> </span>raw<span class="_ _f"> </span>arrays</span></span></span></div><div class="t m0 x1 he y245 ff5 fs8 fc7 sc0 ls0 ws0">auto<span class="_"> </span><span class="ffc fc0">[x3,<span class="_ _f"> </span>y3]<span class="_ _f"> </span><span class="fc5">=<span class="_ _d"> </span></span>array;<span class="_ _16"> </span><span class="ffd fc6">//<span class="_ _8"> </span>x3=1,<span class="_ _d"> </span>y3=2</span></span></div><div class="t m0 x1 he y246 ffc fs8 fc0 sc0 ls0 ws0">x3<span class="_ _2f"> </span><span class="fc5">=<span class="_ _f"> </span>3</span>;<span class="_ _18"> </span><span class="ffd fc6">//<span class="_ _f"> </span>now<span class="_ _f"> </span>also<span class="_ _d"> </span>array[0]<span class="_ _8"> </span>=<span class="_ _d"> </span>3</span></div><div class="t m0 x1 he y247 ff5 fs8 fc7 sc0 ls0 ws0">auto<span class="_"> </span><span class="ffc fc0">[x4,<span class="_ _f"> </span>y4]<span class="_ _f"> </span><span class="fc5">=<span class="_ _d"> </span></span>std<span class="fc5">::</span>tuple<span class="fc5">&lt;</span></span><span class="fc4">float<span class="ffc fc0">,<span class="_ _8"> </span></span>int<span class="ffc fc5">&gt;<span class="fc0">{</span>3.0f<span class="fc0">,<span class="_ _d"> </span></span>2<span class="fc0">};<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _f"> </span><span class="ff15">Case<span class="_ _f"> </span>(3):<span class="_ _f"> </span>tuples</span></span></span></span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">57/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf40" class="pf w0 h0" data-page-no="40"><div class="pc pc40 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Dynamic<span class="_ _8"> </span>Memory<span class="_ _8"> </span>Initialization</div><div class="t m0 x1 hd y248 ff4 fs7 fc0 sc0 ls0 ws0">Dynamic<span class="_ _11"> </span>memo<span class="_ _6"></span>ry<span class="_ _11"> </span>initialization<span class="_ _11"> </span>applies<span class="_ _11"> </span>the<span class="_ _11"> </span>same<span class="_ _11"> </span>rules<span class="_ _11"> </span>of<span class="_ _11"> </span>the<span class="_ _11"> </span>object<span class="_ _11"> </span>that<span class="_ _11"> </span>is<span class="_ _11"> </span>allo<span class="_ _b"></span>cated</div><div class="t m0 x1 hd y249 ff4 fs7 fca sc0 ls0 ws0">C++03<span class="fc0">:</span></div><div class="t m0 x1 he y24a ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">a1<span class="_ _f"> </span></span>=<span class="_ _d"> </span></span><span class="fc7">new<span class="_"> </span></span>int<span class="ffc fc0">;<span class="_ _1d"> </span><span class="ffd fc6">//<span class="_ _f"> </span>undefined</span></span></div><div class="t m0 x1 he y24b ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">a2<span class="_ _f"> </span></span>=<span class="_ _d"> </span></span><span class="fc7">new<span class="_"> </span></span>int<span class="ffc fc0">();<span class="_ _2a"> </span><span class="ffd fc6">//<span class="_ _f"> </span>zero-initialization,<span class="_ _f"> </span>call<span class="_ _d"> </span>&quot;=<span class="_ _8"> </span>int()&quot;</span></span></div><div class="t m0 x1 he y24c ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">a3<span class="_ _f"> </span></span>=<span class="_ _d"> </span></span><span class="fc7">new<span class="_"> </span></span>int<span class="ffc fc0">(<span class="fc5">4</span>);<span class="_ _3b"> </span><span class="ffd fc6">//<span class="_ _f"> </span>allocate<span class="_ _f"> </span>a<span class="_ _d"> </span>single<span class="_ _8"> </span>value<span class="_ _d"> </span>equal<span class="_ _f"> </span>to<span class="_ _f"> </span>4</span></span></div><div class="t m0 x1 he y24d ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">a4<span class="_ _f"> </span></span>=<span class="_ _d"> </span></span><span class="fc7">new<span class="_"> </span></span>int<span class="ffc fc0">[<span class="fc5">4</span>];<span class="_ _3b"> </span><span class="ffd fc6">//<span class="_ _f"> </span>allocate<span class="_ _f"> </span>4<span class="_ _d"> </span>elements<span class="_ _8"> </span>with<span class="_ _d"> </span>undefined<span class="_ _f"> </span>values</span></span></div><div class="t m0 x1 he y24e ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">a5<span class="_ _f"> </span></span>=<span class="_ _d"> </span></span><span class="fc7">new<span class="_"> </span></span>int<span class="ffc fc0">[<span class="fc5">4</span>]();<span class="_ _16"> </span><span class="ffd fc6">//<span class="_ _8"> </span>allocate<span class="_ _d"> </span>4<span class="_ _f"> </span>elements<span class="_ _f"> </span>zero-initialized,<span class="_ _f"> </span>call<span class="_ _f"> </span>&quot;=<span class="_ _d"> </span>int()&quot;</span></span></div><div class="t m0 x1 he y24f ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>int*<span class="_ _f"> </span>a6<span class="_ _d"> </span>=<span class="_ _8"> </span>new<span class="_ _d"> </span>int[4](3);<span class="_ _f"> </span>//<span class="_ _f"> </span>not<span class="_ _f"> </span>valid</div><div class="t m0 x1 h10 y250 ff13 fs8 fca sc0 ls0 ws0">C++11<span class="fc0">:</span></div><div class="t m0 x1 he y251 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">b1<span class="_ _f"> </span></span>=<span class="_ _d"> </span></span><span class="fc7">new<span class="_"> </span></span>int<span class="ffc fc0">[<span class="fc5">4</span>]{};<span class="_ _16"> </span><span class="ffd fc6">//<span class="_ _8"> </span>allocate<span class="_ _d"> </span>4<span class="_ _f"> </span>elements<span class="_ _f"> </span>zero-initialized,<span class="_ _f"> </span>call<span class="_ _f"> </span>&quot;=<span class="_ _d"> </span>int{}&quot;</span></span></div><div class="t m0 x1 he y252 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">b2<span class="_ _f"> </span></span>=<span class="_ _d"> </span></span><span class="fc7">new<span class="_"> </span></span>int<span class="ffc fc0">[<span class="fc5">4</span>]{<span class="fc5">1</span>,<span class="_ _8"> </span><span class="fc5">2</span>};<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _f"> </span>set<span class="_ _f"> </span>first,<span class="_ _f"> </span>second,<span class="_ _f"> </span>zero-initialized</span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">58/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf41" class="pf w0 h0" data-page-no="41"><div class="pc pc41 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIdklEQVR42u3YsQlCMRSG0UResArOIFZOIGItuJlLOI6FQ7iB1eNVpomdnY1Y3IfnTBD+NB83b3aHBAAAYdxv14UVAACIRqQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAPCWW2tWAAAgjlKKSyoAAOGIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAfDLM6K3TNPkwAIDv1Fpn9FqXVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARKoJAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAgDnLrTUrAAAQRynFJRUAgHBEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAAD8yDCe11YA+GeP48UIQCjb/Snn1bKPz5R67wYBACCEFy61GgIspihFAAAAAElFTkSuQmCC"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Initialization<span class="_ _8"> </span>-<span class="_ _f"> </span>Undefined<span class="_ _8"> </span>Behavio<span class="_ _6"></span>r<span class="_ _8"> </span>Example</div><div class="t m0 x42 h12 ya6 ff9 fs5 fc1 sc0 ls0 ws0">⋆</div><div class="t m0 x1 h10 y253 ffc fs8 fc0 sc0 ls0 ws0">lib/libc/stdlib/rand.c<span class="_ _e"> </span><span class="ff13">of<span class="_ _1e"> </span>the<span class="_ _e"> </span>FreeBSD<span class="_ _1e"> </span>lib<span class="_ _b"></span>c</span></div><div class="t m0 x1 he y254 ff5 fs8 fc7 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc3">timeval<span class="_"> </span><span class="ffc fc0">tv;</span></span></div><div class="t m0 x1 he y255 ff5 fs8 fc4 sc0 ls0 ws0">unsigned<span class="_"> </span>long<span class="_"> </span><span class="ffc fc0">junk;<span class="_ _49"> </span><span class="ffd fc6">//<span class="_ _f"> </span>not<span class="_ _f"> </span>initialized,<span class="_ _d"> </span>undefined<span class="_ _8"> </span>value</span></span></div><div class="t m0 x1 he y256 ffd fs8 fc6 sc0 ls0 ws0">/*<span class="_ _f"> </span>XXX<span class="_ _f"> </span>left<span class="_ _d"> </span>uninitialized<span class="_ _8"> </span>on<span class="_ _d"> </span>purpose<span class="_ _f"> </span>*/</div><div class="t m0 x1 he y257 ffc fs8 fc0 sc0 ls0 ws0">gettimeofday(<span class="fc5">&amp;</span>tv,<span class="_ _f"> </span><span class="fc7">NULL</span>);</div><div class="t m0 x1 he y258 ffc fs8 fc0 sc0 ls0 ws0">srandom((getpid()<span class="_ _f"> </span><span class="fc5">&lt;&lt;<span class="_ _f"> </span>16</span>)<span class="_ _d"> </span><span class="fc5">^<span class="_ _8"> </span></span>tv.tv_sec<span class="_ _d"> </span><span class="fc5">^<span class="_ _f"> </span></span>tv.tv_usec<span class="_ _f"> </span><span class="fc5">^<span class="_ _f"> </span></span>junk);</div><div class="t m0 x43 he y259 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>A<span class="_ _f"> </span>compiler<span class="_ _d"> </span>can<span class="_ _8"> </span>assign<span class="_ _d"> </span>any<span class="_ _f"> </span>value<span class="_ _f"> </span>not<span class="_ _f"> </span>only<span class="_ _f"> </span>to<span class="_ _d"> </span>the<span class="_ _f"> </span>variable,</div><div class="t m0 x43 he y25a ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>but<span class="_ _f"> </span>also<span class="_ _d"> </span>to<span class="_ _8"> </span>expressions<span class="_ _d"> </span>derived<span class="_ _f"> </span>from<span class="_ _f"> </span>the<span class="_ _f"> </span>variable</div><div class="t m0 x43 he y25b ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>GCC<span class="_ _f"> </span>assigns<span class="_ _d"> </span><span class="ff15">junk<span class="_ _8"> </span></span>to<span class="_ _d"> </span>a<span class="_ _f"> </span>register.<span class="_ _f"> </span>Clang<span class="_ _f"> </span>further<span class="_ _f"> </span>eliminates<span class="_ _d"> </span>computation</div><div class="t m0 x43 he y25c ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>derived<span class="_ _f"> </span>from<span class="_ _d"> </span><span class="ff15">junk<span class="_ _8"> </span></span>completely,<span class="_ _d"> </span>and<span class="_ _f"> </span>generates<span class="_ _f"> </span>code<span class="_ _f"> </span>that<span class="_ _f"> </span>does<span class="_ _d"> </span>not<span class="_ _f"> </span>use</div><div class="t m0 x43 he y25d ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>either<span class="_ _f"> </span><span class="ff15">gettimeofday<span class="_ _d"> </span></span>or<span class="_ _8"> </span><span class="ff15">getpid</span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">59/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf42" class="pf w0 h0" data-page-no="42"><div class="pc pc42 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x10 h2 y25e ff5 fs0 fc0 sc0 ls0 ws0">const<span class="_ _1"> </span><span class="ff1">and<span class="_ _1"> </span>Constant</span></div><div class="t m0 x10 h2 y25f ff1 fs0 fc0 sc0 ls0 ws0">Exp<span class="_ _4"></span>ressions</div><a class="l" href="#pf42" data-dest-detail='[66,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:154.437000px;width:241.993000px;height:19.206000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf42" data-dest-detail='[66,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:115.247000px;width:130.569000px;height:24.025000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf43" class="pf w0 h0" data-page-no="43"><div class="pc pc43 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Constants<span class="_ _8"> </span>and<span class="_ _f"> </span>Literals</div><div class="t m0 x1 hd y6d ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _11"> </span><span class="ff5">constant<span class="_"> </span>expression<span class="_ _1e"> </span><span class="ff17 fs9"><span class="_ _11"> </span></span></span>is<span class="_ _11"> </span>an<span class="_ _11"> </span>expression<span class="_ _a"> </span>that<span class="_ _11"> </span>can<span class="_ _11"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span><span class="ffa">evaluated<span class="_ _11"> </span>at<span class="_ _7"> </span>compile-time</span></div><div class="t m0 x1 hd y260 ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _11"> </span><span class="ff5">literal<span class="_ _1e"> </span><span class="ff17 fs9"><span class="_ _11"> </span></span></span>is<span class="_ _11"> </span>a<span class="_ _11"> </span><span class="ffa">fixed<span class="_ _11"> </span>value<span class="_ _8"> </span></span>that<span class="_ _11"> </span>can<span class="_ _11"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span>assigned<span class="_ _7"> </span>to<span class="_ _11"> </span>a<span class="_ _11"> </span><span class="ffa">constant</span></div><div class="t m0 x1 hd y261 ff4 fs7 fc0 sc0 ls0 ws0">fo<span class="_ _6"></span>rmally<span class="_ _4"></span>,<span class="_ _11"> </span><span class="ffa">“Literals<span class="_ _11"> </span>are<span class="_ _a"> </span>the<span class="_ _11"> </span>tokens<span class="_ _a"> </span>of<span class="_ _11"> </span>a<span class="_ _11"> </span>C++<span class="_ _11"> </span>p<span class="_ _6"></span>rogram<span class="_ _11"> </span>that<span class="_ _11"> </span>represent<span class="_ _a"> </span>constant<span class="_ _11"> </span>values</span></div><div class="t m0 x1 h13 y262 ffa fs7 fc0 sc0 ls0 ws0">emb<span class="_ _b"></span>edded<span class="_ _11"> </span>in<span class="_ _11"> </span>the<span class="_ _11"> </span>source<span class="_ _11"> </span>co<span class="_ _b"></span>de”</div><div class="t m0 x1 hd y263 ff1 fs7 fc0 sc0 ls0 ws0">Literal<span class="_ _7"> </span>types<span class="ff4">:</span></div><div class="t m0 x11 hd y264 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff1">Concrete<span class="_ _7"> </span>values<span class="_ _11"> </span><span class="ff4">of<span class="_ _11"> </span>the<span class="_ _11"> </span>scalar<span class="_ _a"> </span>types<span class="_ _13"> </span><span class="ff6">bool<span class="_ _1e"> </span></span>,<span class="_ _13"> </span><span class="ff6">char<span class="_ _1e"> </span></span>,<span class="_ _13"> </span><span class="ff6">int<span class="_ _1e"> </span></span>,<span class="_ _13"> </span><span class="ff6">float<span class="_ _1e"> </span></span>,<span class="_ _13"> </span><span class="ff6">double<span class="_ _1e"> </span></span>,<span class="_ _11"> </span>e.g.</span></span></div><div class="t m0 x12 hd y265 ff6 fs7 fc0 sc0 ls0 ws0">true<span class="_ _1e"> </span><span class="ff4">,<span class="_ _13"> </span></span>a<span class="_ _1e"> </span><span class="ff4">,<span class="_ _13"> </span></span>3<span class="_ _1e"> </span><span class="ff4">,<span class="_ _13"> </span></span>2.0f</div><div class="t m0 x11 hd y266 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff1">String<span class="_ _7"> </span>literal<span class="_ _11"> </span><span class="ff4">of<span class="_ _11"> </span>type<span class="_ _13"> </span><span class="ff6">const<span class="_ _20"> </span>char[]<span class="_ _1e"> </span></span>,<span class="_ _11"> </span>e.g<span class="_ _13"> </span><span class="ff6">&quot;literal&quot;</span></span></span></div><div class="t m0 x11 hd y267 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _1a"> </span><span class="ff6">nullptr</span></div><div class="t m0 x11 hd y268 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">User-defined<span class="_ _11"> </span>literals,<span class="_ _11"> </span>e.g.<span class="_ _3"> </span><span class="ff6">2s</span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">60/104</div><a class="l" href="https://en.cppreference.com/w/cpp/language/cv"><div class="d m1" style="border-style:none;position:absolute;left:38.260000px;bottom:203.815000px;width:119.818000px;height:11.931000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://en.cppreference.com/w/cpp/language/expressions#Literals"><div class="d m1" style="border-style:none;position:absolute;left:38.260000px;bottom:181.028000px;width:51.091000px;height:11.689000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf44" class="pf w0 h0" data-page-no="44"><div class="pc pc44 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">const<span class="_ _8"> </span><span class="ff1">Keywo<span class="_ _c"></span>rd</span></div><div class="t m0 xe hd y269 ff5 fs7 fc1 sc0 ls0 ws0">const<span class="_ _7"> </span><span class="ff1">keyw<span class="_ _c"></span>o<span class="_ _6"></span>rd</span></div><div class="t m0 xe hd y26a ff4 fs7 fc0 sc0 ls0 ws0">The<span class="_ _11"> </span><span class="ff6 fc3">const<span class="_ _1e"> </span></span><span class="ff17 fs9"><span class="_ _11"> </span></span>keyw<span class="_ _c"></span>ord<span class="_ _a"> </span>declares<span class="_ _a"> </span>an<span class="_ _11"> </span>object<span class="_ _11"> </span>that<span class="_ _11"> </span><span class="ff1">never<span class="_ _8"> </span>changes<span class="_ _a"> </span></span>value<span class="_ _11"> </span>after<span class="_ _11"> </span>the</div><div class="t m0 xe hd y26b ff4 fs7 fc0 sc0 ls0 ws0">initialization.<span class="_ _f"> </span>A<span class="_ _11"> </span><span class="ff5">const<span class="_ _11"> </span></span>variable<span class="_ _a"> </span>must<span class="_ _11"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span>initialized<span class="_ _11"> </span>when<span class="_ _11"> </span>declared</div><div class="t m0 x1 hd y26c ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _11"> </span><span class="ff6 fc3">const<span class="_ _11"> </span></span>va<span class="_ _6"></span>riable<span class="_ _11"> </span>is<span class="_ _11"> </span>evaluated<span class="_ _11"> </span>at<span class="_ _11"> </span>compile-time<span class="_ _11"> </span>value<span class="_ _11"> </span>if<span class="_ _11"> </span>the<span class="_ _11"> </span>right<span class="_ _11"> </span>expression<span class="_ _a"> </span>is<span class="_ _11"> </span>also</div><div class="t m0 x1 hd y26d ff4 fs7 fc0 sc0 ls0 ws0">evaluated<span class="_ _11"> </span>at<span class="_ _11"> </span>compile-time</div><div class="t m0 x1 he y26e ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">size<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>3</span>;<span class="_ _2f"> </span><span class="ffd fc6">//<span class="_ _d"> </span><span class="fff">&apos;</span>size<span class="fff">&apos;<span class="_ _8"> </span></span>is<span class="_ _d"> </span>dynamic</span></span></div><div class="t m0 x1 he y26f ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">A[size]<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>{<span class="fc5">1</span>,<span class="_ _d"> </span><span class="fc5">2</span>,<span class="_ _8"> </span><span class="fc5">3</span>};<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _f"> </span>technically<span class="_ _f"> </span>possible<span class="_ _f"> </span>but,<span class="_ _f"> </span>variable<span class="_ _d"> </span>size<span class="_ _f"> </span>stack<span class="_ _f"> </span>array</span></span></div><div class="t m0 x44 he y270 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>are<span class="_ _f"> </span>considered<span class="_ _d"> </span>BAD<span class="_ _8"> </span>programming</div><div class="t m0 x1 he y271 ff5 fs8 fc7 sc0 ls0 ws0">const<span class="_"> </span><span class="fc4">int<span class="_"> </span><span class="ffc fc0">SIZE<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>3</span>;</span></span></div><div class="t m0 x1 hf y272 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>SIZE<span class="_ _f"> </span>=<span class="_ _d"> </span>4;<span class="_ _4a"> </span>//<span class="_ _f"> </span><span class="ffe">compile<span class="_ _e"> </span>error</span>,<span class="_ _f"> </span>SIZE<span class="_ _f"> </span>is<span class="_ _f"> </span>const</div><div class="t m0 x1 he y273 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">B[SIZE]<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>{<span class="fc5">1</span>,<span class="_ _d"> </span><span class="fc5">2</span>,<span class="_ _8"> </span><span class="fc5">3</span>};<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _f"> </span>ok</span></span></div><div class="t m0 x1 he y274 ff5 fs8 fc7 sc0 ls0 ws0">const<span class="_"> </span><span class="fc4">int<span class="_"> </span><span class="ffc fc0">size2<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>size;<span class="_ _14"> </span><span class="ffd fc6">//<span class="_ _d"> </span><span class="fff">&apos;</span>size2<span class="fff">&apos;<span class="_ _8"> </span></span>is<span class="_ _d"> </span>dynamic</span></span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">61/104</div><a class="l" href="https://en.cppreference.com/w/cpp/language/cv"><div class="d m1" style="border-style:none;position:absolute;left:52.532000px;bottom:189.295000px;width:39.637000px;height:12.694000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf45" class="pf w0 h0" data-page-no="45"><div class="pc pc45 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIyklEQVR42u3aMUoDQRiG4Yzsj9XgGcTKE4hYCzmC98gh7FN7CA9h4SG8gVWYRifF2glCBEmC/us+zwlmv2lehi0XVzcLAABI4+X56cQKAABkI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAPhUeu9WAAAgj4jwkgoAQDoiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAD8b8MMv7m15uLJoNZqBADYyUsqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAAPhbpfduBQAA8ogIL6kAAKQjUgEAEKkAACBSAQAQqQAAcKhhht/cWnPxZFBrNQIA7OQlFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAORWeu9WAAAgj4jwkgoAQDoiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAA+GKY0Flbay4MAGA/tdYJndZLKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAItUEAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAgBkaTADH8rbd3q3Xdvihx9XKCAB8p/Tep3LW1poLAwDYT611KkeNiClFKgAAcxAR/kkFACAdkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAC/ZNjcn1sBgGN5vX0wAnCgy+tlKWen4+Z9sRjH0SAAAKTwAUPJMfyaflVjAAAAAElFTkSuQmCC"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">const<span class="_ _8"> </span><span class="ff1">Keywo<span class="_ _c"></span>rd<span class="_ _8"> </span>and<span class="_ _f"> </span>P<span class="_ _c"></span>ointers<span class="_ _4b"> </span>1/3</span></div><div class="t m0 x1 hd y275 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _12"> </span><span class="ff6">int*<span class="_ _20"> </span><span class="ff12">→<span class="_ _20"> </span></span>const<span class="_ _20"> </span>int*</span></div><div class="t m0 x1 hd y276 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _12"> </span><span class="ff6">const<span class="_ _20"> </span>int*</span></div><div class="t m0 x45 h16 y277 ff18 fs4 fc0 sc0 ls0 ws0"></div><div class="t m0 x24 h16 y278 ff18 fs4 fc0 sc0 ls0 ws0"></div><div class="t m0 x45 h13 y276 ff12 fs7 fc0 sc0 ls0 ws0">→<span class="_ _20"> </span><span class="ff6">int*</span></div><div class="t m0 x1 he y279 ff5 fs8 fc4 sc0 ls0 ws0">void<span class="_"> </span><span class="ffc fc3">read<span class="fc0">(</span></span><span class="fc7">const<span class="_"> </span></span>int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">array)<span class="_ _f"> </span>{}<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _8"> </span>the<span class="_ _d"> </span>values<span class="_ _f"> </span>of<span class="_ _f"> </span><span class="fff">&apos;</span>array<span class="fff">&apos;<span class="_ _f"> </span></span>cannot<span class="_ _f"> </span>be<span class="_ _d"> </span>modified</span></span></span></div><div class="t m0 x1 he y27a ff5 fs8 fc4 sc0 ls0 ws0">void<span class="_"> </span><span class="ffc fc3">write<span class="fc0">(</span></span>int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">array)<span class="_ _f"> </span>{}</span></span></div><div class="t m0 x1 he y27b ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _3b"> </span><span class="fc0">ptr<span class="_ _15"> </span></span>=<span class="_ _f"> </span></span><span class="fc7">new<span class="_"> </span></span>int<span class="ffc fc0">;</span></div><div class="t m0 x1 he y27c ff5 fs8 fc7 sc0 ls0 ws0">const<span class="_"> </span><span class="fc4">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">const_ptr<span class="_ _f"> </span></span>=<span class="_ _d"> </span></span></span>new<span class="_"> </span><span class="fc4">int<span class="ffc fc0">;</span></span></div><div class="t m0 x1 he y27d ffc fs8 fc0 sc0 ls0 ws0">read(ptr);<span class="_ _3c"> </span><span class="ffd fc6">//<span class="_ _f"> </span>ok</span></div><div class="t m0 x1 he y27e ffc fs8 fc0 sc0 ls0 ws0">write(ptr);<span class="_ _1d"> </span><span class="ffd fc6">//<span class="_ _d"> </span>ok</span></div><div class="t m0 x1 he y27f ffc fs8 fc0 sc0 ls0 ws0">read(const_ptr);<span class="_ _16"> </span><span class="ffd fc6">//<span class="_ _f"> </span>ok</span></div><div class="t m0 x1 hf y280 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>write(const_ptr);<span class="_ _f"> </span>//<span class="_ _d"> </span><span class="ffe">compile<span class="_ _1e"> </span>error</span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">62/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf46" class="pf w0 h0" data-page-no="46"><div class="pc pc46 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">const<span class="_ _8"> </span><span class="ff1">Keywo<span class="_ _c"></span>rd<span class="_ _8"> </span>and<span class="_ _f"> </span>P<span class="_ _c"></span>ointers<span class="_ _4b"> </span>2/3</span></div><div class="t m0 x11 hd y281 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _1a"> </span><span class="ff5">int*<span class="_ _12"> </span><span class="ff4">p<span class="_ _0"></span>ointer<span class="_ _a"> </span>to<span class="_ _11"> </span><span class="ff6">int</span></span></span></div><div class="t m0 x18 h6 y282 ff4 fs4 fc0 sc0 ls0 ws0">-<span class="_ _5"> </span>The<span class="_ _a"> </span>value<span class="_ _e"> </span>of<span class="_ _a"> </span>the<span class="_ _a"> </span>p<span class="_ _b"></span>ointer<span class="_ _a"> </span>can<span class="_ _a"> </span>b<span class="_ _b"></span>e<span class="_ _a"> </span>mo<span class="_ _b"></span>dified</div><div class="t m0 x18 h6 y283 ff4 fs4 fc0 sc0 ls0 ws0">-<span class="_ _5"> </span>The<span class="_ _a"> </span>elements<span class="_ _e"> </span>referred<span class="_ _a"> </span>by<span class="_ _e"> </span>the<span class="_ _a"> </span>p<span class="_ _b"></span>ointer<span class="_ _a"> </span>can<span class="_ _a"> </span>b<span class="_ _b"></span>e<span class="_ _e"> </span>mo<span class="_ _b"></span>dified</div><div class="t m0 x11 hd y284 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _1a"> </span><span class="ff5">const<span class="_"> </span>int*<span class="_ _12"> </span><span class="ff4">p<span class="_ _0"></span>ointer<span class="_ _a"> </span>to<span class="_ _11"> </span><span class="ff6">const<span class="_ _20"> </span>int</span>.<span class="_ _d"> </span>Read<span class="_ _a"> </span>as<span class="_ _11"> </span><span class="ff6">(const<span class="_ _20"> </span>int)*</span></span></span></div><div class="t m0 x18 h6 y285 ff4 fs4 fc0 sc0 ls0 ws0">-<span class="_ _5"> </span>The<span class="_ _a"> </span>value<span class="_ _e"> </span>of<span class="_ _a"> </span>the<span class="_ _a"> </span>p<span class="_ _b"></span>ointer<span class="_ _a"> </span>can<span class="_ _a"> </span>b<span class="_ _b"></span>e<span class="_ _a"> </span>mo<span class="_ _b"></span>dified</div><div class="t m0 x18 h6 y286 ff4 fs4 fc0 sc0 ls0 ws0">-<span class="_ _5"> </span>The<span class="_ _a"> </span>elements<span class="_ _e"> </span>referred<span class="_ _a"> </span>by<span class="_ _e"> </span>the<span class="_ _a"> </span>p<span class="_ _b"></span>ointer<span class="_ _a"> </span>cannot<span class="_ _a"> </span>b<span class="_ _b"></span>e<span class="_ _e"> </span>mo<span class="_ _b"></span>dified</div><div class="t m0 x11 hd y287 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _1a"> </span><span class="ff5">int<span class="_"> </span>*const<span class="_ _12"> </span><span class="ff4">const<span class="_ _7"> </span>p<span class="_ _b"></span>ointer<span class="_ _11"> </span>to<span class="_ _11"> </span><span class="ff6">int</span></span></span></div><div class="t m0 x18 h6 y288 ff4 fs4 fc0 sc0 ls0 ws0">-<span class="_ _5"> </span>The<span class="_ _a"> </span>value<span class="_ _e"> </span>of<span class="_ _a"> </span>the<span class="_ _a"> </span>p<span class="_ _b"></span>ointer<span class="_ _a"> </span>cannot<span class="_ _a"> </span>b<span class="_ _b"></span>e<span class="_ _a"> </span>mo<span class="_ _b"></span>dified</div><div class="t m0 x18 h6 y289 ff4 fs4 fc0 sc0 ls0 ws0">-<span class="_ _5"> </span>The<span class="_ _a"> </span>elements<span class="_ _e"> </span>referred<span class="_ _a"> </span>by<span class="_ _e"> </span>the<span class="_ _a"> </span>p<span class="_ _b"></span>ointer<span class="_ _a"> </span>can<span class="_ _a"> </span>b<span class="_ _b"></span>e<span class="_ _e"> </span>mo<span class="_ _b"></span>dified</div><div class="t m0 x11 hd y28a ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _1a"> </span><span class="ff5">const<span class="_"> </span>int<span class="_"> </span>*const<span class="_ _12"> </span><span class="ff4">const<span class="_ _7"> </span>p<span class="_ _b"></span>ointer<span class="_ _11"> </span>to<span class="_ _11"> </span><span class="ff6">const<span class="_ _20"> </span>int</span></span></span></div><div class="t m0 x18 h6 y28b ff4 fs4 fc0 sc0 ls0 ws0">-<span class="_ _5"> </span>The<span class="_ _a"> </span>value<span class="_ _e"> </span>of<span class="_ _a"> </span>the<span class="_ _a"> </span>p<span class="_ _b"></span>ointer<span class="_ _a"> </span>cannot<span class="_ _a"> </span>b<span class="_ _b"></span>e<span class="_ _a"> </span>mo<span class="_ _b"></span>dified</div><div class="t m0 x18 h6 y28c ff4 fs4 fc0 sc0 ls0 ws0">-<span class="_ _5"> </span>The<span class="_ _a"> </span>elements<span class="_ _e"> </span>referred<span class="_ _a"> </span>by<span class="_ _e"> </span>the<span class="_ _a"> </span>p<span class="_ _b"></span>ointer<span class="_ _a"> </span>cannot<span class="_ _a"> </span>b<span class="_ _b"></span>e<span class="_ _e"> </span>mo<span class="_ _b"></span>dified</div><div class="t m0 x1 h6 y28d ff4 fs4 fc0 sc0 ls0 ws0">Note:<span class="_ _4c"> </span><span class="ff5">const<span class="_"> </span>int*<span class="_ _12"> </span></span>(<span class="ffa">W<span class="_ _6"></span>est<span class="_ _e"> </span>notation<span class="_ _b"></span><span class="ff4">)<span class="_ _a"> </span>is<span class="_ _a"> </span>equal<span class="_ _e"> </span>to<span class="_ _12"> </span><span class="ff5">int<span class="_"> </span>const*<span class="_ _12"> </span></span>(</span>East<span class="_ _a"> </span>notation<span class="ff4">)</span></span></div><div class="t m0 x1 h6 y28e ff4 fs4 fc0 sc0 ls0 ws0">Tip:<span class="_ _8"> </span>p<span class="_ _b"></span>ointer<span class="_ _a"> </span>types<span class="_ _a"> </span>should<span class="_ _a"> </span>b<span class="_ _b"></span>e<span class="_ _a"> </span>read<span class="_ _e"> </span>from<span class="_ _a"> </span>right<span class="_ _a"> </span>to<span class="_ _a"> </span>left</div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">63/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf47" class="pf w0 h0" data-page-no="47"><div class="pc pc47 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">const<span class="_ _8"> </span><span class="ff1">Keywo<span class="_ _c"></span>rd<span class="_ _8"> </span>and<span class="_ _f"> </span>P<span class="_ _c"></span>ointers</span></div><div class="t m0 x29 h12 ya6 ff9 fs5 fc1 sc0 ls0 ws0">⋆</div><div class="t m0 x21 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">3/3</div><div class="t m0 x1 hd y6d ff1 fs7 fc0 sc0 ls0 ws0">Common<span class="_ _7"> </span>error<span class="ff4">:<span class="_ _f"> </span>adding<span class="_ _13"> </span><span class="ff6">const<span class="_ _12"> </span></span>to<span class="_ _11"> </span>a<span class="_ _11"> </span>p<span class="_ _b"></span>ointer<span class="_ _11"> </span>is<span class="_ _11"> </span>not<span class="_ _11"> </span>the<span class="_ _11"> </span>same<span class="_ _11"> </span>as<span class="_ _11"> </span>adding<span class="_ _13"> </span><span class="ff6">const<span class="_ _13"> </span></span>to<span class="_ _a"> </span>a</span></div><div class="t m0 x1 hd y6e ff4 fs7 fc0 sc0 ls0 ws0">t<span class="_ _6"></span>yp<span class="_ _b"></span>e<span class="_ _11"> </span>alias<span class="_ _11"> </span>of<span class="_ _11"> </span>a<span class="_ _11"> </span>p<span class="_ _b"></span>ointer</div><div class="t m0 x1 he y28f ff5 fs8 fc7 sc0 ls0 ws0">using<span class="_"> </span><span class="ffc fc0">ptr_t<span class="_ _3b"> </span><span class="fc5">=<span class="_ _d"> </span></span></span><span class="fc4">int<span class="ffc fc5">*<span class="fc0">;</span></span></span></div><div class="t m0 x1 he y290 ff5 fs8 fc7 sc0 ls0 ws0">using<span class="_"> </span><span class="ffc fc0">const_ptr_t<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span></span>const<span class="_"> </span><span class="fc4">int<span class="ffc fc5">*<span class="fc0">;</span></span></span></div><div class="t m0 x1 he y291 ff5 fs8 fc4 sc0 ls0 ws0">void<span class="_"> </span><span class="ffc fc3">f1<span class="fc0">(</span></span><span class="fc7">const<span class="_"> </span></span>int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">ptr)<span class="_ _f"> </span>{<span class="_ _17"> </span><span class="ffd fc6">//<span class="_ _d"> </span>read<span class="_ _8"> </span>as<span class="_ _d"> </span><span class="fff">&apos;</span>(const<span class="_ _f"> </span>int)*<span class="fff">&apos;</span></span></span></span></div><div class="t m0 x1 hf y292 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _14"> </span>ptr[0]<span class="_ _f"> </span>=<span class="_ _f"> </span>0;<span class="_ _1c"> </span>//<span class="_ _f"> </span><span class="ffe">not<span class="_ _e"> </span>allow<span class="_ _c"></span>ed<span class="ffd">:<span class="_ _d"> </span>pointer<span class="_ _f"> </span>to<span class="_ _f"> </span>const<span class="_ _f"> </span>objects</span></span></div><div class="t m0 x22 he y293 ffc fs8 fc0 sc0 ls0 ws0">ptr<span class="_ _43"> </span><span class="fc5">=<span class="_ _d"> </span><span class="ff5 fc7">nullptr</span></span>;<span class="_ _3b"> </span><span class="ffd fc6">//<span class="_ _f"> </span>allowed</span></div><div class="t m0 x1 he y294 ffc fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 he y295 ff5 fs8 fc4 sc0 ls0 ws0">void<span class="_"> </span><span class="ffc fc3">f2<span class="fc0">(const_ptr_t<span class="_ _f"> </span>ptr)<span class="_ _f"> </span>{}<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _8"> </span>same<span class="_ _d"> </span>as<span class="_ _f"> </span>before</span></span></span></div><div class="t m0 x1 he y296 ff5 fs8 fc4 sc0 ls0 ws0">void<span class="_"> </span><span class="ffc fc3">f3<span class="fc0">(</span></span><span class="fc7">const<span class="_"> </span><span class="ffc fc0">ptr_t<span class="_ _f"> </span>ptr)<span class="_ _f"> </span>{<span class="_ _14"> </span><span class="ffd fc6">//<span class="_ _d"> </span><span class="fc8">warning!!<span class="_ _8"> </span></span>equal<span class="_ _d"> </span>to<span class="_ _f"> </span><span class="fff">&apos;</span>int*<span class="_ _f"> </span>const<span class="fff">&apos;</span></span></span></span></div><div class="t m0 x22 he y297 ffc fs8 fc0 sc0 ls0 ws0">ptr[<span class="fc5">0</span>]<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>0</span>;<span class="_ _1c"> </span><span class="ffd fc6">//<span class="_ _f"> </span>allowed!!</span></div><div class="t m0 x1 hf y298 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _14"> </span>ptr<span class="_ _43"> </span>=<span class="_ _d"> </span>nullptr;<span class="_ _3b"> </span>//<span class="_ _f"> </span><span class="ffe">not<span class="_ _e"> </span>allow<span class="_ _c"></span>ed<span class="ffd">:<span class="_ _d"> </span>const<span class="_ _f"> </span>pointer<span class="_ _f"> </span>to<span class="_ _f"> </span>modifiable<span class="_ _f"> </span>objects</span></span></div><div class="t m0 x1 he y299 ffc fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">64/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf48" class="pf w0 h0" data-page-no="48"><div class="pc pc48 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">constexpr<span class="_ _8"> </span><span class="ff1">Keywo<span class="_ _c"></span>rd</span></div><div class="t m0 xe h14 y29a ff5 fs7 fc1 sc0 ls0 ws0">constexpr<span class="_ _7"> </span><span class="ff1 fs4">(C++11)</span></div><div class="t m0 xe hd y29b ff6 fs7 fc3 sc0 ls0 ws0">constexpr<span class="_ _1e"> </span><span class="ff17 fs9 fc0"><span class="_ _11"> </span><span class="ff4 fs7">sp<span class="_ _b"></span>ecifier<span class="_ _11"> </span>declares<span class="_ _a"> </span>an<span class="_ _11"> </span>expression<span class="_ _a"> </span>that<span class="_ _11"> </span><span class="ff1">can<span class="_ _11"> </span></span>b<span class="_ _b"></span>e<span class="_ _11"> </span>evaluated<span class="_ _11"> </span>at</span></span></div><div class="t m0 xe hd y29c ff4 fs7 fc0 sc0 ls0 ws0">compile-time</div><div class="t m0 x11 hd y29d ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _1a"> </span><span class="ff5">constexpr<span class="_ _12"> </span><span class="ff4">can<span class="_ _7"> </span>imp<span class="_ _6"></span>rove<span class="_ _11"> </span>p<span class="_ _b"></span>erfo<span class="_ _6"></span>rmance<span class="_ _11"> </span>and<span class="_ _11"> </span>memory<span class="_ _a"> </span>usage</span></span></div><div class="t m0 x11 hd y10e ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _1a"> </span><span class="ff5">constexpr<span class="_ _12"> </span><span class="ff4">can<span class="_ _7"> </span>p<span class="_ _b"></span>otentially<span class="_ _11"> </span>impact<span class="_ _11"> </span>the<span class="_ _11"> </span>compilation<span class="_ _11"> </span>time</span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">65/104</div><a class="l" href="https://en.cppreference.com/w/cpp/language/constexpr"><div class="d m1" style="border-style:none;position:absolute;left:30.987000px;bottom:147.672000px;width:62.545000px;height:12.695000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf49" class="pf w0 h0" data-page-no="49"><div class="pc pc49 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">constexpr<span class="_ _8"> </span><span class="ff1">Va<span class="_ _c"></span>riables</span></div><div class="t m0 xe hd y29e ff5 fs7 fc1 sc0 ls0 ws0">constexpr<span class="_ _7"> </span><span class="ff1">Va<span class="_ _c"></span>riable</span></div><div class="t m0 xe hd y29f ff6 fs7 fc3 sc0 ls0 ws0">constexpr<span class="_ _11"> </span><span class="ff4 fc0">va<span class="_ _6"></span>riables<span class="_ _11"> </span>a<span class="_ _6"></span>re<span class="_ _11"> </span><span class="ff1">alw<span class="_ _6"></span>a<span class="_ _6"></span>ys<span class="_ _11"> </span><span class="ff4">evaluated<span class="_ _11"> </span>at<span class="_ _11"> </span>compile-time</span></span></span></div><div class="t m0 x11 hd y2a0 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _1a"> </span><span class="ff6">const<span class="_ _12"> </span><span class="ff4">guarantees<span class="_ _a"> </span>the<span class="_ _11"> </span>value<span class="_ _11"> </span>of<span class="_ _11"> </span>a<span class="_ _11"> </span>variable<span class="_ _a"> </span>cannot<span class="_ _11"> </span>change<span class="_ _11"> </span>after<span class="_ _11"> </span>the<span class="_ _11"> </span>initialization</span></span></div><div class="t m0 x11 hd y2a1 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _1a"> </span><span class="ff5">constexpr<span class="_ _12"> </span><span class="ff4">implies<span class="_ _13"> </span><span class="ff6">const</span></span></span></div><div class="t m0 x1 he y2a2 ff5 fs8 fc7 sc0 ls0 ws0">const<span class="_"> </span><span class="fc4">int<span class="_"> </span><span class="ffc fc0">v1<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>3</span>;<span class="_ _18"> </span><span class="ffd fc6">//<span class="_ _f"> </span>compile-time<span class="_ _d"> </span>evaluation</span></span></span></div><div class="t m0 x1 he y2a3 ff5 fs8 fc7 sc0 ls0 ws0">const<span class="_"> </span><span class="fc4">int<span class="_"> </span><span class="ffc fc0">v2<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>v1<span class="_ _d"> </span><span class="fc5">*<span class="_ _8"> </span>2</span>;<span class="_ _23"> </span><span class="ffd fc6">//<span class="_ _f"> </span>compile-time<span class="_ _f"> </span>evaluation</span></span></span></div><div class="t m0 x1 he y2a4 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_ _3b"> </span><span class="ffc fc0">a<span class="_ _14"> </span><span class="fc5">=<span class="_ _d"> </span>3</span>;<span class="_ _1f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>&quot;a&quot;<span class="_ _f"> </span>is<span class="_ _d"> </span>dynamic</span></span></div><div class="t m0 x1 he y2a5 ff5 fs8 fc7 sc0 ls0 ws0">const<span class="_"> </span><span class="fc4">int<span class="_"> </span><span class="ffc fc0">v3<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>a;<span class="_ _18"> </span><span class="ffd fc6">//<span class="_ _f"> </span><span class="ff15">run-time<span class="_ _d"> </span>evaluation!!</span></span></span></span></div><div class="t m0 x1 he y2a6 ff5 fs8 fc7 sc0 ls0 ws0">constexpr<span class="_"> </span><span class="fc4">int<span class="_"> </span><span class="ffc fc0">c1<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>v1;<span class="_ _23"> </span><span class="ffd fc6">//<span class="_ _f"> </span>ok</span></span></span></div><div class="t m0 x1 hf y2a7 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>constexpr<span class="_ _f"> </span>int<span class="_ _d"> </span>c2<span class="_ _8"> </span>=<span class="_ _d"> </span>v3;<span class="_ _f"> </span>//<span class="_ _f"> </span><span class="ffe">compile<span class="_ _e"> </span>error</span>,<span class="_ _8"> </span>&quot;v3&quot;<span class="_ _d"> </span>is<span class="_ _f"> </span>a<span class="_ _f"> </span>run-time<span class="_ _f"> </span>variable</div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">66/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf4a" class="pf w0 h0" data-page-no="4a"><div class="pc pc4a w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">constexpr<span class="_ _8"> </span><span class="ff1">Functions<span class="_ _4d"> </span>1/4</span></div><div class="t m0 xe hd y2a8 ff5 fs7 fc1 sc0 ls0 ws0">constexpr<span class="_ _7"> </span><span class="ff1">Function</span></div><div class="t m0 xe hd y2a9 ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _11"> </span><span class="ff6 fc3">constexpr<span class="_ _11"> </span></span><span class="ff1">function<span class="_ _11"> </span></span>can<span class="_ _11"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span>evaluated<span class="_ _11"> </span>at<span class="_ _11"> </span>compile-time<span class="_ _11"> </span>as<span class="_ _11"> </span>long<span class="_ _11"> </span>as</div><div class="t m0 x11 hd y2aa ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">all<span class="_ _11"> </span>its<span class="_ _11"> </span>a<span class="_ _6"></span>rguments<span class="_ _11"> </span>are<span class="_ _a"> </span>evaluated<span class="_ _11"> </span>at<span class="_ _11"> </span>compile-time</span></div><div class="t m0 x11 hd y2ab ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">the<span class="_ _11"> </span>context<span class="_ _11"> </span>of<span class="_ _11"> </span>the<span class="_ _11"> </span>return<span class="_ _11"> </span>value<span class="_ _11"> </span>requires<span class="_ _11"> </span>a<span class="_ _11"> </span>compile-time<span class="_ _11"> </span>constant</span></div><div class="t m0 x1 he y2ac ff5 fs8 fc7 sc0 ls0 ws0">constexpr<span class="_"> </span><span class="fc4">int<span class="_"> </span><span class="ffc fc3">square<span class="fc0">(</span></span>int<span class="_"> </span><span class="ffc fc0">value)<span class="_ _f"> </span>{<span class="_ _f"> </span></span></span>return<span class="_"> </span><span class="ffc fc0">value<span class="_ _d"> </span><span class="fc5">*<span class="_ _8"> </span></span>value;<span class="_ _d"> </span>}</span></div><div class="t m0 x1 he y2ad ff5 fs8 fc7 sc0 ls0 ws0">constexpr<span class="_"> </span><span class="fc4">int<span class="_"> </span><span class="ffc fc0">x<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>square(<span class="fc5">4</span>);<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _8"> </span>compile-time<span class="_ _d"> </span>evaluation,<span class="_ _f"> </span><span class="fff">&apos;</span>4<span class="fff">&apos;<span class="_ _f"> </span></span>is<span class="_ _f"> </span>a<span class="_ _f"> </span>literal</span></span></span></div><div class="t m0 x1 he y2ae ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_ _3c"> </span><span class="ffc fc0">y<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>square(<span class="fc5">4</span>);<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _d"> </span>run-time<span class="_ _8"> </span>evaluation,<span class="_ _d"> </span><span class="fff">&apos;</span>y<span class="fff">&apos;<span class="_ _f"> </span></span>is<span class="_ _f"> </span>a<span class="_ _f"> </span>run-time<span class="_ _f"> </span>value</span></span></div><div class="t m0 x1 he y2af ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_ _3c"> </span><span class="ffc fc0">a<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>4</span>;</span></div><div class="t m0 x1 he y2b0 ffc fs8 fc0 sc0 ls0 ws0">square(a);<span class="_ _4e"> </span><span class="ffd fc6">//<span class="_ _f"> </span>run-time<span class="_ _f"> </span>evaluation,<span class="_ _d"> </span><span class="fff">&apos;</span>a<span class="fff">&apos;<span class="_ _8"> </span></span>is<span class="_ _d"> </span>a<span class="_ _f"> </span>run-time<span class="_ _f"> </span>value</span></div><div class="t m0 x11 h6 y2b1 ffb fs4 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4 fca">C++11<span class="fc0">:<span class="_ _8"> </span>must<span class="_ _a"> </span>contain<span class="_ _a"> </span>exactly<span class="_ _a"> </span>one<span class="_ _12"> </span><span class="ff6">return<span class="_ _12"> </span></span>statement,<span class="_ _e"> </span>and<span class="_ _a"> </span>no<span class="_ _a"> </span>lo<span class="_ _b"></span>ops<span class="_ _a"> </span>or<span class="_ _4f"> </span><span class="ff6">switch</span></span></span></div><div class="t m0 x11 h6 y2b2 ffb fs4 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4 fca">C++14<span class="fc0">:<span class="_ _8"> </span>no<span class="_ _a"> </span>restrictions</span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">67/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf4b" class="pf w0 h0" data-page-no="4b"><div class="pc pc4b w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">constexpr<span class="_ _8"> </span><span class="ff1">Functions<span class="_ _8"> </span>-<span class="_ _8"> </span>Constraints<span class="_ _50"> </span>2/4</span></div><div class="t m0 x1 hd y2b3 ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _12"> </span><span class="ff5">constexpr<span class="_ _13"> </span></span>function<span class="_ _11"> </span>is<span class="_ _11"> </span>alwa<span class="_ _c"></span>ys<span class="_ _11"> </span><span class="ffa">evaluated<span class="_ _11"> </span>at<span class="_ _11"> </span>run-time<span class="_ _8"> </span></span>if:</div><div class="t m0 x11 hd y2b4 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">contains<span class="_ _11"> </span>run-time<span class="_ _11"> </span>a<span class="_ _6"></span>rguments<span class="_ _11"> </span>with<span class="_ _11"> </span>a<span class="_ _11"> </span>lifetime<span class="_ _11"> </span>that<span class="_ _11"> </span>b<span class="_ _b"></span>egins<span class="_ _11"> </span>with<span class="_ _11"> </span>the<span class="_ _11"> </span>expression,<span class="_ _a"> </span>even</span></div><div class="t m0 x7 hd y2b5 ff4 fs7 fc0 sc0 ls0 ws0">if<span class="_ _11"> </span>the<span class="_ _11"> </span>function<span class="_ _11"> </span>do<span class="_ _b"></span>esnt<span class="_ _11"> </span>dep<span class="_ _b"></span>end<span class="_ _11"> </span>on<span class="_ _11"> </span>them<span class="_ _11"> </span><span class="ff6">(see<span class="_ _20"> </span>expr.const#4.7)<span class="_ _e"> </span><span class="ff17 fs9"></span></span></div><div class="t m0 x7 he y2b6 ff5 fs8 fc7 sc0 ls0 ws0">constexpr<span class="_"> </span><span class="fc4">int<span class="_"> </span><span class="ffc fc3">f<span class="fc0">(</span></span>int<span class="_ _14"> </span><span class="ffc fc0">v)<span class="_ _f"> </span>{<span class="_ _f"> </span></span></span>return<span class="_"> </span><span class="ffc fc5">3<span class="fc0">;<span class="_ _d"> </span>}</span></span></div><div class="t m0 x7 he y2b7 ff5 fs8 fc7 sc0 ls0 ws0">constexpr<span class="_"> </span><span class="fc4">int<span class="_"> </span><span class="ffc fc3">g<span class="fc0">(</span></span>int<span class="ffc fc5">&amp;<span class="_ _f"> </span><span class="fc0">v)<span class="_ _f"> </span>{<span class="_ _d"> </span></span></span></span>return<span class="_"> </span><span class="ffc fc5">3<span class="fc0">;<span class="_ _8"> </span>}</span></span></div><div class="t m0 x7 he y2b8 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">v<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>...</span></div><div class="t m0 x7 he y2b9 ffc fs8 fc0 sc0 ls0 ws0">f(v);<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>run-time<span class="_ _d"> </span>evaluation</span></div><div class="t m0 x7 he y2ba ffc fs8 fc0 sc0 ls0 ws0">g(v);<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>compile-time<span class="_ _d"> </span>evaluation<span class="_ _8"> </span>lifetime<span class="_ _d"> </span>of<span class="_ _f"> </span><span class="fff">&apos;</span>v<span class="fff">&apos;<span class="_ _f"> </span></span>began<span class="_ _f"> </span>outside<span class="_ _f"> </span>the<span class="_ _d"> </span>expression</span></div><div class="t m0 x11 hd y2bb ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">contains<span class="_ _11"> </span>references<span class="_ _11"> </span>to<span class="_ _11"> </span>run-time<span class="_ _11"> </span>global<span class="_ _11"> </span>va<span class="_ _6"></span>riables<span class="_ _11"> </span>(<span class="ffa">pure<span class="_ _11"> </span>function</span>)<span class="_ _11"> </span>or<span class="_ _a"> </span>run-time-only</span></div><div class="t m0 x7 hd y2bc ff4 fs7 fc0 sc0 ls0 ws0">functions</div><div class="t m0 x33 h6 y2bd ffb fs4 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">it<span class="_ _a"> </span>is<span class="_ _e"> </span>not<span class="_ _a"> </span>alwa<span class="_ _c"></span>ys<span class="_ _a"> </span>a<span class="_ _a"> </span>compile<span class="_ _a"> </span>error<span class="_ _e"> </span>dep<span class="_ _b"></span>ending<span class="_ _a"> </span>on<span class="_ _e"> </span>co<span class="_ _b"></span>de<span class="_ _a"> </span>complexity<span class="_ _e"> </span>and<span class="_ _a"> </span>compiler</span></div><div class="t m0 x33 h6 y2be ffb fs4 fc0 sc0 ls0 ws0">•<span class="_ _1a"> </span><span class="ff6">-Winvalid-constexpr<span class="_ _4f"> </span><span class="ff4">can<span class="_ _a"> </span>help<span class="_ _a"> </span>to<span class="_ _a"> </span>highlight<span class="_ _a"> </span>the<span class="_ _a"> </span>problem</span></span></div><div class="t m0 x33 h6 y2bf ffb fs4 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4 fca">C++23<span class="_ _a"> </span><span class="fc0">do<span class="_ _b"></span>esnt<span class="_ _e"> </span>allow<span class="_ _e"> </span>this<span class="_ _a"> </span>b<span class="_ _b"></span>ehavior</span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">68/104</div><a class="l" href="https://eel.is/c++draft/expr.const#4.7"><div class="d m1" style="border-style:none;position:absolute;left:231.835000px;bottom:158.359000px;width:125.545000px;height:11.992000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf4c" class="pf w0 h0" data-page-no="4c"><div class="pc pc4c w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">constexpr<span class="_ _8"> </span><span class="ff1">Functions<span class="_ _8"> </span>-<span class="_ _8"> </span>Relaxed<span class="_ _8"> </span>Limitations</span></div><div class="t m0 x46 h12 ya6 ff9 fs5 fc1 sc0 ls0 ws0">⋆</div><div class="t m0 x21 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">3/4</div><div class="t m0 x11 hd y78 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">cannot<span class="_ _11"> </span>contain<span class="_ _13"> </span><span class="ff6">assert()<span class="_ _12"> </span></span>until<span class="_ _11"> </span><span class="fca">C++14</span></span></div><div class="t m0 x11 hd y16f ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">cannot<span class="_ _11"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span>a<span class="_ _13"> </span><span class="ff6">virtual<span class="_ _12"> </span></span>memb<span class="_ _b"></span>er<span class="_ _11"> </span>function<span class="_ _11"> </span>or<span class="_ _a"> </span>a<span class="_ _11"> </span>destructor<span class="_ _12"> </span><span class="ff12"><span class="ff6">T<span class="_ _13"> </span></span></span>until<span class="_ _a"> </span><span class="fca">C++20</span></span></div><div class="t m0 x11 hd y2c0 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">cannot<span class="_ _11"> </span>contain<span class="_ _11"> </span>o<span class="_ _6"></span>r<span class="_ _13"> </span><span class="ff6">try-catch<span class="_ _12"> </span></span>blo<span class="_ _b"></span>cks<span class="_ _11"> </span>or<span class="_ _12"> </span><span class="ff6">asm<span class="_ _13"> </span></span>statements<span class="_ _a"> </span>until<span class="_ _11"> </span><span class="fca">C++20</span></span></div><div class="t m0 x11 hd y2c1 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">cannot<span class="_ _11"> </span>contain<span class="_ _13"> </span><span class="ff6">static<span class="_ _12"> </span></span>variables<span class="_ _a"> </span>or<span class="_ _12"> </span><span class="ff6">goto<span class="_ _13"> </span></span>until<span class="_ _a"> </span><span class="fca">C++23</span></span></div><div class="t m0 x11 hd y2c2 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">cannot<span class="_ _11"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span>a<span class="_ _11"> </span><span class="ffa">reference<span class="_ _8"> </span></span>to<span class="_ _11"> </span><span class="ffa">automatic<span class="_ _11"> </span>sto<span class="_ _6"></span>rage<span class="_ _8"> </span><span class="ff4">va<span class="_ _6"></span>riable<span class="_ _11"> </span>until<span class="_ _11"> </span><span class="fca">C++26</span>,<span class="_ _11"> </span><span class="ff6">P2686<span class="_ _e"> </span><span class="ff17 fs9"></span></span></span></span></span></div><div class="t m0 x11 hd y2c3 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">cannot<span class="_ _11"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span>a<span class="_ _11"> </span><span class="ffa">structure<span class="_ _11"> </span>binding<span class="_ _f"> </span></span>until<span class="_ _11"> </span><span class="fca">C++26</span>,<span class="_ _11"> </span><span class="ff6">P2686<span class="_ _e"> </span><span class="ff17 fs9"></span></span></span></div><div class="t m0 x11 hd y2c4 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">cannot<span class="_ _11"> </span>contain<span class="_ _11"> </span><span class="ffa">exceptions<span class="_ _f"> </span></span>until<span class="_ _a"> </span><span class="fca">C++26</span>,<span class="_ _4c"> </span><span class="ff6">P3068<span class="_ _e"> </span><span class="ff17 fs9"></span></span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">69/104</div><a class="l" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2686r4.pdf"><div class="d m1" style="border-style:none;position:absolute;left:354.626000px;bottom:85.442000px;width:39.636000px;height:11.689000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2686r4.pdf"><div class="d m1" style="border-style:none;position:absolute;left:254.490000px;bottom:55.912000px;width:39.637000px;height:11.690000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3068r4.html"><div class="d m1" style="border-style:none;position:absolute;left:241.306000px;bottom:26.383000px;width:39.636000px;height:11.690000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf4d" class="pf w0 h0" data-page-no="4d"><div class="pc pc4d w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">constexpr<span class="_ _8"> </span><span class="ff1">Functions<span class="_ _8"> </span>-<span class="_ _8"> </span>Strict<span class="_ _8"> </span>Limitations</span></div><div class="t m0 x2f h12 ya6 ff9 fs5 fc1 sc0 ls0 ws0">⋆</div><div class="t m0 x21 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">4/4</div><div class="t m0 x11 hd y2c5 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">cannot<span class="_ _11"> </span>contain<span class="_ _11"> </span><span class="ffa">R<span class="_ _6"></span>un-Time<span class="_ _11"> </span>T<span class="_ _4"></span>yp<span class="_ _b"></span>e<span class="_ _11"> </span>Information<span class="_ _11"> </span><span class="ff4">(RTTI)</span></span></span></div><div class="t m0 x11 hd y2c6 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">undefined<span class="_ _11"> </span>b<span class="_ _b"></span>ehavior<span class="_ _a"> </span>co<span class="_ _b"></span>de<span class="_ _11"> </span>is<span class="_ _11"> </span>not<span class="_ _11"> </span>allow<span class="_ _c"></span>ed,<span class="_ _11"> </span>e.g.<span class="_ _3"> </span><span class="ff6">reinterpret_cast<span class="_ _e"> </span></span>,<span class="_ _11"> </span>unsafe<span class="_ _11"> </span>usage</span></div><div class="t m0 x7 hd y2c7 ff4 fs7 fc0 sc0 ls0 ws0">of<span class="_ _12"> </span><span class="ff6">union<span class="_ _e"> </span></span>,<span class="_ _11"> </span>signed<span class="_ _11"> </span>integer<span class="_ _11"> </span>overflow,<span class="_ _a"> </span>etc.</div><div class="t m0 x11 hd y2c8 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">Assembly<span class="_ _11"> </span>statement<span class="_ _13"> </span><span class="ff6">asm</span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">70/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf4e" class="pf w0 h0" data-page-no="4e"><div class="pc pc4e w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIjElEQVR42u3YsWkDQRCG0Vtzg6NFNQhHrsAYxQZ1piZcjgMV4Q4cHRt5klOmXIKDOXivguXf5GPa28dpAgCAMn6vPy9WAACgGpEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAMBdy0wrAABQR0S4pAIAUI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAgGLmHb11jOHDttB7NwIAUIpLKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEA2LeWmVYAAKCOiHBJBQCgHJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAA2NK8o7eOMXwYAMBzeu87eq1LKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAItUEAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQCAB7TMtAIAAHVEhEsqAADliFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAB1zcvlaAUAeNTf17cRYCPvn+fWDq/r8j9N67oaBACAEm5CXSAAAmCazQAAAABJRU5ErkJggg=="/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">constexpr<span class="_ _8"> </span><span class="ff1">Objects</span></div><div class="t m0 x26 h12 ya6 ff9 fs5 fc1 sc0 ls0 ws0">⋆</div><div class="t m0 xe hd y6d ff6 fs7 fc0 sc0 ls0 ws0">constexpr<span class="_ _12"> </span><span class="ff4">objects<span class="_ _7"> </span>initialize<span class="_ _11"> </span>the<span class="_ _11"> </span><span class="ffa">internal<span class="_ _11"> </span>state<span class="_ _8"> </span></span>(set<span class="_ _a"> </span>of<span class="_ _7"> </span>memb<span class="_ _b"></span>er<span class="_ _11"> </span>va<span class="_ _6"></span>riables)<span class="_ _11"> </span>at</span></div><div class="t m0 x1 hd y6e ff4 fs7 fc0 sc0 ls0 ws0">compile-time</div><div class="t m0 x1 he y23c ff5 fs8 fc7 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc3">A<span class="_"> </span><span class="ffc fc0">{</span></span></div><div class="t m0 x22 he y23d ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">v;</span></div><div class="t m0 x22 he y23e ff5 fs8 fc7 sc0 ls0 ws0">constexpr<span class="_"> </span><span class="ffc fc0">A(</span><span class="fc4">int<span class="_"> </span><span class="ffc fc0">v1)<span class="_ _f"> </span><span class="fc5">:<span class="_ _f"> </span></span>v{v1<span class="_ _d"> </span><span class="fc5">*<span class="_ _8"> </span>2</span>}<span class="_ _d"> </span>{}</span></span></div><div class="t m0 x22 he y240 ff5 fs8 fc7 sc0 ls0 ws0">constexpr<span class="_"> </span><span class="fc4">int<span class="_"> </span><span class="ffc fc0">f(</span>int<span class="_"> </span><span class="ffc fc0">x)<span class="_ _f"> </span>{<span class="_ _f"> </span></span></span>return<span class="_"> </span><span class="ffc fc0">v<span class="_ _d"> </span><span class="fc5">*<span class="_ _8"> </span></span>x;<span class="_ _d"> </span>}<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>the<span class="_ _f"> </span>compile-time<span class="_ _f"> </span>evaluation<span class="_ _d"> </span>of<span class="_ _f"> </span><span class="fff">&apos;</span>f<span class="fff">&apos;</span></span></span></div><div class="t m0 x1 he y241 ffc fs8 fc0 sc0 ls0 ws0">};<span class="_ _51"> </span><span class="ffd fc6">//<span class="_ _f"> </span>depends<span class="_ _f"> </span>on<span class="_ _d"> </span>both<span class="_ _8"> </span>the<span class="_ _d"> </span>internal<span class="_ _f"> </span>state</span></div><div class="t m0 x1c he y242 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span><span class="fff">&apos;</span>v<span class="fff">&apos;<span class="_ _f"> </span></span>and<span class="_ _d"> </span>the<span class="_ _8"> </span>parameter<span class="_ _d"> </span><span class="fff">&apos;</span>x<span class="fff">&apos;</span></div><div class="t m0 x1c he y243 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>(see<span class="_ _f"> </span>next<span class="_ _d"> </span>slide)</div><div class="t m0 x1 he y244 ff5 fs8 fc7 sc0 ls0 ws0">constexpr<span class="_"> </span><span class="ffc fc0">A<span class="_ _f"> </span>a{<span class="fc5">3</span>};</span></div><div class="t m0 x1 he y246 ff5 fs8 fc7 sc0 ls0 ws0">constexpr<span class="_"> </span><span class="fc4">int<span class="_ _14"> </span><span class="ffc fc0">V<span class="_ _19"> </span><span class="fc5">=<span class="_ _f"> </span>3</span>;</span></span></div><div class="t m0 x1 he y247 ff5 fs8 fc7 sc0 ls0 ws0">constexpr<span class="_"> </span>auto<span class="_"> </span><span class="ffc fc0">lambda<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>[](</span><span class="fc4">int<span class="_"> </span><span class="ffc fc0">x)<span class="_ _d"> </span>{<span class="_ _8"> </span></span></span>return<span class="_"> </span><span class="ffc fc0">V<span class="_ _d"> </span><span class="fc5">*<span class="_ _f"> </span></span>x;<span class="_ _f"> </span>};<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>C++17</span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">71/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf4f" class="pf w0 h0" data-page-no="4f"><div class="pc pc4f w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">constexpr<span class="_ _8"> </span><span class="ff1">Memb<span class="_ _b"></span>er<span class="_ _f"> </span>F<span class="_ _c"></span>unctions</span></div><div class="t m0 x47 h12 ya6 ff9 fs5 fc1 sc0 ls0 ws0">⋆</div><div class="t m0 xe hd y6d ff6 fs7 fc0 sc0 ls0 ws0">constexpr<span class="_ _12"> </span><span class="ffa">non-static<span class="_ _7"> </span>memb<span class="_ _b"></span>er<span class="_ _11"> </span>functions<span class="_ _f"> </span><span class="ff4">of<span class="_ _a"> </span>run-time<span class="_ _11"> </span>objects<span class="_ _11"> </span>cannot<span class="_ _11"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span>used<span class="_ _11"> </span>at</span></span></div><div class="t m0 x1 hd y6e ff4 fs7 fc0 sc0 ls0 ws0">compile-time<span class="_ _11"> </span>if<span class="_ _11"> </span>they<span class="_ _11"> </span>contain<span class="_ _11"> </span>data<span class="_ _11"> </span>memb<span class="_ _b"></span>ers<span class="_ _11"> </span>o<span class="_ _6"></span>r<span class="_ _11"> </span>non-compile-time<span class="_ _11"> </span>functions</div><div class="t m0 x1 h6 y2c9 ffa fs4 fc0 sc0 ls0 ws0">Note<span class="_ _0"></span><span class="ff4">:<span class="_ _4c"> </span><span class="ff6">static<span class="_ _d"> </span>constexpr<span class="_ _4f"> </span></span></span>memb<span class="_ _b"></span>er<span class="_ _a"> </span>functions<span class="_ _8"> </span><span class="ff4">dont<span class="_ _e"> </span>present<span class="_ _e"> </span>this<span class="_ _a"> </span>issue<span class="_ _a"> </span>b<span class="_ _b"></span>ecause<span class="_ _a"> </span>they<span class="_ _e"> </span>dont</span></div><div class="t m0 x1 h6 y2ca ff4 fs4 fc0 sc0 ls0 ws0">dep<span class="_ _b"></span>end<span class="_ _e"> </span>on<span class="_ _a"> </span>a<span class="_ _a"> </span>sp<span class="_ _b"></span>ecific<span class="_ _a"> </span>instance</div><div class="t m0 x1 he y2cb ff5 fs8 fc7 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc3">A<span class="_"> </span><span class="ffc fc0">{</span></span></div><div class="t m0 x22 he y2cc ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">v<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>3</span>;</span></div><div class="t m0 x22 he y2cd ff5 fs8 fc7 sc0 ls0 ws0">constexpr<span class="_"> </span><span class="fc4">int<span class="_ _2a"> </span><span class="ffc fc3">f<span class="fc0">()<span class="_ _d"> </span></span></span></span>const<span class="_"> </span><span class="ffc fc0">{<span class="_ _f"> </span></span>return<span class="_"> </span><span class="ffc fc0">v;<span class="_ _f"> </span>}</span></div><div class="t m0 x22 he y2ce ff5 fs8 fc7 sc0 ls0 ws0">static<span class="_"> </span>constexpr<span class="_"> </span><span class="fc4">int<span class="_"> </span><span class="ffc fc3">g<span class="fc0">()<span class="_ _3b"> </span>{<span class="_ _d"> </span></span></span></span>return<span class="_"> </span><span class="ffc fc5">3<span class="fc0">;<span class="_ _f"> </span>}</span></span></div><div class="t m0 x1 he y2cf ffc fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 he y2d0 ffc fs8 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span>a1;</div><div class="t m0 x1 he y2d1 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>constexpr<span class="_ _f"> </span>int<span class="_ _d"> </span>x<span class="_ _8"> </span>=<span class="_ _d"> </span>a1.f();<span class="_ _f"> </span>//<span class="_ _f"> </span>compile<span class="_ _f"> </span>error,<span class="_ _f"> </span>f()<span class="_ _d"> </span>is<span class="_ _f"> </span>evaluated<span class="_ _f"> </span>at<span class="_ _f"> </span>run-time</div><div class="t m0 x1 he y2d2 ff5 fs8 fc7 sc0 ls0 ws0">constexpr<span class="_ _43"> </span><span class="fc4">int<span class="_"> </span><span class="ffc fc0">y<span class="_ _d"> </span><span class="fc5">=<span class="_ _f"> </span></span>a1.g();<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>ok,<span class="_ _f"> </span>same<span class="_ _d"> </span>as<span class="_ _8"> </span><span class="fff">&apos;</span>A::g()<span class="fff">&apos;</span></span></span></span></div><div class="t m0 x1 he y2d3 ff5 fs8 fc7 sc0 ls0 ws0">constexpr<span class="_ _43"> </span><span class="ffc fc0">A<span class="_ _17"> </span>a2;</span></div><div class="t m0 x1 he y2d4 ff5 fs8 fc7 sc0 ls0 ws0">constexpr<span class="_ _43"> </span><span class="fc4">int<span class="_"> </span><span class="ffc fc0">x<span class="_ _d"> </span><span class="fc5">=<span class="_ _f"> </span></span>a2.f();<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>ok</span></span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">72/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf50" class="pf w0 h0" data-page-no="50"><div class="pc pc50 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAI7klEQVR42u3ZsUlEQRCA4XvyFqPFGsToKhAVAwPBRNBargij68AixMDUQAOxARM7MDo2cvB4BoKhykOP3fP7Khhmkp/dbmf3YAIAANV4frjfsAUAAGojUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAA+NRFhC0AAFCPlJKXVAAAqiNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAwP/WNzTr9PDIwQAAxnm6u21oWi+pAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAGC9dRHRyqylFAcDABgn59zKqCklL6kAAFRHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAIC69VYArI235XL/9NweoF2PN9eWwIcuIlqZtZTiYAAA4+ScWxk1peS7HwCA6ohUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgDAV7qIsAUAAOqRUvKSCgBAdUQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAMAv6huatZTiYAAA4+ScG5rWSyoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACLVCgAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAD4qd4KqMHZfG4JK3Y1m1kCANXqIqKVWUspDgYAME7OuZVRU0q++wEAqI5IBQCgOi199wMA8B/47gcAoEYiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAAH+lX1xs2wIArMbL8aUlwLemeyddt7U5LF4nk2EYLAQAgCq8A4IOOvgU6hiKAAAAAElFTkSuQmCC"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">consteval<span class="_ _8"> </span><span class="ff1">Keywo<span class="_ _c"></span>rd</span></div><div class="t m0 xe h14 y2d5 ff5 fs7 fc1 sc0 ls0 ws0">consteval<span class="_ _7"> </span><span class="ff1 fs4">(C++20)</span></div><div class="t m0 xe hd y2d6 ff6 fs7 fc3 sc0 ls0 ws0">consteval<span class="_ _1e"> </span><span class="ff17 fs9 fc0"><span class="ff4 fs7">,<span class="_ _11"> </span>or<span class="_ _a"> </span><span class="ffa">immediate<span class="_ _11"> </span>function</span>,<span class="_ _11"> </span>guarantees<span class="_ _a"> </span>compile-time<span class="_ _11"> </span>evaluation.</span></span></div><div class="t m0 xe hd y2d7 ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _11"> </span>run-time<span class="_ _11"> </span>value<span class="_ _11"> </span>alw<span class="_ _6"></span>a<span class="_ _6"></span>ys<span class="_ _11"> </span>produces<span class="_ _11"> </span>a<span class="_ _11"> </span>compile<span class="_ _11"> </span>error</div><div class="t m0 x1 he y2d8 ff5 fs8 fc7 sc0 ls0 ws0">consteval<span class="_"> </span><span class="fc4">int<span class="_"> </span><span class="ffc fc3">square<span class="fc0">(</span></span>int<span class="_"> </span><span class="ffc fc0">value)<span class="_ _f"> </span>{</span></span></div><div class="t m0 x22 he y2d9 ff5 fs8 fc7 sc0 ls0 ws0">return<span class="_"> </span><span class="ffc fc0">value<span class="_ _f"> </span><span class="fc5">*<span class="_ _f"> </span></span>value;</span></div><div class="t m0 x1 he y2da ffc fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 he y2db ffc fs8 fc0 sc0 ls0 ws0">square(<span class="fc5">4</span>);<span class="_ _43"> </span><span class="ffd fc6">//<span class="_ _d"> </span>compile-time<span class="_ _f"> </span>evaluation</span></div><div class="t m0 x1 he y2dc ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">v<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>4</span>;<span class="_ _23"> </span><span class="ffd fc6">//<span class="_ _f"> </span>&quot;v&quot;<span class="_ _f"> </span>is<span class="_ _f"> </span>at<span class="_ _d"> </span>run-time</span></span></div><div class="t m0 x1 he y2dd ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>square(v);<span class="_ _f"> </span>//<span class="_ _d"> </span>compile<span class="_ _8"> </span>error</div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">73/104</div><a class="l" href="https://en.cppreference.com/w/cpp/language/consteval"><div class="d m1" style="border-style:none;position:absolute;left:30.987000px;bottom:177.731000px;width:62.545000px;height:12.694000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf51" class="pf w0 h0" data-page-no="51"><div class="pc pc51 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">constinit<span class="_ _8"> </span><span class="ff1">Keywo<span class="_ _c"></span>rd</span></div><div class="t m0 xe h14 y29e ff5 fs7 fc1 sc0 ls0 ws0">constinit<span class="_ _7"> </span><span class="ff1 fs4">(C++20)</span></div><div class="t m0 xe hd y29f ff6 fs7 fc3 sc0 ls0 ws0">constinit<span class="_ _1e"> </span><span class="ff17 fs9 fc0"><span class="_ _11"> </span><span class="ff4 fs7">guarantees<span class="_ _a"> </span>compile-time<span class="_ _11"> </span>initialization<span class="_ _11"> </span>of<span class="_ _11"> </span>a<span class="_ _11"> </span>variable.<span class="_ _f"> </span>A<span class="_ _11"> </span>run-time</span></span></div><div class="t m0 xe hd y2de ff4 fs7 fc0 sc0 ls0 ws0">initialization<span class="_ _11"> </span>value<span class="_ _11"> </span>alw<span class="_ _6"></span>a<span class="_ _6"></span>ys<span class="_ _11"> </span>produces<span class="_ _11"> </span>a<span class="_ _11"> </span>compile<span class="_ _11"> </span>error</div><div class="t m0 x11 h6 y2df ffb fs4 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">The<span class="_ _a"> </span>value<span class="_ _e"> </span>of<span class="_ _a"> </span>a<span class="_ _a"> </span>variable<span class="_ _e"> </span>can<span class="_ _a"> </span>change<span class="_ _a"> </span>during<span class="_ _e"> </span>the<span class="_ _a"> </span>execution</span></div><div class="t m0 x11 h6 y2e0 ffb fs4 fc0 sc0 ls0 ws0">•<span class="_ _1a"> </span><span class="ff6">const<span class="_ _d"> </span>constinit<span class="_ _12"> </span><span class="ff4">do<span class="_ _b"></span>es<span class="_ _a"> </span>not<span class="_ _e"> </span>imply<span class="_ _12"> </span></span>constexpr<span class="_ _e"> </span><span class="ff4">,<span class="_ _a"> </span>while<span class="_ _a"> </span>the<span class="_ _e"> </span>opp<span class="_ _b"></span>osite<span class="_ _a"> </span>is<span class="_ _a"> </span>true</span></span></div><div class="t m0 x1 he y2e1 ff5 fs8 fc7 sc0 ls0 ws0">constexpr<span class="_"> </span><span class="fc4">int<span class="_"> </span><span class="ffc fc3">square<span class="fc0">(</span></span>int<span class="_"> </span><span class="ffc fc0">value)<span class="_ _f"> </span>{</span></span></div><div class="t m0 x22 he y2e2 ff5 fs8 fc7 sc0 ls0 ws0">return<span class="_"> </span><span class="ffc fc0">value<span class="_ _f"> </span><span class="fc5">*<span class="_ _f"> </span></span>value;</span></div><div class="t m0 x1 he y2e3 ffc fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 he y2e4 ff5 fs8 fc7 sc0 ls0 ws0">constinit<span class="_"> </span><span class="fc4">int<span class="_"> </span><span class="ffc fc0">v1<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>square(<span class="fc5">4</span>);<span class="_ _23"> </span><span class="ffd fc6">//<span class="_ _f"> </span>compile-time<span class="_ _f"> </span>evaluation</span></span></span></div><div class="t m0 x1 he y2e5 ffc fs8 fc0 sc0 ls0 ws0">v1<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>3</span>;<span class="_ _29"> </span><span class="ffd fc6">//<span class="_ _d"> </span>ok,<span class="_ _8"> </span>v1<span class="_ _d"> </span>can<span class="_ _f"> </span>change</span></div><div class="t m0 x1 he y2e6 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">a<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>4</span>;<span class="_ _52"> </span><span class="ffd fc6">//<span class="_ _f"> </span>&quot;v&quot;<span class="_ _f"> </span>is<span class="_ _d"> </span>dynamic</span></span></div><div class="t m0 x1 he y2e7 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>constinit<span class="_ _f"> </span>int<span class="_ _d"> </span>v2<span class="_ _8"> </span>=<span class="_ _d"> </span>square(a);<span class="_ _f"> </span>//<span class="_ _f"> </span>compile<span class="_ _f"> </span>error</div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">74/104</div><a class="l" href="https://en.cppreference.com/w/cpp/language/constinit"><div class="d m1" style="border-style:none;position:absolute;left:30.987000px;bottom:187.303000px;width:62.545000px;height:12.694000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf52" class="pf w0 h0" data-page-no="52"><div class="pc pc52 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x10 h2 y25e ff1 fs0 fc0 sc0 ls0 ws0">Conditional<span class="_ _1"> </span>Constant</div><div class="t m0 x10 h2 y25f ff1 fs0 fc0 sc0 ls0 ws0">Exp<span class="_ _4"></span>ressions</div><a class="l" href="#pf52" data-dest-detail='[82,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:154.437000px;width:241.993000px;height:19.206000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf52" data-dest-detail='[82,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:115.247000px;width:130.569000px;height:24.025000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf53" class="pf w0 h0" data-page-no="53"><div class="pc pc53 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h17 y7 ff5 fs3 fc1 sc0 ls0 ws0">if<span class="_"> </span>constexpr</div><div class="t m0 x1 hd y2e8 ff6 fs7 fc3 sc0 ls0 ws0">if<span class="_ _20"> </span>constexpr<span class="_ _1e"> </span><span class="ff17 fs9 fc0"><span class="_ _11"> </span></span><span class="ff4 fca">C++17<span class="_ _11"> </span><span class="fc0">allows<span class="_ _a"> </span>to<span class="_ _11"> </span><span class="ffa">conditionally<span class="_ _d"> </span></span>compile<span class="_ _a"> </span>co<span class="_ _b"></span>de<span class="_ _11"> </span>based<span class="_ _11"> </span>on<span class="_ _11"> </span>a</span></span></div><div class="t m0 x1 hd y2e9 ffa fs7 fc0 sc0 ls0 ws0">compile-time<span class="_ _8"> </span><span class="ff4">p<span class="_ _6"></span>redicate</span></div><div class="t m0 x1 hd y2ea ff4 fs7 fc0 sc0 ls0 ws0">The<span class="_ _12"> </span><span class="ff5">if<span class="_"> </span>constexpr<span class="_ _13"> </span></span>statement<span class="_ _11"> </span>forces<span class="_ _a"> </span>the<span class="_ _11"> </span>compiler<span class="_ _11"> </span>to<span class="_ _11"> </span>evaluate<span class="_ _11"> </span>the<span class="_ _11"> </span>branch<span class="_ _a"> </span>at</div><div class="t m0 x1 hd y2eb ff4 fs7 fc0 sc0 ls0 ws0">compile-time<span class="_ _11"> </span>(simila<span class="_ _6"></span>rly<span class="_ _11"> </span>to<span class="_ _11"> </span>the<span class="_ _13"> </span><span class="ff6">#if<span class="_ _12"> </span></span>prep<span class="_ _c"></span>ro<span class="_ _b"></span>cessor)</div><div class="t m0 x1 he y2ec ff5 fs8 fc7 sc0 ls0 ws0">auto<span class="_"> </span><span class="ffc fc0">f()<span class="_ _f"> </span>{</span></div><div class="t m0 x22 he y2ed ff5 fs8 fc7 sc0 ls0 ws0">if<span class="_"> </span>constexpr<span class="_"> </span><span class="ffc fc0">(</span>sizeof<span class="ffc fc0">(</span><span class="fc4">void<span class="ffc fc5">*<span class="fc0">)<span class="_ _f"> </span></span>==<span class="_ _f"> </span>8<span class="fc0">)</span></span></span></div><div class="t m0 x1a he y2ee ff5 fs8 fc7 sc0 ls0 ws0">return<span class="_"> </span><span class="ffc fcd">&quot;hello&quot;<span class="fc0">;<span class="_ _37"> </span><span class="ffd fc6">//<span class="_ _f"> </span><span class="ff15">const<span class="_ _f"> </span>char*</span></span></span></span></div><div class="t m0 x22 h18 y2ef ff5 fs8 fc7 sc0 ls0 ws0">else</div><div class="t m0 x1a he y2f0 ff5 fs8 fc7 sc0 ls0 ws0">return<span class="_"> </span><span class="ffc fc5">3<span class="fc0">;<span class="_ _38"> </span><span class="ffd fc6">//<span class="_ _d"> </span><span class="ff15">int</span>,<span class="_ _f"> </span>never<span class="_ _f"> </span>compiled</span></span></span></div><div class="t m0 x1 he y2f1 ffc fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 h6 y2f2 ffa fs4 fc0 sc0 ls0 ws0">Note:<span class="_ _f"> </span><span class="ff4">T<span class="_ _4"></span>ernary<span class="_ _e"> </span>(conditional)<span class="_ _a"> </span>op<span class="_ _b"></span>erator<span class="_ _e"> </span>do<span class="_ _b"></span>es<span class="_ _a"> </span>not<span class="_ _e"> </span>provide<span class="_ _4f"> </span><span class="ff6">constexpr<span class="_ _12"> </span></span>variant</span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">75/104</div><a class="l" href="https://en.cppreference.com/w/cpp/language/if"><div class="d m1" style="border-style:none;position:absolute;left:27.350000px;bottom:200.332000px;width:79.728000px;height:11.993000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf54" class="pf w0 h0" data-page-no="54"><div class="pc pc54 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">if<span class="_"> </span>constexpr<span class="_ _8"> </span><span class="ff1">Example</span></div><div class="t m0 x1 he y178 ff5 fs8 fc7 sc0 ls0 ws0">constexpr<span class="_"> </span><span class="fc4">int<span class="_"> </span><span class="ffc fc3">fib<span class="fc0">(</span></span>int<span class="_"> </span><span class="ffc fc0">n)<span class="_ _f"> </span>{</span></span></div><div class="t m0 x22 he y213 ff5 fs8 fc7 sc0 ls0 ws0">return<span class="_"> </span><span class="ffc fc0">(n<span class="_ _f"> </span><span class="fc5">==<span class="_ _f"> </span>0<span class="_ _d"> </span>||<span class="_ _8"> </span></span>n<span class="_ _d"> </span><span class="fc5">==<span class="_ _f"> </span>1</span>)<span class="_ _f"> </span><span class="fc5">?<span class="_ _f"> </span>1<span class="_ _f"> </span>:<span class="_ _d"> </span></span>fib(n<span class="_ _f"> </span><span class="fc5">-<span class="_ _f"> </span>1</span>)<span class="_ _f"> </span><span class="fc5">+<span class="_ _f"> </span></span>fib(n<span class="_ _d"> </span><span class="fc5">-<span class="_ _f"> </span>2</span>);</span></div><div class="t m0 x1 he y17a ffc fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 he y215 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc3">main<span class="fc0">()<span class="_ _f"> </span>{</span></span></div><div class="t m0 x22 he y2f3 ff5 fs8 fc7 sc0 ls0 ws0">if<span class="_"> </span>constexpr<span class="_"> </span><span class="ffc fc0">(</span>sizeof<span class="ffc fc0">(</span><span class="fc4">void<span class="ffc fc5">*<span class="fc0">)<span class="_ _f"> </span></span>==<span class="_ _f"> </span>8<span class="fc0">)</span></span></span></div><div class="t m0 x1a he y216 ff5 fs8 fc7 sc0 ls0 ws0">return<span class="_"> </span><span class="ffc fc0">fib(<span class="fc5">5</span>);</span></div><div class="t m0 x22 h18 y217 ff5 fs8 fc7 sc0 ls0 ws0">else</div><div class="t m0 x1a he y2f4 ff5 fs8 fc7 sc0 ls0 ws0">return<span class="_"> </span><span class="ffc fc0">fib(<span class="fc5">3</span>);</span></div><div class="t m0 x1 he y218 ffc fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 h10 y2f5 ff13 fs8 fc0 sc0 ls0 ws0">Generated<span class="_ _e"> </span>assembly<span class="_ _1e"> </span>co<span class="_ _b"></span>de<span class="_ _e"> </span>(<span class="ffc">x64<span class="_ _e"> </span></span>OS):</div><div class="t m0 x1 he y2f6 ffc fs8 fce sc0 ls0 ws0">main:</div><div class="t m0 x22 he y2f7 ffc fs8 fc3 sc0 ls0 ws0">mov<span class="_ _f"> </span><span class="fcf">eax<span class="fc0">,<span class="_ _f"> </span><span class="fc5">8</span></span></span></div><div class="t m0 x22 he y2f8 ffc fs8 fc3 sc0 ls0 ws0">ret</div><div class="t m0 x11 h10 y2f9 ff13 fs8 fcc sc0 ls0 ws0">A<span class="_ _6"></span>dvanced<span class="_ _e"> </span>example:<span class="_ _7"> </span><span class="ffc">C++17<span class="_ _d"> </span>Compile-time<span class="_ _f"> </span>Quick-Sort</span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">76/104</div><a class="l" href="https://godbolt.org/z/wtsYKF"><div class="d m1" style="border-style:none;position:absolute;left:112.645000px;bottom:3.489000px;width:138.505000px;height:13.444000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf55" class="pf w0 h0" data-page-no="55"><div class="pc pc55 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">if<span class="_"> </span>constexpr<span class="_ _8"> </span><span class="ff1">Pitfalls</span></div><div class="t m0 xe hd y6d ff5 fs7 fc0 sc0 ls0 ws0">if<span class="_"> </span>constexpr<span class="_ _12"> </span><span class="ff4">only<span class="_ _7"> </span>w<span class="_ _6"></span>o<span class="_ _6"></span>rks<span class="_ _11"> </span>with<span class="_ _11"> </span><span class="ffa">explicit<span class="_ _4c"> </span><span class="ff6">if/else<span class="_ _13"> </span></span></span>statements</span></div><div class="t m0 x1 he y2fa ff5 fs8 fc7 sc0 ls0 ws0">auto<span class="_"> </span><span class="ffc fc0">f1()<span class="_ _f"> </span>{</span></div><div class="t m0 x22 he y2fb ff5 fs8 fc7 sc0 ls0 ws0">if<span class="_"> </span>constexpr<span class="_"> </span><span class="ffc fc0">(my_constexpr_fun()<span class="_ _f"> </span><span class="fc5">==<span class="_ _f"> </span>1</span>)</span></div><div class="t m0 x1a he y2fc ff5 fs8 fc7 sc0 ls0 ws0">return<span class="_"> </span><span class="ffc fc5">1<span class="fc0">;</span></span></div><div class="t m0 x1 he y2fd ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _14"> </span>return<span class="_ _f"> </span>2.0;<span class="_ _f"> </span>compile<span class="_ _d"> </span>error<span class="_ _17"> </span>//<span class="_ _8"> </span>this<span class="_ _d"> </span>is<span class="_ _f"> </span>not<span class="_ _f"> </span>part<span class="_ _f"> </span>of<span class="_ _f"> </span>if<span class="_ _d"> </span>constexpr</div><div class="t m0 x1 he y2fe ffc fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xe hd y2ff ff6 fs7 fc0 sc0 ls0 ws0">else<span class="_ _20"> </span>if<span class="_ _12"> </span><span class="ff4">branch<span class="_ _a"> </span>requires<span class="_ _13"> </span><span class="ff5">constexpr</span></span></div><div class="t m0 x1 he y300 ff5 fs8 fc7 sc0 ls0 ws0">auto<span class="_"> </span><span class="ffc fc0">f2()<span class="_ _f"> </span>{</span></div><div class="t m0 x22 he y301 ff5 fs8 fc7 sc0 ls0 ws0">if<span class="_"> </span>constexpr<span class="_"> </span><span class="ffc fc0">(my_constexpr_fun()<span class="_ _f"> </span><span class="fc5">==<span class="_ _f"> </span>1</span>)</span></div><div class="t m0 x1a he y302 ff5 fs8 fc7 sc0 ls0 ws0">return<span class="_"> </span><span class="ffc fc5">1<span class="fc0">;</span></span></div><div class="t m0 x22 he y303 ff5 fs8 fc7 sc0 ls0 ws0">else<span class="_"> </span>if<span class="_"> </span><span class="ffc fc0">(my_constexpr_fun()<span class="_ _f"> </span><span class="fc5">==<span class="_ _f"> </span>2</span>)<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _8"> </span><span class="ff15">-&gt;<span class="_ _d"> </span>else<span class="_ _f"> </span>if<span class="_ _f"> </span>constexpr</span></span></span></div><div class="t m0 x1 he y304 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _19"> </span>return<span class="_ _f"> </span>2.0;<span class="_ _f"> </span>compile<span class="_ _d"> </span>error<span class="_ _16"> </span>//<span class="_ _8"> </span>this<span class="_ _d"> </span>is<span class="_ _f"> </span>not<span class="_ _f"> </span>part<span class="_ _f"> </span>of<span class="_ _f"> </span>constexpr</div><div class="t m0 x22 h18 y305 ff5 fs8 fc7 sc0 ls0 ws0">else</div><div class="t m0 x1a he y306 ff5 fs8 fc7 sc0 ls0 ws0">return<span class="_"> </span><span class="ffc fc5">3L<span class="fc0">;</span></span></div><div class="t m0 x1 he y307 ffc fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">77/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf56" class="pf w0 h0" data-page-no="56"><div class="pc pc56 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIjklEQVR42u3YsU0DQRCG0Vt0I0cr14CIqMCyiJHcmZugHAKKoAMiayMmOWfkWCcxZ96rYPVv8mna0+FlAgCAMj4/3h+sAABANSIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAIAfLTOtAABAHRHhkgoAQDkiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAPduNgF/boxhBLhjvXcjAL/lkgoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACsqmWmFQAAqCMiXFIBAChHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAArGje0FvHGD4MAOA2vfcNvdYlFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkWoCAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAYMtaZloBAIA6IsIlFQCAckQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQCA282X86MVAOCf+Hp9MwL1PR9Pre13y+V7mpZlMQgAACVcAeJvIABhbppYAAAAAElFTkSuQmCC"/><div class="t m0 x5 h17 y7 ff5 fs3 fc1 sc0 ls0 ws0">std::is_constant_evaluated()</div><div class="t m0 x1 hd y6d ff4 fs7 fca sc0 ls0 ws0">C++20<span class="_ _11"> </span><span class="fc0">p<span class="_ _6"></span>rovides<span class="_ _13"> </span><span class="ff5">std::is_constant_evaluated()<span class="_"> </span><span class="ff17 fs9"><span class="_ _11"> </span></span></span>utility<span class="_ _a"> </span>to<span class="_ _11"> </span>evaluate<span class="_ _11"> </span>if<span class="_ _11"> </span>the</span></div><div class="t m0 x1 hd y6e ff4 fs7 fc0 sc0 ls0 ws0">current<span class="_ _11"> </span>function<span class="_ _11"> </span>is<span class="_ _11"> </span>evaluated<span class="_ _11"> </span>at<span class="_ _11"> </span>compile<span class="_ _11"> </span>time</div><div class="t m0 x1 he y28f ffd fs8 fc10 sc0 ls0 ws0">#<span class="_ _53"> </span>include<span class="_ _4f"> </span><span class="fc6">&lt;type_traits&gt;<span class="_ _12"> </span>//<span class="_ _f"> </span>std::is_constant_evaluated</span></div><div class="t m0 x1 he y308 ff5 fs8 fc7 sc0 ls0 ws0">constexpr<span class="_"> </span><span class="fc4">int<span class="_"> </span><span class="ffc fc3">f<span class="fc0">(</span></span>int<span class="_"> </span><span class="ffc fc0">n)<span class="_ _f"> </span>{</span></span></div><div class="t m0 x22 he y291 ff5 fs8 fc7 sc0 ls0 ws0">if<span class="_"> </span><span class="ffc fc0">(std<span class="fc5">::</span>is_constant_evaluated())</span></div><div class="t m0 x23 he y292 ff5 fs8 fc7 sc0 ls0 ws0">return<span class="_"> </span><span class="ffc fc5">0<span class="fc0">;</span></span></div><div class="t m0 x22 he y293 ff5 fs8 fc7 sc0 ls0 ws0">return<span class="_"> </span><span class="ffc fc5">4<span class="fc0">;</span></span></div><div class="t m0 x1 he y294 ffc fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 he y295 ffc fs8 fc0 sc0 ls0 ws0">f(<span class="fc5">3</span>);<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>return<span class="_ _d"> </span>0</span></div><div class="t m0 x1 he y296 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">v<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>3</span>;</span></div><div class="t m0 x1 he y297 ffc fs8 fc0 sc0 ls0 ws0">f(v);<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>return<span class="_ _d"> </span>=<span class="_ _8"> </span>4</span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">78/104</div><a class="l" href="https://en.cppreference.com/w/cpp/types/is_constant_evaluated"><div class="d m1" style="border-style:none;position:absolute;left:106.290000px;bottom:201.454000px;width:177.341000px;height:17.174000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf57" class="pf w0 h0" data-page-no="57"><div class="pc pc57 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">if<span class="_"> </span>consteval<span class="_ _54"> </span><span class="ff1">1/2</span></div><div class="t m0 xe hd y6d ff6 fs7 fc0 sc0 ls0 ws0">std::is_constant_evaluated()<span class="_ _12"> </span><span class="ff4">has<span class="_ _7"> </span>t<span class="_ _6"></span>w<span class="_ _6"></span>o<span class="_ _11"> </span>p<span class="_ _6"></span>roblems<span class="_ _11"> </span>that<span class="_ _11"> </span><span class="ff6 fc3">if<span class="_ _20"> </span>consteval<span class="_ _e"> </span></span><span class="ff17 fs9"><span class="_ _a"> </span></span><span class="fca">C++23</span></span></div><div class="t m0 x1 hd y6e ff4 fs7 fc0 sc0 ls0 ws0">solves:</div><div class="t m0 x48 hd y6f ff4 fs7 fc0 sc0 ls0 ws0">(1)<span class="_"> </span>Calling<span class="_ _a"> </span>a<span class="_ _12"> </span><span class="ff6">consteval<span class="_ _13"> </span></span>function<span class="_ _a"> </span>cannot<span class="_ _a"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span>used<span class="_ _a"> </span>within<span class="_ _11"> </span>a<span class="_ _12"> </span><span class="ff6">constexpr<span class="_ _13"> </span></span>function<span class="_ _a"> </span>if<span class="_ _a"> </span>it</div><div class="t m0 x7 hd y309 ff4 fs7 fc0 sc0 ls0 ws0">is<span class="_ _11"> </span>called<span class="_ _11"> </span>with<span class="_ _11"> </span>a<span class="_ _11"> </span>run-time<span class="_ _11"> </span>pa<span class="_ _6"></span>rameter</div><div class="t m0 x1 he y30a ff5 fs8 fc7 sc0 ls0 ws0">consteval<span class="_"> </span><span class="fc4">int<span class="_"> </span><span class="ffc fc3">g<span class="fc0">(</span></span>int<span class="_"> </span><span class="ffc fc0">n)<span class="_ _f"> </span>{<span class="_ _f"> </span></span></span>return<span class="_"> </span><span class="ffc fc0">n<span class="_ _d"> </span><span class="fc5">*<span class="_ _8"> </span>3</span>;<span class="_ _d"> </span>}<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _f"> </span><span class="ff15">&lt;-<span class="_ _f"> </span>consteval</span></span></span></div><div class="t m0 x1 he y30b ff5 fs8 fc7 sc0 ls0 ws0">constexpr<span class="_"> </span><span class="fc4">int<span class="_"> </span><span class="ffc fc3">f<span class="fc0">(</span></span>int<span class="_"> </span><span class="ffc fc0">n)<span class="_ _f"> </span>{</span></span></div><div class="t m0 x22 he y30c ff5 fs8 fc7 sc0 ls0 ws0">if<span class="_"> </span><span class="ffc fc0">(std<span class="fc5">::</span>is_constant_evaluated())<span class="_ _14"> </span><span class="ffd fc6">//<span class="_ _f"> </span>it<span class="_ _f"> </span>works<span class="_ _d"> </span>with<span class="_ _8"> </span><span class="ff15">if<span class="_ _d"> </span>consteval</span></span></span></div><div class="t m0 x23 he y30d ff5 fs8 fc7 sc0 ls0 ws0">return<span class="_"> </span><span class="ffc fc0">g(n);</span></div><div class="t m0 x22 he y30e ff5 fs8 fc7 sc0 ls0 ws0">return<span class="_"> </span><span class="ffc fc5">4<span class="fc0">;</span></span></div><div class="t m0 x1 he y30f ffc fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 he y310 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>f(3);<span class="_ _f"> </span>compiler<span class="_ _d"> </span>error</div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">79/104</div><a class="l" href="https://en.cppreference.com/w/cpp/language/if"><div class="d m1" style="border-style:none;position:absolute;left:302.387000px;bottom:201.367000px;width:79.728000px;height:17.368000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf58" class="pf w0 h0" data-page-no="58"><div class="pc pc58 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIoElEQVR42u3YsU0DQRCG0Vt0I6KVa0BErgAhYiQ6owmX44Ai6IDI2siTHJlDBAid5vB7Faz+TT5Nu394mgAAoIz3t+ONFQAAqEakAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAABw0TLTCgAA1BERLqkAAJQjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBgZbMJvm+MYQSA/633bgSowCUVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAABYVctMKwAAUEdEuKQCAFDObAL4c2OMDb229+7LAKjGJRUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAACuTMtMKwAAUEdEuKQCAFCOSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgDA1s0beusYw4cBAPxO731Dr3VJBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApJoAAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAADwAy0zrQAAQB0R4ZIKAEA5IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAgIv59HpnBQDgCx/PByOwpv3jS2u72+V0nqZlWQwCAEAJn7paJf4i0L6iAAAAAElFTkSuQmCC"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">if<span class="_"> </span>consteval<span class="_ _54"> </span><span class="ff1">2/2</span></div><div class="t m0 x48 hd y78 ff4 fs7 fc0 sc0 ls0 ws0">(2)<span class="_ _1a"> </span><span class="ff6">if<span class="_ _20"> </span>constexpr<span class="_ _20"> </span>(std::is_constant_evaluated())<span class="_ _12"> </span></span>is<span class="_ _11"> </span>a<span class="_ _11"> </span>bug<span class="_ _11"> </span>b<span class="_ _b"></span>ecause<span class="_ _11"> </span>it<span class="_ _11"> </span>is</div><div class="t m0 x7 hd y311 ff4 fs7 fc0 sc0 ls0 ws0">alw<span class="_ _6"></span>a<span class="_ _6"></span>ys<span class="_ _11"> </span>evaluated<span class="_ _11"> </span>to<span class="_ _13"> </span><span class="ff6">true</span></div><div class="t m0 x1 he y312 ff5 fs8 fc7 sc0 ls0 ws0">constexpr<span class="_"> </span><span class="fc4">int<span class="_"> </span><span class="ffc fc3">f<span class="fc0">(</span></span>int<span class="_"> </span><span class="ffc fc0">x)<span class="_ _f"> </span>{</span></span></div><div class="t m0 x22 he y313 ff5 fs8 fc7 sc0 ls0 ws0">if<span class="_"> </span>constexpr<span class="_"> </span><span class="ffc fc0">(std<span class="fc5">::</span>is_constant_evaluated())<span class="_ _14"> </span><span class="ffd fc6">//<span class="_ _f"> </span>if<span class="_ _f"> </span>consteval<span class="_ _d"> </span>avoids<span class="_ _8"> </span>this<span class="_ _d"> </span>error</span></span></div><div class="t m0 x23 he y314 ff5 fs8 fc7 sc0 ls0 ws0">return<span class="_"> </span><span class="ffc fc5">3<span class="fc0">;</span></span></div><div class="t m0 x22 he y315 ff5 fs8 fc7 sc0 ls0 ws0">return<span class="_"> </span><span class="ffc fc5">4<span class="fc0">;</span></span></div><div class="t m0 x1 he y316 ffc fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 he y317 ff5 fs8 fc7 sc0 ls0 ws0">constexpr<span class="_"> </span><span class="fc4">int<span class="_"> </span><span class="ffc fc3">g<span class="fc0">(</span></span>int<span class="_"> </span><span class="ffc fc0">x)<span class="_ _f"> </span>{</span></span></div><div class="t m0 x22 he y318 ff5 fs8 fc7 sc0 ls0 ws0">if<span class="_"> </span>consteval<span class="_"> </span><span class="ffc fc0">{</span></div><div class="t m0 x23 he y319 ff5 fs8 fc7 sc0 ls0 ws0">return<span class="_"> </span><span class="ffc fc5">3<span class="fc0">;</span></span></div><div class="t m0 x22 he y31a ffc fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x22 he y31b ff5 fs8 fc7 sc0 ls0 ws0">return<span class="_"> </span><span class="ffc fc5">4<span class="fc0">;</span></span></div><div class="t m0 x1 he y31c ffc fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">80/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf59" class="pf w0 h0" data-page-no="59"><div class="pc pc59 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x10 h2 y31d ff5 fs0 fc0 sc0 ls0 ws0">volatile<span class="_ _1"> </span><span class="ff1">Keyw<span class="_ _4"></span>o<span class="_ _c"></span>rd</span></div><div class="t m0 x49 h19 y31e ff9 fs1 fc0 sc0 ls0 ws0">⋆</div><a class="l" href="#pf59" data-dest-detail='[89,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:129.390000px;width:241.990000px;height:30.110000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf5a" class="pf w0 h0" data-page-no="5a"><div class="pc pc5a w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIyklEQVR42u3ZLU4EQRSF0SnSL6gKayCo2QCEEASChCDYFptgFQgsAgRhAxh2gJqU4pnGIYdJh5/q4ZwVvNw2X6rLwdHJAgAAuvH69LhjBQAAeiNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAD4VDLTCgAA9CMivKQCANAdkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAIC/Nszo1uXpmQ8GADDNy8P9jK71kgoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAtlvJzLnc2lrzwQAApqm1zuXUiPCSCgBAd0QqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEA6NtgAmBbHV5eGQH40vPdrRE6VDJzLre21nwwAIBpaq1zOTUi/O4HAKA7IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAALBOyUwrAADQj4jwkgoAQHdEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAItUEAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAAft1ggm/UWjPCGrVWIwAAm/CSCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAP9MyUwrAADQj4jwkgoAQHdEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAbG1bX+1YAACZ4O78xAj9heXxRyt7uuHpfLMZxNAgAAF34ACLOLvqvlzoDAAAAAElFTkSuQmCC"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">volatile<span class="_ _8"> </span><span class="ff1">Keywo<span class="_ _c"></span>rd</span></div><div class="t m0 xe h14 y31f ff5 fs7 fc1 sc0 ls0 ws0">volatile</div><div class="t m0 xe hd y320 ff6 fs7 fc3 sc0 ls0 ws0">volatile<span class="_ _11"> </span><span class="ff4 fc0">is<span class="_ _11"> </span>a<span class="_ _11"> </span>hint<span class="_ _11"> </span>to<span class="_ _11"> </span>the<span class="_ _11"> </span>compiler<span class="_ _11"> </span>to<span class="_ _11"> </span>avoid<span class="_ _11"> </span>aggressive<span class="_ _11"> </span>memo<span class="_ _6"></span>ry<span class="_ _11"> </span>optimizations</span></div><div class="t m0 xe hd y321 ff4 fs7 fc0 sc0 ls0 ws0">involving<span class="_ _11"> </span>a<span class="_ _11"> </span>p<span class="_ _b"></span>ointer<span class="_ _11"> </span>o<span class="_ _6"></span>r<span class="_ _11"> </span>an<span class="_ _11"> </span>object</div><div class="t m0 x1 hd y322 ff4 fs7 fc0 sc0 ls0 ws0">Use<span class="_ _11"> </span>cases:</div><div class="t m0 x11 hd y323 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ffa">Lo<span class="_ _6"></span>w-level<span class="_ _11"> </span>programming<span class="_ _0"></span><span class="ff4">:<span class="_ _d"> </span>driver<span class="_ _a"> </span>development,<span class="_ _11"> </span>interaction<span class="_ _11"> </span>with<span class="_ _11"> </span>assembly<span class="_ _4"></span>,<span class="_ _11"> </span>etc.</span></span></div><div class="t m0 x7 hd y324 ff4 fs7 fc0 sc0 ls0 ws0">(fo<span class="_ _6"></span>rce<span class="_ _11"> </span>writing<span class="_ _11"> </span>to<span class="_ _11"> </span>a<span class="_ _11"> </span>sp<span class="_ _b"></span>ecific<span class="_ _11"> </span>memory<span class="_ _a"> </span>lo<span class="_ _b"></span>cation)</div><div class="t m0 x11 hd y325 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ffa">Multi-thread<span class="_ _11"> </span>p<span class="_ _6"></span>rogram<span class="ff4">:<span class="_ _d"> </span>va<span class="_ _6"></span>riables<span class="_ _11"> </span>sha<span class="_ _6"></span>red<span class="_ _11"> </span>b<span class="_ _b"></span>etw<span class="_ _c"></span>een<span class="_ _11"> </span>threads/p<span class="_ _6"></span>ro<span class="_ _b"></span>cesses<span class="_ _11"> </span>to</span></span></div><div class="t m0 x7 hd y326 ff4 fs7 fc0 sc0 ls0 ws0">communicate<span class="_ _11"> </span>(dont<span class="_ _11"> </span>optimize,<span class="_ _11"> </span>dela<span class="_ _6"></span>y<span class="_ _11"> </span>va<span class="_ _6"></span>riable<span class="_ _11"> </span>up<span class="_ _b"></span>date)</div><div class="t m0 x11 hd y327 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ffa">Benchma<span class="_ _6"></span>rking<span class="_ _55"></span><span class="ff4">:<span class="_ _f"> </span>some<span class="_ _11"> </span>op<span class="_ _0"></span>erations<span class="_ _a"> </span>need<span class="_ _11"> </span>to<span class="_ _11"> </span>not<span class="_ _11"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span>optimized<span class="_ _11"> </span>aw<span class="_ _c"></span>ay</span></span></div><div class="t m0 x1 h6 y328 ff4 fs4 fc0 sc0 ls0 ws0">Note:<span class="_ _4c"> </span><span class="ff6">volatile<span class="_ _4f"> </span></span>reads/writes<span class="_ _a"> </span>can<span class="_ _a"> </span>still<span class="_ _a"> </span>b<span class="_ _b"></span>e<span class="_ _a"> </span>reordered<span class="_ _e"> </span>with<span class="_ _e"> </span>resp<span class="_ _b"></span>ect<span class="_ _a"> </span>to<span class="_ _a"> </span>non-volatile<span class="_ _a"> </span>ones</div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">81/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf5b" class="pf w0 h0" data-page-no="5b"><div class="pc pc5b w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">volatile<span class="_ _8"> </span><span class="ff1">Keywo<span class="_ _c"></span>rd<span class="_ _8"> </span>-<span class="_ _f"> </span>Example</span></div><div class="t m0 x1 hd y329 ff4 fs7 fc0 sc0 ls0 ws0">The<span class="_ _11"> </span>follo<span class="_ _6"></span>wing<span class="_ _11"> </span>co<span class="_ _b"></span>de<span class="_ _11"> </span>compiled<span class="_ _11"> </span>with<span class="_ _13"> </span><span class="ff6">-O3<span class="_ _12"> </span></span>(full<span class="_ _11"> </span>optimization)<span class="_ _11"> </span>and<span class="_ _11"> </span>without<span class="_ _13"> </span><span class="ff6">volatile</span></div><div class="t m0 x1 hd y32a ff4 fs7 fc0 sc0 ls0 ws0">could<span class="_ _11"> </span>w<span class="_ _6"></span>o<span class="_ _6"></span>rk<span class="_ _11"> </span>fine</div><div class="t m0 x1 he y32b ff5 fs8 fc7 sc0 ls0 ws0">volatile<span class="_"> </span><span class="fc4">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">ptr<span class="_ _f"> </span></span>=<span class="_ _d"> </span></span></span>new<span class="_"> </span><span class="fc4">int<span class="ffc fc0">[<span class="fc5">1</span>];<span class="_ _37"> </span><span class="ffd fc6">//<span class="_ _8"> </span>actual<span class="_ _d"> </span>alloction<span class="_ _f"> </span>size<span class="_ _f"> </span>is<span class="_ _f"> </span>much</span></span></span></div><div class="t m0 x1 he y32c ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_ _3c"> </span><span class="ffc fc0">pos<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>128<span class="_ _f"> </span>*<span class="_ _d"> </span>1024<span class="_ _8"> </span>/<span class="_ _d"> </span></span></span><span class="fc7">sizeof<span class="ffc fc0">(</span></span>int<span class="ffc fc0">);<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>larger,<span class="_ _f"> </span>typically<span class="_ _f"> </span>128<span class="_ _d"> </span>KB</span></span></div><div class="t m0 x1 he y32d ffc fs8 fc0 sc0 ls0 ws0">ptr[pos]<span class="_ _1d"> </span><span class="fc5">=<span class="_ _d"> </span>4</span>;<span class="_ _49"> </span><span class="ffd fc6">//</span></div><div class="t m0 x30 h15 y32d ff16 fs8 fc6 sc0 ls0 ws0"><span class="fcb sc0">A</span></div><div class="t m0 x4a he y32d ffd fs8 fc6 sc0 ls0 ws0">segfault</div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">82/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf5c" class="pf w0 h0" data-page-no="5c"><div class="pc pc5c w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">volatile<span class="_ _8"> </span><span class="ff1">Deprecation</span></div><div class="t m0 x1 hd y6d ff4 fs7 fca sc0 ls0 ws0">C++20<span class="_ _11"> </span><span class="fc0">dep<span class="_ _6"></span>recates<span class="_ _13"> </span><span class="ff6">volatile<span class="_ _12"> </span></span>outside<span class="_ _11"> </span>single<span class="_ _11"> </span>load<span class="_ _11"> </span>and<span class="_ _11"> </span>store<span class="_ _a"> </span>op<span class="_ _b"></span>erations</span></div><div class="t m0 x1 he y149 ff5 fs8 fc7 sc0 ls0 ws0">volatile<span class="_"> </span><span class="fc4">int<span class="_"> </span><span class="ffc fc0">v<span class="_ _14"> </span><span class="fc5">=<span class="_ _f"> </span>3</span>;</span></span></div><div class="t m0 x1 he y234 ff5 fs8 fc7 sc0 ls0 ws0">auto<span class="_ _1f"> </span><span class="ffc fc0">v1<span class="_ _d"> </span><span class="fc5">=<span class="_ _f"> </span></span>v<span class="_ _f"> </span><span class="fc5">+<span class="_ _f"> </span>4</span>;<span class="_ _14"> </span><span class="ffd fc6">//<span class="_ _f"> </span>ok,<span class="_ _d"> </span>one<span class="_ _8"> </span>load</span></span></div><div class="t m0 x1 he y14a ffc fs8 fc0 sc0 ls0 ws0">v<span class="_ _37"> </span><span class="fc5">=<span class="_ _f"> </span>4</span>;<span class="_ _19"> </span><span class="ffd fc6">//<span class="_ _f"> </span>ok,<span class="_ _d"> </span>one<span class="_ _8"> </span>store</span></div><div class="t m0 x1 he y14b ffc fs8 fc0 sc0 ls0 ws0">v<span class="_ _56"> </span><span class="fc5">+=<span class="_ _f"> </span>4</span>;<span class="_ _19"> </span><span class="ffd fc6">//<span class="_ _f"> </span>deprecated,<span class="_ _d"> </span>load<span class="_ _8"> </span>+<span class="_ _d"> </span>store</span></div><div class="t m0 x1 he y14d ff5 fs8 fc7 sc0 ls0 ws0">volatile<span class="_"> </span><span class="fc4">int<span class="_"> </span><span class="ffc fc3">f<span class="fc0">()<span class="_ _f"> </span>{}<span class="_ _15"> </span><span class="ffd fc6">//<span class="_ _f"> </span>deprecated,<span class="_ _f"> </span>volatile<span class="_ _f"> </span>return<span class="_ _f"> </span>value</span></span></span></span></div><div class="t m0 x1 he y14f ff5 fs8 fc4 sc0 ls0 ws0">void<span class="_"> </span><span class="ffc fc3">g1<span class="fc0">(</span></span><span class="fc7">volatile<span class="_"> </span></span>int<span class="ffc fc0">)<span class="_ _f"> </span>{}<span class="_ _14"> </span><span class="ffd fc6">//<span class="_ _f"> </span>deprecated,<span class="_ _d"> </span>volatile<span class="_ _8"> </span>argument</span></span></div><div class="t m0 x1 he y151 ff5 fs8 fc4 sc0 ls0 ws0">void<span class="_"> </span><span class="ffc fc3">g2<span class="fc0">(</span></span><span class="fc7">volatile<span class="_"> </span></span>int<span class="ffc fc5">*<span class="fc0">)<span class="_ _f"> </span>{}<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _d"> </span>ok</span></span></span></div><div class="t m0 x1 he y32e ff5 fs8 fc7 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc3">A<span class="_"> </span><span class="ffc fc0">{</span></span></div><div class="t m0 x4b he y32f ff5 fs8 fc7 sc0 ls0 ws0">volatile<span class="_"> </span><span class="fc4">int<span class="_"> </span><span class="ffc fc0">x<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>4</span>;<span class="_ _14"> </span><span class="ffd fc6">//<span class="_ _d"> </span>deprecated,<span class="_ _8"> </span>volatile<span class="_ _d"> </span>data<span class="_ _f"> </span>member</span></span></span></div><div class="t m0 x1 he y330 ffc fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">83/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf5d" class="pf w0 h0" data-page-no="5d"><div class="pc pc5d w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x10 h2 y25e ff1 fs0 fc0 sc0 ls0 ws0">Explicit<span class="_ _1"> </span>T<span class="_ _57"></span>yp<span class="_ _0"></span>e</div><div class="t m0 x10 h2 y25f ff1 fs0 fc0 sc0 ls0 ws0">Conversion</div><a class="l" href="#pf5d" data-dest-detail='[93,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:149.618000px;width:241.993000px;height:24.025000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf5d" data-dest-detail='[93,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:120.066000px;width:125.570000px;height:19.206000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf5e" class="pf w0 h0" data-page-no="5e"><div class="pc pc5e w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">static_cast<span class="_ _58"> </span><span class="ff1">1/3</span></div><div class="t m0 x1 hd y331 ff6 fs7 fc3 sc0 ls0 ws0">static_cast<span class="_ _11"> </span><span class="ff4 fc0">converts<span class="_ _11"> </span>b<span class="_ _b"></span>et<span class="_ _6"></span>w<span class="_ _6"></span>een<span class="_ _11"> </span>types<span class="_ _11"> </span>and<span class="_ _11"> </span>p<span class="_ _b"></span>erforms<span class="_ _a"> </span>compile-time<span class="_ _11"> </span>(not<span class="_ _11"> </span>run-time)<span class="_ _11"> </span>type</span></div><div class="t m0 x1 hd y332 ff4 fs7 fc0 sc0 ls0 ws0">check</div><div class="t m0 x1 hd y333 ff4 fs7 fc0 sc0 ls0 ws0">It<span class="_ _11"> </span>is<span class="_ _11"> </span>equivalent<span class="_ _11"> </span>to<span class="_ _11"> </span>the<span class="_ _11"> </span><span class="ff1">old<span class="_ _7"> </span>style<span class="_ _11"> </span>cast<span class="_ _13"> </span><span class="ff6">(T)<span class="_ _20"> </span>var<span class="_ _12"> </span></span></span>or<span class="_ _12"> </span><span class="ff6">T(var)<span class="_ _13"> </span></span>fo<span class="_ _6"></span>r<span class="_ _11"> </span><span class="ffa">value<span class="_ _11"> </span>semantic</span></div><div class="t m0 x1 he y334 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_ _17"> </span><span class="ffc fc0">a<span class="_ _14"> </span><span class="fc5">=<span class="_ _f"> </span>6</span>;</span></div><div class="t m0 x1 he y335 ff5 fs8 fc4 sc0 ls0 ws0">short<span class="_"> </span><span class="ffc fc0">b1<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>(</span>short<span class="ffc fc0">)<span class="_ _d"> </span>a;<span class="_ _59"> </span><span class="ffd fc6">//<span class="_ _f"> </span>the<span class="_ _f"> </span>compiler<span class="_ _d"> </span>can<span class="_ _8"> </span>issue<span class="_ _d"> </span>a<span class="_ _f"> </span>warning<span class="_ _f"> </span>without</span></span></div><div class="t m0 x1 he y336 ff5 fs8 fc4 sc0 ls0 ws0">short<span class="_"> </span><span class="ffc fc0">b2<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span></span>short<span class="ffc fc0">(a);<span class="_ _2f"> </span><span class="ffd fc6">//<span class="_ _d"> </span>explicit<span class="_ _8"> </span>cast</span></span></div><div class="t m0 x1 he y337 ff5 fs8 fc4 sc0 ls0 ws0">short<span class="_"> </span><span class="ffc fc0">b3<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span></span><span class="fc7">static_cast<span class="ffc fc5">&lt;</span></span>short<span class="ffc fc5">&gt;<span class="fc0">(a);</span></span></div><div class="t m0 x1 he y338 ff5 fs8 fc4 sc0 ls0 ws0">long<span class="_ _14"> </span><span class="ffc fc0">c<span class="_ _14"> </span><span class="fc5">=<span class="_ _f"> </span></span>a;<span class="_ _4e"> </span><span class="ffd fc6">//<span class="_ _f"> </span>not<span class="_ _d"> </span>needed</span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">84/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf5f" class="pf w0 h0" data-page-no="5f"><div class="pc pc5f w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">static_cast<span class="_ _58"> </span><span class="ff1">2/3</span></div><div class="t m0 x48 hd y339 ff5 fs7 fc0 sc0 ls0 ws0">static_cast<span class="_ _12"> </span><span class="ff4">prevents<span class="_ _a"> </span>accidental/unsafe<span class="_ _11"> </span>conversions<span class="_ _11"> </span>b<span class="_ _b"></span>etw<span class="_ _c"></span>een<span class="_ _11"> </span>p<span class="_ _0"></span>ointer<span class="_ _a"> </span>types,</span></div><div class="t m0 x1 hd y33a ff4 fs7 fc0 sc0 ls0 ws0">esp<span class="_ _b"></span>ecially<span class="_ _11"> </span>across<span class="_ _11"> </span>classes<span class="_ _11"> </span>in<span class="_ _11"> </span>a<span class="_ _11"> </span>hiera<span class="_ _6"></span>rchy</div><div class="t m0 x1 he y33b ff5 fs8 fc4 sc0 ls0 ws0">char<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">a<span class="_ _14"> </span></span>=<span class="_ _f"> </span></span><span class="fc7">new<span class="_"> </span></span>char<span class="ffc fc0">[<span class="fc5">4</span>]{<span class="fc5">1</span>,<span class="_ _d"> </span><span class="fc5">2</span>,<span class="_ _8"> </span><span class="fc5">3</span>,<span class="_ _d"> </span><span class="fc5">4</span>};</span></div><div class="t m0 x1 he y33c ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _14"> </span><span class="fc0">b<span class="_ _14"> </span></span>=<span class="_ _f"> </span><span class="fc0">(</span></span>int<span class="ffc fc5">*<span class="fc0">)<span class="_ _f"> </span>a;<span class="_ _1c"> </span><span class="ffd fc6">//<span class="_ _f"> </span>ok</span></span></span></div><div class="t m0 x1 he y33d ffc fs8 fc0 sc0 ls0 ws0">cout<span class="_ _f"> </span><span class="fc5">&lt;&lt;<span class="_ _f"> </span></span>b[<span class="fc5">0</span>];<span class="_ _28"> </span><span class="ffd fc6">//<span class="_ _d"> </span>print<span class="_ _8"> </span>67305985,<span class="_ _d"> </span>not<span class="_ _f"> </span>1!!</span></div><div class="t m0 x1 hf y33e ffd fs8 fc6 sc0 ls0 ws0">//int*<span class="_ _f"> </span>c<span class="_ _f"> </span>=<span class="_ _d"> </span>static_cast&lt;int*&gt;(a);<span class="_ _8"> </span>//<span class="_ _d"> </span><span class="ffe">compile<span class="_ _1e"> </span>error<span class="_ _f"> </span></span>unsafe<span class="_ _f"> </span>conversion</div><div class="t m0 x48 hd y33f ff5 fs7 fc0 sc0 ls0 ws0">static_cast<span class="_ _12"> </span><span class="ff4">also<span class="_ _7"> </span>p<span class="_ _6"></span>revents<span class="_ _11"> </span>accidental/unsafe<span class="_ _12"> </span><span class="ff6">const<span class="_ _13"> </span></span>conversions</span></div><div class="t m0 x1 he y340 ff5 fs8 fc7 sc0 ls0 ws0">const<span class="_"> </span><span class="fc4">char<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">a<span class="_ _f"> </span></span>=<span class="_ _d"> </span></span></span>new<span class="_"> </span><span class="fc4">char<span class="ffc fc0">;</span></span></div><div class="t m0 x1 he y341 ff5 fs8 fc4 sc0 ls0 ws0">char<span class="ffc fc5">*<span class="_ _3b"> </span><span class="fc0">b<span class="_ _d"> </span></span>=<span class="_ _f"> </span><span class="fc0">(</span></span>char<span class="ffc fc5">*<span class="fc0">)<span class="_ _f"> </span>a;<span class="_ _4a"> </span><span class="ffd fc6">//<span class="_ _d"> </span>ok</span></span></span></div><div class="t m0 x1 hf y342 ffd fs8 fc6 sc0 ls0 ws0">//char*<span class="_ _16"> </span>c<span class="_ _f"> </span>=<span class="_ _f"> </span>static_cast&lt;char*&gt;(a);<span class="_ _d"> </span>//<span class="_ _8"> </span><span class="ffe">compile<span class="_ _e"> </span>error<span class="_ _f"> </span></span>unsafe<span class="_ _f"> </span>conversion</div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">85/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf60" class="pf w0 h0" data-page-no="60"><div class="pc pc60 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">static_cast<span class="_ _58"> </span><span class="ff1">3/3</span></div><div class="t m0 x48 hd y6d ff5 fs7 fc0 sc0 ls0 ws0">static_cast<span class="_ _12"> </span><span class="ff4">prevents<span class="_ _a"> </span>accidental/unsafe<span class="_ _11"> </span>conversions<span class="_ _11"> </span>b<span class="_ _b"></span>etw<span class="_ _c"></span>een<span class="_ _11"> </span>unrelated<span class="_ _11"> </span>classes</span></div><div class="t m0 x1 he y343 ff5 fs8 fc7 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc3">A<span class="_"> </span><span class="ffc fc0">{};</span></span></div><div class="t m0 x1 he y344 ff5 fs8 fc7 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc3">B<span class="_"> </span><span class="ffc fc5">:<span class="_ _f"> </span><span class="fc0">A<span class="_ _f"> </span>{};</span></span></span></div><div class="t m0 x1 he y345 ff5 fs8 fc7 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc3">C<span class="_"> </span><span class="ffc fc0">{};</span></span></div><div class="t m0 x1 he y346 ffc fs8 fc0 sc0 ls0 ws0">A<span class="_ _19"> </span>a;</div><div class="t m0 x1 he y347 ffc fs8 fc0 sc0 ls0 ws0">B<span class="_ _19"> </span>b;</div><div class="t m0 x1 he y348 ff5 fs8 fc7 sc0 ls0 ws0">auto<span class="_ _17"> </span><span class="ffc fc0">x1<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>(A<span class="fc5">&amp;</span>)<span class="_ _d"> </span>b;<span class="_ _56"> </span><span class="ffd fc6">//<span class="_ _8"> </span>ok</span></span></div><div class="t m0 x1 he y349 ff5 fs8 fc7 sc0 ls0 ws0">auto<span class="_ _17"> </span><span class="ffc fc0">x2<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>(C<span class="fc5">&amp;</span>)<span class="_ _d"> </span>a;<span class="_ _56"> </span><span class="ffd fc6">//<span class="_ _8"> </span>ok</span></span></div><div class="t m0 x1 he y34a ff5 fs8 fc7 sc0 ls0 ws0">auto<span class="_ _17"> </span><span class="ffc fc0">x3<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>(C<span class="fc5">*</span>)<span class="_ _d"> </span><span class="fc5">&amp;</span>a;<span class="_ _4a"> </span><span class="ffd fc6">//<span class="_ _f"> </span>ok</span></span></div><div class="t m0 x1 he y34b ff5 fs8 fc7 sc0 ls0 ws0">auto<span class="_ _17"> </span><span class="ffc fc0">x4<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span></span>static_cast<span class="ffc fc5">&lt;<span class="fc0">A</span>&amp;&gt;<span class="fc0">(b);<span class="_ _14"> </span><span class="ffd fc6">//<span class="_ _d"> </span>ok</span></span></span></div><div class="t m0 x1 hf y34c ffd fs8 fc6 sc0 ls0 ws0">//auto<span class="_ _f"> </span>x5<span class="_ _f"> </span>=<span class="_ _d"> </span>static_cast&lt;C<span class="ff15">&amp;</span>&gt;(a);<span class="_ _1"> </span>//<span class="_ _f"> </span><span class="ffe">compile<span class="_ _e"> </span>error<span class="_ _f"> </span></span>unsafe<span class="_ _f"> </span>conversion</div><div class="t m0 x1 hf y34d ffd fs8 fc6 sc0 ls0 ws0">//auto<span class="_ _f"> </span>x6<span class="_ _f"> </span>=<span class="_ _d"> </span>static_cast&lt;C*&gt;(<span class="ff15">&amp;</span>a);<span class="_ _8"> </span>//<span class="_ _d"> </span><span class="ffe">compile<span class="_ _1e"> </span>error<span class="_ _f"> </span></span>unsafe<span class="_ _f"> </span>conversion</div><div class="t m0 x1 hd y34e ff4 fs7 fc0 sc0 ls0 ws0">Note:<span class="_ _3"> </span><span class="ff6">(T&amp;)<span class="_ _20"> </span>v<span class="_ _12"> </span></span>is<span class="_ _7"> </span>equal<span class="_ _11"> </span>to<span class="_ _12"> </span><span class="ff6">*((T*)<span class="_ _20"> </span>&amp;v)</span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">86/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf61" class="pf w0 h0" data-page-no="61"><div class="pc pc61 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h17 y7 ff5 fs3 fc1 sc0 ls0 ws0">const_cast</div><div class="t m0 x1 hd y34f ff6 fs7 fc3 sc0 ls0 ws0">const_cast<span class="_ _11"> </span><span class="ff4 fc0">can<span class="_ _11"> </span>add<span class="_ _11"> </span>o<span class="_ _6"></span>r<span class="_ _11"> </span>cast<span class="_ _11"> </span>a<span class="_ _6"></span>wa<span class="_ _c"></span>y<span class="_ _11"> </span>(remove)<span class="_ _11"> </span>constness<span class="_ _11"> </span>or<span class="_ _a"> </span>volatilit<span class="_ _6"></span>y</span></div><div class="t m0 x1 he y350 ff5 fs8 fc7 sc0 ls0 ws0">const<span class="_"> </span><span class="fc4">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">ptr<span class="_ _f"> </span></span>=<span class="_ _d"> </span></span></span>new<span class="_"> </span><span class="fc4">int<span class="ffc fc0">[<span class="fc5">4</span>];</span></span></div><div class="t m0 x1 he y351 ff5 fs8 fc7 sc0 ls0 ws0">auto<span class="_ _3b"> </span><span class="ffc fc0">x1<span class="_ _14"> </span><span class="fc5">=<span class="_ _d"> </span></span>(</span><span class="fc4">int<span class="ffc fc5">*<span class="fc0">)<span class="_ _f"> </span>ptr<span class="_ _f"> </span>;<span class="_ _2f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>ok</span></span></span></span></div><div class="t m0 x1 he y352 ff5 fs8 fc7 sc0 ls0 ws0">auto<span class="_ _3b"> </span><span class="ffc fc0">x2<span class="_ _14"> </span><span class="fc5">=<span class="_ _d"> </span></span>(</span><span class="fc4">char<span class="ffc fc5">*<span class="fc0">)<span class="_ _f"> </span>ptr;<span class="_ _2f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>ok</span></span></span></span></div><div class="t m0 x1 he y353 ff5 fs8 fc7 sc0 ls0 ws0">auto<span class="_ _3b"> </span><span class="ffc fc0">x3<span class="_ _14"> </span><span class="fc5">=<span class="_ _d"> </span></span></span>const_cast<span class="ffc fc5">&lt;</span><span class="fc4">int<span class="ffc fc5">*&gt;<span class="fc0">(ptr);<span class="_ _1"> </span><span class="ffd fc6">//<span class="_ _d"> </span>ok</span></span></span></span></div><div class="t m0 x1 hf y1a2 ffd fs8 fc6 sc0 ls0 ws0">//auto<span class="_ _16"> </span>x4<span class="_ _14"> </span>=<span class="_ _f"> </span>const_cast&lt;char*&gt;(ptr);<span class="_ _f"> </span>//<span class="_ _d"> </span><span class="ffe">compile<span class="_ _1e"> </span>error<span class="_ _f"> </span></span>unsafe<span class="_ _f"> </span>conversion</div><div class="t m0 x1 he y1a4 ff5 fs8 fc7 sc0 ls0 ws0">const<span class="_"> </span><span class="fc4">int<span class="_ _3b"> </span><span class="ffc fc0">a<span class="_ _14"> </span><span class="fc5">=<span class="_ _d"> </span>5</span>;</span></span></div><div class="t m0 x1 he y1a5 ff5 fs8 fc7 sc0 ls0 ws0">const_cast<span class="ffc fc5">&lt;</span><span class="fc4">int<span class="ffc fc5">&gt;<span class="fc0">(a)<span class="_ _f"> </span></span>=<span class="_ _f"> </span>3<span class="fc0">;<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _8"> </span>ok,<span class="_ _d"> </span>but<span class="_ _f"> </span>undefined<span class="_ _f"> </span>behavior</span></span></span></span></div><div class="t m0 x1 he y354 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_ _5a"> </span><span class="ffc fc0">b<span class="_ _14"> </span><span class="fc5">=<span class="_ _f"> </span>5</span>;</span></div><div class="t m0 x1 he y355 ff5 fs8 fc7 sc0 ls0 ws0">const_cast<span class="ffc fc5">&lt;</span>volatile<span class="_"> </span><span class="fc4">int<span class="ffc fc5">&gt;<span class="fc0">(b)<span class="_ _f"> </span></span>=<span class="_ _f"> </span>3<span class="fc0">;<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _8"> </span>ok</span></span></span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">87/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf62" class="pf w0 h0" data-page-no="62"><div class="pc pc62 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h17 y7 ff5 fs3 fc1 sc0 ls0 ws0">reinterpret_cast</div><div class="t m0 x1 hd y6d ff6 fs7 fc3 sc0 ls0 ws0">reinterpret_cast<span class="_ _11"> </span><span class="ff4 fc0">allo<span class="_ _6"></span>ws<span class="_ _11"> </span>a<span class="_ _11"> </span>subset<span class="_ _11"> </span>of<span class="_ _11"> </span>unsafe<span class="_ _11"> </span>conversion:</span></div><div class="t m0 x11 hd y356 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">b<span class="_ _b"></span>etw<span class="_ _c"></span>een<span class="_ _11"> </span>p<span class="_ _b"></span>ointers/references<span class="_ _11"> </span>of<span class="_ _11"> </span>different<span class="_ _11"> </span>type<span class="_ _11"> </span>with<span class="_ _11"> </span>same<span class="_ _11"> </span>constness</span></div><div class="t m0 x11 hd y6f ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">b<span class="_ _b"></span>etw<span class="_ _c"></span>een<span class="_ _11"> </span>p<span class="_ _b"></span>ointers<span class="_ _11"> </span>and<span class="_ _11"> </span>integer<span class="_ _11"> </span>types</span></div><div class="t m0 x1 he y357 ff5 fs8 fc4 sc0 ls0 ws0">float<span class="_"> </span><span class="ffc fc0">b<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>3.0f</span>;<span class="_ _5a"> </span><span class="ffd fc6">//<span class="_ _d"> </span>bits:<span class="_ _8"> </span>01000000010000000000000000000000</span></span></div><div class="t m0 x1 he y358 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_ _17"> </span><span class="ffc fc0">c<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span></span><span class="fc7">reinterpret_cast<span class="ffc fc5">&lt;</span></span>int<span class="ffc fc5">&amp;&gt;<span class="fc0">(b);<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _8"> </span>bits:<span class="_ _d"> </span>01000000010000000000000000000000</span></span></span></div><div class="t m0 x1 he y359 ff5 fs8 fc7 sc0 ls0 ws0">const<span class="_"> </span><span class="fc4">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">ptr<span class="_ _23"> </span></span>=<span class="_ _f"> </span></span></span>new<span class="_"> </span><span class="fc4">int<span class="ffc fc0">;</span></span></div><div class="t m0 x1 he y35a ffd fs8 fc6 sc0 ls0 ws0">//reinterpret_cast&lt;int*&gt;(ptr);<span class="_ _3b"> </span>//<span class="_ _d"> </span>compile<span class="_ _f"> </span>error</div><div class="t m0 x1 he y35b ff5 fs8 fc4 sc0 ls0 ws0">uintptr_t<span class="_ _14"> </span><span class="ffc fc0">my_int<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span></span><span class="fc7">reinterpret_cast<span class="ffc fc5">&lt;</span></span>uintptr_t<span class="ffc fc5">&gt;<span class="fc0">(ptr);<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _8"> </span>ok</span></span></span></div><div class="t m0 x1 he y35c ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>ARRAY<span class="_ _f"> </span>RESHAPING</div><div class="t m0 x1 he y35d ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">a[<span class="fc5">3</span>][<span class="fc5">4</span>];</span></div><div class="t m0 x1 he y35e ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">(<span class="fc5">&amp;</span>b)[<span class="fc5">2</span>][<span class="fc5">6</span>]<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span></span><span class="fc7">reinterpret_cast<span class="ffc fc5">&lt;</span></span>int<span class="_"> </span><span class="ffc fc0">(<span class="fc5">&amp;</span>)[<span class="fc5">2</span>][<span class="fc5">6</span>]<span class="fc5">&gt;</span>(a);</span></div><div class="t m0 x1 he y35f ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">(<span class="fc5">*</span>c)[<span class="fc5">6</span>]<span class="_ _43"> </span><span class="fc5">=<span class="_ _d"> </span></span></span><span class="fc7">reinterpret_cast<span class="ffc fc5">&lt;</span></span>int<span class="_"> </span><span class="ffc fc0">(<span class="fc5">*</span>)[<span class="fc5">6</span>]<span class="fc5">&gt;</span>(a);</span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">88/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf63" class="pf w0 h0" data-page-no="63"><div class="pc pc63 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _4"></span>ype<span class="_ _f"> </span>Punning<span class="_ _5b"> </span>1/2</div><div class="t m0 xe hd y360 ff1 fs7 fc1 sc0 ls0 ws0">P<span class="_ _6"></span>ointer<span class="_ _7"> </span>Aliasing</div><div class="t m0 xe hd y361 ff4 fs7 fc0 sc0 ls0 ws0">One<span class="_ _11"> </span>p<span class="_ _b"></span>ointer<span class="_ _11"> </span><span class="ff1">aliases<span class="_ _11"> </span></span>another<span class="_ _11"> </span>when<span class="_ _11"> </span>they<span class="_ _11"> </span>b<span class="_ _b"></span>oth<span class="_ _11"> </span>p<span class="_ _0"></span>oint<span class="_ _a"> </span>to<span class="_ _11"> </span>the<span class="_ _11"> </span>same<span class="_ _11"> </span>memo<span class="_ _6"></span>ry<span class="_ _11"> </span>lo<span class="_ _b"></span>cation</div><div class="t m0 xe hd y362 ff1 fs7 fc1 sc0 ls0 ws0">T<span class="_ _4"></span>yp<span class="_ _b"></span>e<span class="_ _7"> </span>Punning</div><div class="t m0 xe hd y363 ff1 fs7 fc0 sc0 ls0 ws0">T<span class="_ _4"></span>yp<span class="_ _b"></span>e<span class="_ _7"> </span>punning<span class="_ _7"> </span><span class="ff4">refers<span class="_ _11"> </span>to<span class="_ _11"> </span>circumvent<span class="_ _11"> </span>the<span class="_ _11"> </span>t<span class="_ _6"></span>yp<span class="_ _b"></span>e<span class="_ _11"> </span>system<span class="_ _11"> </span>of<span class="_ _11"> </span>a<span class="_ _11"> </span>p<span class="_ _6"></span>rogramming<span class="_ _11"> </span>language<span class="_ _11"> </span>to</span></div><div class="t m0 xe hd y364 ff4 fs7 fc0 sc0 ls0 ws0">achieve<span class="_ _a"> </span>an<span class="_ _11"> </span>effect<span class="_ _a"> </span>that<span class="_ _11"> </span>w<span class="_ _6"></span>ould<span class="_ _a"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span>difficult<span class="_ _a"> </span>or<span class="_ _a"> </span>imp<span class="_ _b"></span>ossible<span class="_ _a"> </span>to<span class="_ _11"> </span>achieve<span class="_ _a"> </span>within<span class="_ _11"> </span>the<span class="_ _a"> </span>b<span class="_ _b"></span>ounds<span class="_ _11"> </span>of</div><div class="t m0 xe hd y365 ff4 fs7 fc0 sc0 ls0 ws0">the<span class="_ _11"> </span>fo<span class="_ _6"></span>rmal<span class="_ _11"> </span>language</div><div class="t m0 x1 hd y366 ff4 fs7 fc0 sc0 ls0 ws0">The<span class="_ _a"> </span>compiler<span class="_ _a"> </span>assumes<span class="_ _11"> </span>that<span class="_ _a"> </span>the<span class="_ _11"> </span><span class="ff19">strict<span class="_ _7"> </span>aliasing<span class="_ _11"> </span>rule<span class="_ _11"> </span><span class="ffa">is<span class="_ _a"> </span>never<span class="_ _11"> </span>violated<span class="_ _55"></span></span></span>:<span class="_ _f"> </span>Accessing<span class="_ _e"> </span>a<span class="_ _11"> </span>value</div><div class="t m0 x1 hd y367 ff4 fs7 fc0 sc0 ls0 ws0">using<span class="_ _a"> </span>a<span class="_ _a"> </span>type<span class="_ _11"> </span>which<span class="_ _a"> </span>is<span class="_ _11"> </span>different<span class="_ _a"> </span>from<span class="_ _11"> </span>the<span class="_ _a"> </span>original<span class="_ _e"> </span>one<span class="_ _11"> </span>is<span class="_ _a"> </span>not<span class="_ _11"> </span>allo<span class="_ _6"></span>w<span class="_ _6"></span>ed<span class="_ _a"> </span>and<span class="_ _11"> </span>it<span class="_ _a"> </span>is<span class="_ _11"> </span>classified<span class="_ _a"> </span>as</div><div class="t m0 x1 h13 y368 ffa fs7 fc0 sc0 ls0 ws0">undefined<span class="_ _11"> </span>b<span class="_ _b"></span>ehavio<span class="_ _6"></span>r</div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">89/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf64" class="pf w0 h0" data-page-no="64"><div class="pc pc64 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _4"></span>ype<span class="_ _f"> </span>Punning<span class="_ _5b"> </span>2/2</div><div class="t m0 x1 he y178 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>slow<span class="_ _f"> </span>without<span class="_ _d"> </span>optimizations.<span class="_ _8"> </span>The<span class="_ _d"> </span>branch<span class="_ _f"> </span>breaks<span class="_ _f"> </span>the<span class="_ _f"> </span>CPU<span class="_ _f"> </span>instruction<span class="_ _d"> </span>pipeline</div><div class="t m0 x1 he y213 ff5 fs8 fc4 sc0 ls0 ws0">float<span class="_"> </span><span class="ffc fc3">abs<span class="fc0">(</span></span>float<span class="_"> </span><span class="ffc fc0">x)<span class="_ _f"> </span>{</span></div><div class="t m0 x22 he y17a ff5 fs8 fc7 sc0 ls0 ws0">return<span class="_"> </span><span class="ffc fc0">(x<span class="_ _f"> </span><span class="fc5">&lt;<span class="_ _f"> </span>0.0f</span>)<span class="_ _d"> </span><span class="fc5">?<span class="_ _8"> </span>-</span>x<span class="_ _d"> </span><span class="fc5">:<span class="_ _f"> </span></span>x;</span></div><div class="t m0 x1 he y214 ffc fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 he y215 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>optimized<span class="_ _f"> </span>with<span class="_ _d"> </span>bitwise<span class="_ _8"> </span>operation</div><div class="t m0 x1 he y2f3 ff5 fs8 fc4 sc0 ls0 ws0">float<span class="_"> </span><span class="ffc fc3">abs<span class="fc0">(</span></span>float<span class="_"> </span><span class="ffc fc0">x)<span class="_ _f"> </span>{</span></div><div class="t m0 x22 he y216 ff5 fs8 fc4 sc0 ls0 ws0">unsigned<span class="_"> </span><span class="ffc fc0">uvalue<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span></span><span class="fc7">reinterpret_cast<span class="ffc fc5">&lt;</span></span>unsigned<span class="ffc fc5">&amp;&gt;<span class="fc0">(x);</span></span></div><div class="t m0 x22 he y217 ff5 fs8 fc4 sc0 ls0 ws0">unsigned<span class="_"> </span><span class="ffc fc0">tmp<span class="_ _43"> </span><span class="fc5">=<span class="_ _d"> </span></span>uvalue<span class="_ _f"> </span><span class="fc5">&amp;<span class="_ _f"> </span>0x7FFFFFFF</span>;<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>clear<span class="_ _d"> </span>the<span class="_ _8"> </span>last<span class="_ _d"> </span>bit</span></span></div><div class="t m0 x22 he y2f4 ff5 fs8 fc7 sc0 ls0 ws0">return<span class="_"> </span>reinterpret_cast<span class="ffc fc5">&lt;</span><span class="fc4">float<span class="ffc fc5">&amp;&gt;<span class="fc0">(tmp);</span></span></span></div><div class="t m0 x1 he y218 ffc fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 he y219 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>this<span class="_ _f"> </span>is<span class="_ _d"> </span>undefined<span class="_ _8"> </span>behavior!!</div><div class="t m0 x1 h6 y369 ff4 fs4 fc0 sc0 ls0 ws0">GCC<span class="_ _e"> </span>wa<span class="_ _6"></span>rning<span class="_ _e"> </span>(not<span class="_ _a"> </span>clang):<span class="_ _4c"> </span><span class="ff6">-Wstrict-aliasing</span></div><div class="t m0 x43 h10 y36a ff1a fs8 fcc sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ffc">blog.qt.io/blog/2011/06/10/type-punning-and-strict-aliasing</span></div><div class="t m0 x43 h10 y36b ff1a fs8 fcc sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ffc">What<span class="_ _f"> </span>is<span class="_ _f"> </span>the<span class="_ _d"> </span>Strict<span class="_ _f"> </span>Aliasing<span class="_ _f"> </span>Rule<span class="_ _f"> </span>and<span class="_ _f"> </span>Why<span class="_ _d"> </span>do<span class="_ _8"> </span>we<span class="_ _d"> </span>care?</span></div><div class="t m0 x43 h10 y36c ff1a fs8 fcc sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ffc">Type<span class="_ _f"> </span>Punning<span class="_ _f"> </span>In<span class="_ _d"> </span>C++17</span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">90/104</div><a class="l" href="https://blog.qt.io/blog/2011/06/10/type-punning-and-strict-aliasing/"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:36.707000px;width:279.726000px;height:10.212000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://gist.github.com/shafik/848ae25ee209f698763cffee272a58f8"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:22.112000px;width:246.775000px;height:9.365000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://raw.githubusercontent.com/CppCon/CppCon2017/master/Presentations/Type%20Punning%20In%20C%2B%2B17%20-%20Avoiding%20Pun-defined%20Behavior/Type%20Punning%20In%20C%2B%2B17%20-%20Avoiding%20Pun-defined%20Behavior%20-%20Scott%20Schurr%20-%20CppCon%202017.pdf"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:7.516000px;width:100.847000px;height:9.366000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf65" class="pf w0 h0" data-page-no="65"><div class="pc pc65 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h17 y7 ff5 fs3 fc1 sc0 ls0 ws0">std::bit_cast</div><div class="t m0 x1 hd y6d ff4 fs7 fc0 sc0 ls0 ws0">The<span class="_ _11"> </span>right<span class="_ _11"> </span>w<span class="_ _6"></span>a<span class="_ _6"></span>y<span class="_ _11"> </span>to<span class="_ _11"> </span>avoid<span class="_ _11"> </span>undefined<span class="_ _11"> </span>b<span class="_ _b"></span>ehavior<span class="_ _a"> </span>is<span class="_ _11"> </span>by<span class="_ _a"> </span>using<span class="_ _13"> </span><span class="ff5">memcpy</span></div><div class="t m0 x1 he y36d ffd fs8 fc10 sc0 ls0 ws0">#<span class="_ _53"> </span>include<span class="_ _4f"> </span><span class="fc6">&lt;cstring&gt;<span class="_ _12"> </span>//<span class="_ _f"> </span>std::memcpy</span></div><div class="t m0 x1 he y36e ff5 fs8 fc4 sc0 ls0 ws0">float<span class="_ _43"> </span><span class="ffc fc0">v1<span class="_ _d"> </span><span class="fc5">=<span class="_ _f"> </span>32.3f</span>;</span></div><div class="t m0 x1 he y36f ff5 fs8 fc4 sc0 ls0 ws0">unsigned<span class="_"> </span><span class="ffc fc0">v2;</span></div><div class="t m0 x1 he y370 ffc fs8 fc0 sc0 ls0 ws0">std<span class="fc5">::</span>memcpy(<span class="fc5">&amp;</span>v2,<span class="_ _f"> </span><span class="fc5">&amp;</span>v1,<span class="_ _f"> </span><span class="ff5 fc7">sizeof</span>(<span class="ff5 fc4">float</span>));</div><div class="t m0 x1 hd y371 ff4 fs7 fc0 sc0 ls0 ws0">Problems:<span class="_ _3"> </span><span class="ff6">memcpy<span class="_ _13"> </span></span>is<span class="_ _a"> </span>unsafe<span class="_ _11"> </span>if<span class="_ _11"> </span>the<span class="_ _11"> </span>variables<span class="_ _a"> </span>have<span class="_ _11"> </span>not<span class="_ _11"> </span>the<span class="_ _11"> </span>same<span class="_ _11"> </span>size<span class="_ _11"> </span>or<span class="_ _a"> </span>are<span class="_ _a"> </span>not<span class="_ _11"> </span><span class="ffa">trivially</span></div><div class="t m0 x1 hd y372 ffa fs7 fc0 sc0 ls0 ws0">cop<span class="_ _6"></span>y<span class="_ _6"></span>able<span class="ff4">.<span class="_ _d"> </span>Also,<span class="_ _a"> </span>it<span class="_ _11"> </span>do<span class="_ _b"></span>esnt<span class="_ _11"> </span>wo<span class="_ _c"></span>rk<span class="_ _11"> </span>at<span class="_ _11"> </span>compile-time<span class="_ _11"> </span>(<span class="_ _e"> </span><span class="ff6">constexpr<span class="_ _1e"> </span></span>)</span></div><div class="t m0 x1 hd y373 ff4 fs7 fca sc0 ls0 ws0">C++20<span class="_ _12"> </span><span class="ff5 fc0">std::bit_cast<span class="_ _13"> </span><span class="ff4">provides<span class="_ _a"> </span>a<span class="_ _11"> </span>safe<span class="_ _11"> </span>alternative<span class="_ _11"> </span>to<span class="_ _13"> </span><span class="ff6">reinterpret_cast<span class="_ _12"> </span></span>and</span></span></div><div class="t m0 x48 hd y374 ff6 fs7 fc0 sc0 ls0 ws0">memcpy<span class="_ _12"> </span><span class="ff4">that<span class="_ _7"> </span>also<span class="_ _11"> </span>w<span class="_ _6"></span>o<span class="_ _6"></span>rks<span class="_ _11"> </span>at<span class="_ _11"> </span>compile-time</span></div><div class="t m0 x1 he y375 ffd fs8 fc10 sc0 ls0 ws0">#<span class="_ _53"> </span>include<span class="_ _4f"> </span><span class="fc6">&lt;bit&gt;<span class="_ _12"> </span>//<span class="_ _f"> </span>std::bit_cast</span></div><div class="t m0 x1 he y376 ff5 fs8 fc7 sc0 ls0 ws0">constexpr<span class="_"> </span><span class="fc4">float<span class="_ _43"> </span><span class="ffc fc0">v1<span class="_ _d"> </span><span class="fc5">=<span class="_ _f"> </span>32.3f</span>;</span></span></div><div class="t m0 x1 he y377 ff5 fs8 fc7 sc0 ls0 ws0">constexpr<span class="_"> </span><span class="fc4">unsigned<span class="_"> </span><span class="ffc fc0">v2<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>std<span class="fc5">::</span>bit_cast<span class="fc5">&lt;</span></span>unsigned<span class="ffc fc5">&gt;<span class="fc0">(v1);</span></span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">91/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf66" class="pf w0 h0" data-page-no="66"><div class="pc pc66 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Unifo<span class="_ _c"></span>rm<span class="_ _f"> </span>Initialization<span class="_ _8"> </span>Conversion</div><div class="t m0 x1 hd y6d ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _11"> </span><span class="ff1">na<span class="_ _6"></span>rro<span class="_ _6"></span>wing<span class="_ _7"> </span>conversion<span class="_ _11"> </span><span class="ff4">o<span class="_ _b"></span>ccurs<span class="_ _11"> </span>when<span class="_ _11"> </span>the<span class="_ _11"> </span>destination<span class="_ _11"> </span>type<span class="_ _11"> </span>may<span class="_ _a"> </span>not<span class="_ _11"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span>able<span class="_ _11"> </span>to</span></span></div><div class="t m0 x1 hd y6e ff4 fs7 fc0 sc0 ls0 ws0">rep<span class="_ _6"></span>resent<span class="_ _11"> </span>all<span class="_ _11"> </span>the<span class="_ _11"> </span>values<span class="_ _11"> </span>of<span class="_ _11"> </span>the<span class="_ _11"> </span>source<span class="_ _11"> </span>t<span class="_ _6"></span>yp<span class="_ _b"></span>e</div><div class="t m0 x1 hd y84 ff1 fs7 fc0 sc0 ls0 ws0">Brace<span class="_ _7"> </span>initialization<span class="_ _13"> </span><span class="ff6">{}<span class="_ _12"> </span><span class="ff4 fca">C++11<span class="_ _11"> </span><span class="fc0">disallows<span class="_ _a"> </span>narro<span class="_ _c"></span>wing<span class="_ _11"> </span>conversions</span></span></span></div><div class="t m0 x1 he y378 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>RUN-TIME<span class="_ _f"> </span>VALUES</div><div class="t m0 x1 he y379 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_ _1f"> </span><span class="ffc fc0">a<span class="_ _d"> </span><span class="fc5">=<span class="_ _f"> </span>3</span>;</span></div><div class="t m0 x1 he y37a ff5 fs8 fc4 sc0 ls0 ws0">long<span class="_"> </span>long<span class="_ _17"> </span><span class="ffc fc0">x1{a};<span class="_ _14"> </span><span class="ffd fc6">//<span class="_ _f"> </span>ok</span></span></div><div class="t m0 x1 he y37b ffd fs8 fc6 sc0 ls0 ws0">//unsigned<span class="_ _14"> </span>x2{a};<span class="_ _14"> </span>//<span class="_ _f"> </span>compile<span class="_ _f"> </span>error,<span class="_ _d"> </span><span class="fff">&apos;</span>a<span class="fff">&apos;<span class="_ _8"> </span></span>could<span class="_ _d"> </span>be<span class="_ _f"> </span>negative</div><div class="t m0 x1 he y37c ffd fs8 fc6 sc0 ls0 ws0">//float<span class="_ _16"> </span>x3{a};<span class="_ _14"> </span>//<span class="_ _f"> </span>compile<span class="_ _f"> </span>error,<span class="_ _d"> </span><span class="fff">&apos;</span>a<span class="fff">&apos;<span class="_ _8"> </span></span>could<span class="_ _d"> </span>not<span class="_ _f"> </span>be<span class="_ _f"> </span>representable<span class="_ _f"> </span>with<span class="_ _f"> </span>float</div><div class="t m0 x1 he y37d ff5 fs8 fc4 sc0 ls0 ws0">double<span class="_ _19"> </span><span class="ffc fc0">b<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>3</span>;</span></div><div class="t m0 x1 he y37e ffd fs8 fc6 sc0 ls0 ws0">//long<span class="_ _f"> </span>long<span class="_ _f"> </span>x4{b};<span class="_ _14"> </span>//<span class="_ _d"> </span>compile<span class="_ _8"> </span>error,<span class="_ _d"> </span><span class="fff">&apos;</span>b<span class="fff">&apos;<span class="_ _f"> </span></span>could<span class="_ _f"> </span>be<span class="_ _f"> </span>a<span class="_ _f"> </span>number<span class="_ _d"> </span>with<span class="_ _f"> </span>decimals</div><div class="t m0 x1 he y37f ffd fs8 fc6 sc0 ls0 ws0">//float<span class="_ _16"> </span>x5{b};<span class="_ _14"> </span>//<span class="_ _f"> </span>compile<span class="_ _f"> </span>error,<span class="_ _d"> </span><span class="fff">&apos;</span>b<span class="fff">&apos;<span class="_ _8"> </span></span>could<span class="_ _d"> </span>not<span class="_ _f"> </span>be<span class="_ _f"> </span>representable<span class="_ _f"> </span>with<span class="_ _f"> </span>float</div><div class="t m0 x1 hd y380 ff4 fs7 fc0 sc0 ls0 ws0">gcc<span class="_ _11"> </span>issues<span class="_ _11"> </span>a<span class="_ _11"> </span>w<span class="_ _6"></span>a<span class="_ _6"></span>rning<span class="_ _11"> </span>instead<span class="_ _11"> </span>of<span class="_ _11"> </span>a<span class="_ _11"> </span>compile<span class="_ _11"> </span>error<span class="_ _a"> </span>fo<span class="_ _6"></span>r<span class="_ _11"> </span>run-time<span class="_ _11"> </span>narro<span class="_ _c"></span>wing<span class="_ _11"> </span>conversions</div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">92/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf67" class="pf w0 h0" data-page-no="67"><div class="pc pc67 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Unifo<span class="_ _c"></span>rm<span class="_ _f"> </span>Initialization<span class="_ _8"> </span>Conversion</div><div class="t m0 x1 he y381 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>COMPILE-TIME<span class="_ _f"> </span>VALUES</div><div class="t m0 x1 he y382 ff5 fs8 fc7 sc0 ls0 ws0">constexpr<span class="_"> </span><span class="fc4">int<span class="_"> </span><span class="ffc fc0">c<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>3</span>;</span></span></div><div class="t m0 x1 he y383 ff5 fs8 fc4 sc0 ls0 ws0">unsigned<span class="_ _19"> </span><span class="ffc fc0">x6{c};<span class="_ _17"> </span><span class="ffd fc6">//<span class="_ _f"> </span>ok</span></span></div><div class="t m0 x1 he y384 ff5 fs8 fc7 sc0 ls0 ws0">constexpr<span class="_"> </span><span class="fc4">int<span class="_"> </span><span class="ffc fc0">d<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>-1</span>;</span></span></div><div class="t m0 x1 he y385 ff5 fs8 fc4 sc0 ls0 ws0">unsigned<span class="_ _19"> </span><span class="ffc fc0">x7{d};<span class="_ _17"> </span><span class="ffd fc6">//<span class="_ _f"> </span>compile<span class="_ _f"> </span>error,<span class="_ _d"> </span><span class="fff">&apos;</span>d<span class="fff">&apos;<span class="_ _8"> </span></span>is<span class="_ _d"> </span>negative</span></span></div><div class="t m0 x1 he y386 ff5 fs8 fc7 sc0 ls0 ws0">constexpr<span class="_"> </span><span class="fc4">float<span class="_"> </span><span class="ffc fc0">e<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>4</span>;</span></span></div><div class="t m0 x1 he y387 ffd fs8 fc6 sc0 ls0 ws0">//int<span class="_ _59"> </span>x8{e};<span class="_ _d"> </span>//<span class="_ _f"> </span>compile<span class="_ _f"> </span>error,<span class="_ _f"> </span><span class="fff">&apos;</span>float<span class="fff">&apos;<span class="_ _f"> </span></span>cannot<span class="_ _d"> </span>be<span class="_ _8"> </span>narrowed<span class="_ _d"> </span>to<span class="_ _f"> </span><span class="fff">&apos;</span>int<span class="fff">&apos;</span></div><div class="t m0 x1 he y388 ff5 fs8 fc7 sc0 ls0 ws0">constexpr<span class="_"> </span><span class="fc4">double<span class="_"> </span><span class="ffc fc0">f<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span></span>std<span class="fc5">::</span>numbers<span class="fc5">::</span>pi_v<span class="fc5">&lt;</span></span>double<span class="ffc fc5">&gt;<span class="fc0">;<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _8"> </span><span class="ff1b">π<span class="_ _0"> </span></span>,<span class="_ _f"> </span>C++20<span class="_ _f"> </span>&lt;numbers&gt;</span></span></span></span></div><div class="t m0 x1 he y389 ff5 fs8 fc4 sc0 ls0 ws0">float<span class="_ _2f"> </span><span class="ffc fc0">x9{f};<span class="_ _29"> </span><span class="ffd fc6">//<span class="_ _f"> </span>ok</span></span></div><div class="t m0 x1 he y38a ff5 fs8 fc7 sc0 ls0 ws0">constexpr<span class="_"> </span><span class="fc4">double<span class="_"> </span><span class="ffc fc0">g<span class="_ _f"> </span><span class="fc5">=<span class="_ _f"> </span>1e+40</span>;</span></span></div><div class="t m0 x1 he y38b ffd fs8 fc6 sc0 ls0 ws0">//float<span class="_ _1d"> </span>x10{g};<span class="_ _d"> </span>//<span class="_ _f"> </span>compile<span class="_ _f"> </span>error,<span class="_ _f"> </span>too<span class="_ _f"> </span>large<span class="_ _d"> </span>for<span class="_ _8"> </span><span class="fff">&apos;</span>float<span class="fff">&apos;</span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">93/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf68" class="pf w0 h0" data-page-no="68"><div class="pc pc68 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h17 y7 ff5 fs3 fc1 sc0 ls0 ws0">gls::narrow_cast</div><div class="t m0 x4c h12 ya6 ff9 fs5 fc1 sc0 ls0 ws0">⋆</div><div class="t m0 x1 hd y38c ff4 fs7 fc0 sc0 ls0 ws0">The<span class="_ _11"> </span><span class="ff6">Guidelines<span class="_ _20"> </span>Support<span class="_ _20"> </span>Library<span class="_ _20"> </span>(GSL)<span class="_ _1e"> </span><span class="ff17 fs9"><span class="_ _11"> </span></span></span>contains<span class="_ _11"> </span>functions<span class="_ _11"> </span>and<span class="_ _11"> </span>types<span class="_ _11"> </span>that<span class="_ _11"> </span>are</div><div class="t m0 x1 hd y38d ff4 fs7 fc0 sc0 ls0 ws0">suggested<span class="_ _11"> </span>fo<span class="_ _6"></span>r<span class="_ _11"> </span>use<span class="_ _11"> </span>b<span class="_ _6"></span>y<span class="_ _11"> </span>the<span class="_ _11"> </span><span class="ff6">C++<span class="_ _20"> </span>Core<span class="_ _20"> </span>Guidelines<span class="_ _1e"> </span><span class="ff17 fs9"><span class="_ _11"> </span></span></span>maintained<span class="_ _11"> </span>by<span class="_ _a"> </span>the<span class="_ _11"> </span>Standard<span class="_ _a"> </span>C++</div><div class="t m0 x1 hd y38e ff4 fs7 fc0 sc0 ls0 ws0">F<span class="_ _6"></span>oundation</div><div class="t m0 x1 hd y38f ff4 fs7 fc0 sc0 ls0 ws0">GLS<span class="_ _11"> </span>offers<span class="_ _12"> </span><span class="ff5">narrow_cast<span class="_ _13"> </span></span>op<span class="_ _b"></span>eration<span class="_ _11"> </span>for<span class="_ _a"> </span>sp<span class="_ _b"></span>ecifying<span class="_ _11"> </span>that<span class="_ _11"> </span>narro<span class="_ _c"></span>wing<span class="_ _11"> </span>is<span class="_ _11"> </span>acceptable<span class="_ _11"> </span>and<span class="_ _11"> </span>a</div><div class="t m0 x48 hd y390 ff5 fs7 fc0 sc0 ls0 ws0">narrow<span class="_ _12"> </span><span class="ff4">(“narro<span class="_ _c"></span>w<span class="_ _11"> </span>if<span class="_ _55"></span>”)<span class="_ _a"> </span>that<span class="_ _11"> </span>throws<span class="_ _a"> </span>an<span class="_ _11"> </span>exception<span class="_ _11"> </span>if<span class="_ _11"> </span>a<span class="_ _11"> </span>narro<span class="_ _c"></span>wing<span class="_ _11"> </span>w<span class="_ _6"></span>ould<span class="_ _11"> </span>thro<span class="_ _6"></span>w<span class="_ _11"> </span>a<span class="_ _6"></span>w<span class="_ _6"></span>ay<span class="_ _a"> </span>legal</span></div><div class="t m0 x1 hd y391 ff4 fs7 fc0 sc0 ls0 ws0">values</div><div class="t m0 x1 he y1d7 ffd fs8 fc10 sc0 ls0 ws0">#<span class="_ _53"> </span>include<span class="_ _4f"> </span><span class="fc6">&lt;gsl/gsl&gt;</span></div><div class="t m0 x1 he y392 ff5 fs8 fc4 sc0 ls0 ws0">double<span class="_"> </span><span class="ffc fc0">a<span class="_ _14"> </span><span class="fc5">=<span class="_ _f"> </span>1.1</span>;</span></div><div class="t m0 x1 he y1d9 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_ _43"> </span><span class="ffc fc0">x1<span class="_ _d"> </span><span class="fc5">=<span class="_ _f"> </span></span>gsl<span class="fc5">::</span>narrow_cast<span class="fc5">&lt;</span></span>int<span class="ffc fc5">&gt;<span class="fc0">(d);<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>ok,<span class="_ _f"> </span>explicit<span class="_ _d"> </span>narrowing:<span class="_ _8"> </span><span class="fff">&apos;</span>a<span class="fff">&apos;<span class="_ _d"> </span></span>becomes<span class="_ _f"> </span>1</span></span></span></div><div class="t m0 x1 he y1da ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_ _43"> </span><span class="ffc fc0">x2<span class="_ _d"> </span><span class="fc5">=<span class="_ _f"> </span></span>gsl<span class="fc5">::</span>narrow<span class="fc5">&lt;</span></span>int<span class="ffc fc5">&gt;<span class="fc0">(d);<span class="_ _19"> </span><span class="ffd fc6">//<span class="_ _f"> </span>ok,<span class="_ _f"> </span>throws<span class="_ _f"> </span><span class="fff">&apos;</span>narrowing_error<span class="fff">&apos;</span></span></span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">94/104</div><a class="l" href="https://github.com/microsoft/GSL/tree/main"><div class="d m1" style="border-style:none;position:absolute;left:48.896000px;bottom:196.436000px;width:194.272000px;height:11.992000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines"><div class="d m1" style="border-style:none;position:absolute;left:141.380000px;bottom:181.157000px;width:119.818000px;height:11.690000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf69" class="pf w0 h0" data-page-no="69"><div class="pc pc69 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x10 h2 y25e ff5 fs0 fc0 sc0 ls0 ws0">sizeof<span class="_ _1"> </span><span class="ff1">and<span class="_ _1"> </span></span>alignof</div><div class="t m0 x10 h2 y25f ff1 fs0 fc0 sc0 ls0 ws0">Op<span class="_ _0"></span>erato<span class="_ _4"></span>rs</div><a class="l" href="#pf69" data-dest-detail='[105,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:149.070000px;width:241.993000px;height:24.573000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf69" data-dest-detail='[105,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:115.247000px;width:113.830000px;height:24.025000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf6a" class="pf w0 h0" data-page-no="6a"><div class="pc pc6a w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">sizeof<span class="_ _8"> </span><span class="ff1">op<span class="_ _b"></span>erator<span class="_ _5c"> </span>1/2</span></div><div class="t m0 xe h14 y393 ff5 fs7 fc1 sc0 ls0 ws0">sizeof</div><div class="t m0 xe hd y394 ff4 fs7 fc0 sc0 ls0 ws0">The<span class="_ _11"> </span><span class="ff6 fc3">sizeof<span class="_ _1e"> </span></span><span class="ff17 fs9"><span class="_ _11"> </span></span>is<span class="_ _11"> </span>a<span class="_ _11"> </span>compile-time<span class="_ _11"> </span>op<span class="_ _0"></span>erato<span class="_ _c"></span>r<span class="_ _11"> </span>(keyw<span class="_ _c"></span>ord)<span class="_ _a"> </span>that<span class="_ _11"> </span>determines<span class="_ _11"> </span>the<span class="_ _11"> </span>size,<span class="_ _11"> </span>in</div><div class="t m0 xe hd y395 ff4 fs7 fc0 sc0 ls0 ws0">b<span class="_ _6"></span>ytes,<span class="_ _11"> </span>of<span class="_ _11"> </span>a<span class="_ _11"> </span><span class="ffa">va<span class="_ _6"></span>riable<span class="_ _8"> </span><span class="ff4">o<span class="_ _6"></span>r<span class="_ _11"> </span><span class="ffa">data<span class="_ _11"> </span>type</span></span></span></div><div class="t m0 x1 hd y396 ff4 fs7 fc0 sc0 ls0 ws0">Basic<span class="_ _11"> </span>p<span class="_ _6"></span>rop<span class="_ _b"></span>erties:</div><div class="t m0 x11 hd y397 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _1a"> </span><span class="ff6">sizeof<span class="_ _12"> </span><span class="ff4">returns<span class="_ _7"> </span>a<span class="_ _11"> </span>value<span class="_ _11"> </span>of<span class="_ _11"> </span>t<span class="_ _6"></span>yp<span class="_ _b"></span>e<span class="_ _13"> </span><span class="ff6">size_t</span></span></span></div><div class="t m0 x11 hd y398 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _1a"> </span><span class="ff6">sizeof(anything)<span class="_ _12"> </span><span class="ff4">never<span class="_ _7"> </span>returns<span class="_ _11"> </span></span>0<span class="_ _11"> </span><span class="ff4">(<span class="ff1">*</span>)</span></span></div><div class="t m0 x11 hd y399 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _1a"> </span><span class="ff6">sizeof(char/signed<span class="_ _20"> </span>char/unsigned<span class="_ _20"> </span>char)<span class="_ _12"> </span><span class="ff4">alwa<span class="_ _c"></span>ys<span class="_ _11"> </span>returns<span class="_ _11"> </span><span class="ff6">1</span></span></span></div><div class="t m0 x11 hd y39a ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _1a"> </span><span class="ff6">sizeof(incomplete<span class="_ _20"> </span>type)<span class="_ _12"> </span><span class="ff4">produces<span class="_ _11"> </span>compile<span class="_ _11"> </span>error,<span class="_ _a"> </span>e.g.<span class="_ _3"> </span></span>void</span></div><div class="t m0 x11 h10 y39b ff1 fs8 fcc sc0 ls0 ws0">*<span class="_ _4f"> </span><span class="ffc">gcc<span class="_ _4f"> </span><span class="ff13">allo<span class="_ _6"></span>ws<span class="_ _e"> </span>arra<span class="_ _c"></span>y<span class="_ _e"> </span>of<span class="_ _e"> </span>size<span class="_ _e"> </span>0<span class="_ _e"> </span>(not<span class="_ _e"> </span>allo<span class="_ _6"></span>wed<span class="_ _1e"> </span>by<span class="_ _1e"> </span>the<span class="_ _e"> </span>C++<span class="_ _e"> </span>standard)</span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">95/104</div><a class="l" href="https://en.cppreference.com/w/cpp/language/sizeof"><div class="d m1" style="border-style:none;position:absolute;left:52.532000px;bottom:182.261000px;width:45.364000px;height:12.755000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf6b" class="pf w0 h0" data-page-no="6b"><div class="pc pc6b w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIyUlEQVR42u3ZsU0DQRCGUS+6EdGIGhARFSBEjOTOaIJyCCiCDoisjdjkyIixQLo573sVnP9z8Gmu3T08HQAAoIyP97crKwAAUI1IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQDgRxtjWAEAgDoiwiUVAIByRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAGa37OhZe+9TvZvM9AcFAObkkgoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAAttXGGFYAAKCOiHBJBQCgHJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAABwhsUEv9d7NwJwATLTCEBxLqkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgDAv2pjDCsAAFBHRLikAgBQjkgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAM6y7OhZe+9TvZvM9AcFAObkkgoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAAttXGGFYAAKCOiHBJBQCgHJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBINQEAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAABQwbKjZ+29e2Fwrsw0AgC745IKAEA5iwkAmNy+vtT5PMIkXFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAwLYWEwAwucw0AlTjkgoAgEgFAACRCgCASAUAgL9qYwwrAABQR0S4pAIAUI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAwNaW08utFQAA9uvz+fXCftH947G1m+v19HU4rOvqFQMAUMI3uuYvJ4zbveoAAAAASUVORK5CYII="/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">sizeof<span class="_ _8"> </span><span class="ff1">op<span class="_ _b"></span>erator<span class="_ _5c"> </span>2/2</span></div><div class="t m0 x48 hd y6d ff6 fs7 fc0 sc0 ls0 ws0">sizeof<span class="_ _12"> </span><span class="ff4">of<span class="_ _7"> </span><span class="ffa">fundamental<span class="_ _11"> </span>t<span class="_ _6"></span>yp<span class="_ _b"></span>es<span class="_ _f"> </span><span class="ff4">is<span class="_ _a"> </span>simply<span class="_ _11"> </span>the<span class="_ _11"> </span>numb<span class="_ _b"></span>er<span class="_ _11"> </span>of<span class="_ _11"> </span>bytes<span class="_ _a"> </span>defined<span class="_ _11"> </span>by<span class="_ _a"> </span>the<span class="_ _11"> </span>c++<span class="_ _11"> </span>data</span></span></span></div><div class="t m0 x1 hd y6e ff4 fs7 fc0 sc0 ls0 ws0">mo<span class="_ _b"></span>del</div><div class="t m0 x11 h6 y39c ffb fs4 fc0 sc0 ls0 ws0">•<span class="_ _1a"> </span><span class="ff6">sizeof(char/signed<span class="_ _d"> </span>char/unsigned<span class="_ _5"> </span>char)<span class="_ _4f"> </span><span class="ff4">alwa<span class="_ _c"></span>ys<span class="_ _a"> </span>returns<span class="_ _a"> </span><span class="ff6">1</span></span></span></div><div class="t m0 x48 hd y39d ff6 fs7 fc0 sc0 ls0 ws0">sizeof<span class="_ _12"> </span><span class="ff4">applied<span class="_ _7"> </span>to<span class="_ _11"> </span><span class="ffa">comp<span class="_ _b"></span>ound<span class="_ _11"> </span>t<span class="_ _6"></span>yp<span class="_ _b"></span>es<span class="_ _f"> </span><span class="ff4">(non<span class="_ _a"> </span>fundamental<span class="_ _11"> </span>types):</span></span></span></div><div class="t m0 x33 hd y39e ff6 fs7 fc0 sc0 ls0 ws0">Pointer<span class="ff4">:<span class="_"> </span>Numb<span class="_ _b"></span>er<span class="_ _11"> </span>of<span class="_ _11"> </span>b<span class="_ _6"></span>ytes<span class="_ _11"> </span>of<span class="_ _11"> </span>a<span class="_ _11"> </span>p<span class="_ _b"></span>ointer<span class="_ _11"> </span>defined<span class="_ _11"> </span>by<span class="_ _a"> </span>the<span class="_ _11"> </span>c++<span class="_ _11"> </span>data<span class="_ _11"> </span>mo<span class="_ _b"></span>del</span></div><div class="t m0 x22 hd y39f ff6 fs7 fc0 sc0 ls0 ws0">Reference<span class="ff4">:<span class="_"> </span>Size<span class="_ _11"> </span>of<span class="_ _11"> </span>the<span class="_ _11"> </span>referenced<span class="_ _11"> </span>t<span class="_ _6"></span>yp<span class="_ _b"></span>e</span></div><div class="t m0 x4d hd y3a0 ff6 fs7 fc0 sc0 ls0 ws0">Array<span class="ff4">:<span class="_"> </span>Size<span class="_ _11"> </span>of<span class="_ _11"> </span>a<span class="_ _11"> </span>single<span class="_ _11"> </span>element<span class="_ _11"> </span>t<span class="_ _6"></span>yp<span class="_ _b"></span>e<span class="_ _11"> </span>multiplied<span class="_ _11"> </span>by<span class="_ _a"> </span>the<span class="_ _11"> </span>numb<span class="_ _b"></span>er<span class="_ _11"> </span>of<span class="_ _11"> </span>elements<span class="_ _11"> </span>in</span></div><div class="t m0 x24 hd y3a1 ff4 fs7 fc0 sc0 ls0 ws0">the<span class="_ _11"> </span>a<span class="_ _6"></span>rra<span class="_ _6"></span>y</div><div class="t m0 x48 hd y3a2 ff6 fs7 fc0 sc0 ls0 ws0">struct/class<span class="ff4">:<span class="_"> </span>Sum<span class="_ _11"> </span>of<span class="_ _11"> </span>the<span class="_ _11"> </span>data<span class="_ _11"> </span>memb<span class="_ _b"></span>er<span class="_ _11"> </span>sizes<span class="_ _11"> </span>+<span class="_ _11"> </span>internal<span class="_ _11"> </span>padding<span class="_ _11"> </span>(<span class="ffa">alignment<span class="_ _0"></span></span>)</span></div><div class="t m0 x48 hd y3a3 ff6 fs7 fc0 sc0 ls0 ws0">sizeof(incomplete<span class="_ _20"> </span>type)<span class="_ _12"> </span><span class="ff4">produces<span class="_ _11"> </span>compile<span class="_ _11"> </span>error,<span class="_ _a"> </span>e.g.<span class="_ _3"> </span></span>void</div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">96/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf6c" class="pf w0 h0" data-page-no="6c"><div class="pc pc6c w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIjUlEQVR42u3YsU0EQQxA0Rm0FtGIGk5EVIAQMdJ1RhOUQ3BF0AHRaSKcLBk5GyAPeq8Cy06+3O8fnxsAAJTxcXm/sQUAAKoRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAA/OiZaQsAANQRET6pAACUI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAgF/ZFpp1zulgAADHjDEWmtYnFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAAHBEz0xbAACgjojwSQUAoByRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAB/bFto1jmngwEAHDPGWGhan1QAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAESqFQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAArbXWM9MWAACoIyJ8UgEAKEekAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAKCq7fp6sgUAgH/p8+VtxbEfns69393u16/W9n13RwAASvgGfFIgAAHklMoAAAAASUVORK5CYII="/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">sizeof<span class="_ _8"> </span><span class="ff1">-<span class="_ _f"> </span>P<span class="_ _c"></span>ointer</span></div><div class="t m0 x1 he y3a4 ff5 fs8 fc7 sc0 ls0 ws0">sizeof<span class="ffc fc0">(</span><span class="fc4">int<span class="ffc fc0">);<span class="_ _17"> </span><span class="ffd fc6">//<span class="_ _f"> </span>4<span class="_ _f"> </span>bytes</span></span></span></div><div class="t m0 x1 he y3a5 ff5 fs8 fc7 sc0 ls0 ws0">sizeof<span class="ffc fc0">(</span><span class="fc4">int<span class="ffc fc5">*<span class="fc0">)<span class="_ _17"> </span><span class="ffd fc6">//<span class="_ _f"> </span>8<span class="_ _f"> </span>bytes<span class="_ _d"> </span>on<span class="_ _8"> </span>a<span class="_ _d"> </span>64-bit<span class="_ _f"> </span>OS</span></span></span></span></div><div class="t m0 x1 he y3a6 ff5 fs8 fc7 sc0 ls0 ws0">sizeof<span class="ffc fc0">(</span><span class="fc4">void<span class="ffc fc5">*<span class="fc0">)<span class="_ _14"> </span><span class="ffd fc6">//<span class="_ _f"> </span>8<span class="_ _f"> </span>bytes<span class="_ _d"> </span>on<span class="_ _8"> </span>a<span class="_ _d"> </span>64-bit<span class="_ _f"> </span>OS</span></span></span></span></div><div class="t m0 x1 he y3a7 ff5 fs8 fc7 sc0 ls0 ws0">sizeof<span class="ffc fc0">(</span><span class="fc4">size_t<span class="ffc fc0">)<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>8<span class="_ _d"> </span>bytes<span class="_ _8"> </span>on<span class="_ _d"> </span>a<span class="_ _f"> </span>64-bit<span class="_ _f"> </span>OS</span></span></span></div><div class="t m0 x1 he y3a8 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc3">f<span class="fc0">(</span></span>int<span class="_"> </span><span class="ffc fc0">array[])<span class="_ _f"> </span>{<span class="_ _15"> </span><span class="ffd fc6">//<span class="_ _f"> </span>dangerous!!</span></span></div><div class="t m0 x22 he y3a9 ffc fs8 fc0 sc0 ls0 ws0">cout<span class="_ _f"> </span><span class="fc5">&lt;&lt;<span class="_ _f"> </span><span class="ff5 fc7">sizeof</span></span>(array);</div><div class="t m0 x1 he y3aa ffc fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 he y3ab ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_ _14"> </span><span class="ffc fc0">array1[<span class="fc5">10</span>];</span></div><div class="t m0 x1 he y3ac ff5 fs8 fc4 sc0 ls0 ws0">int<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">array2<span class="_ _f"> </span></span>=<span class="_ _d"> </span></span><span class="fc7">new<span class="_"> </span></span>int<span class="ffc fc0">[<span class="fc5">10</span>];</span></div><div class="t m0 x1 he y3ad ffc fs8 fc0 sc0 ls0 ws0">cout<span class="_ _f"> </span><span class="fc5">&lt;&lt;<span class="_ _f"> </span><span class="ff5 fc7">sizeof</span></span>(array1);<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _8"> </span>sizeof(int)<span class="_ _d"> </span>*<span class="_ _f"> </span>10<span class="_ _f"> </span>=<span class="_ _f"> </span>40<span class="_ _f"> </span>bytes</span></div><div class="t m0 x1 he y3ae ffc fs8 fc0 sc0 ls0 ws0">cout<span class="_ _f"> </span><span class="fc5">&lt;&lt;<span class="_ _f"> </span><span class="ff5 fc7">sizeof</span></span>(array2);<span class="_ _d"> </span><span class="ffd fc6">//<span class="_ _8"> </span>sizeof(int*)<span class="_ _d"> </span>=<span class="_ _f"> </span>8<span class="_ _f"> </span>bytes</span></div><div class="t m0 x1 he y3af ffc fs8 fc0 sc0 ls0 ws0">f(array1);<span class="_ _56"> </span><span class="ffd fc6">//<span class="_ _f"> </span>8<span class="_ _f"> </span>bytes<span class="_ _d"> </span>(64-bit<span class="_ _8"> </span>OS)</span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">97/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf6d" class="pf w0 h0" data-page-no="6d"><div class="pc pc6d w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIdklEQVR42u3YsQkCQRBA0V25xWixBjGyAhFjwc5swnIMLMIOjI6L3GTNLMDEOe69CoaZ5DN5dzglAAAI4/m4r2wBAIBoRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAAF+5tWYLAADEUUrxSQUAIByRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAIC5G2Y06zRNDgYA8Jta64ym9UkFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkWgEAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAYAFya80WAACIo5TikwoAQDgiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAMD/DON1awsAAEvzOt/CzrY/XnLerPv4Tqn37lgAAITwAQ52GgKJPZPCAAAAAElFTkSuQmCC"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">sizeof<span class="_ _8"> </span><span class="ff1">-<span class="_ _f"> </span>Reference<span class="_ _8"> </span>and<span class="_ _8"> </span>Array</span></div><div class="t m0 x1 he y178 ff5 fs8 fc4 sc0 ls0 ws0">char<span class="_ _14"> </span><span class="ffc fc0">a;</span></div><div class="t m0 x1 he y213 ff5 fs8 fc4 sc0 ls0 ws0">char<span class="ffc fc5">&amp;<span class="_ _f"> </span><span class="fc0">b<span class="_ _f"> </span></span>=<span class="_ _d"> </span><span class="fc0">a;</span></span></div><div class="t m0 x1 he y17a ff5 fs8 fc7 sc0 ls0 ws0">sizeof<span class="ffc fc0">(<span class="fc5">&amp;</span>a);<span class="_ _16"> </span><span class="ffd fc6">//<span class="_ _f"> </span>8<span class="_ _f"> </span>bytes<span class="_ _d"> </span>in<span class="_ _8"> </span>a<span class="_ _d"> </span>64-bit<span class="_ _f"> </span>OS<span class="_ _f"> </span>(pointer)</span></span></div><div class="t m0 x1 he y214 ff5 fs8 fc7 sc0 ls0 ws0">sizeof<span class="ffc fc0">(b);<span class="_ _19"> </span><span class="ffd fc6">//<span class="_ _f"> </span>1<span class="_ _f"> </span>byte,<span class="_ _d"> </span>equal<span class="_ _8"> </span>to<span class="_ _d"> </span>sizeof(char)</span></span></div><div class="t m0 x41 he y215 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>NOTE:<span class="_ _f"> </span>a<span class="_ _d"> </span>reference<span class="_ _8"> </span>is<span class="_ _d"> </span>not<span class="_ _f"> </span>a<span class="_ _f"> </span>pointer</div><div class="t m0 x1 he y2f3 ff5 fs8 fc7 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc3">S1<span class="_"> </span><span class="ffc fc0">{</span></span></div><div class="t m0 x22 he y216 ff5 fs8 fc4 sc0 ls0 ws0">void<span class="ffc fc5">*<span class="_ _f"> </span><span class="fc0">p;</span></span></div><div class="t m0 x1 he y217 ffc fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 he y2f4 ff5 fs8 fc7 sc0 ls0 ws0">sizeof<span class="ffc fc0">(S1);<span class="_ _16"> </span><span class="ffd fc6">//<span class="_ _f"> </span>8<span class="_ _f"> </span>bytes</span></span></div><div class="t m0 x1 he y219 ff5 fs8 fc7 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc3">S2<span class="_"> </span><span class="ffc fc0">{</span></span></div><div class="t m0 x22 he y3b0 ff5 fs8 fc4 sc0 ls0 ws0">char<span class="ffc fc5">&amp;<span class="_ _f"> </span><span class="fc0">c;</span></span></div><div class="t m0 x1 he y21a ffc fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 he y3b1 ff5 fs8 fc7 sc0 ls0 ws0">sizeof<span class="ffc fc0">(S2);<span class="_ _16"> </span><span class="ffd fc6">//<span class="_ _f"> </span>8<span class="_ _f"> </span>bytes,<span class="_ _d"> </span>same<span class="_ _8"> </span>as<span class="_ _d"> </span>sizeof(void*)</span></span></div><div class="t m0 x1 he y21b ff5 fs8 fc7 sc0 ls0 ws0">sizeof<span class="ffc fc0">(S2{}.c);<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>1<span class="_ _d"> </span>byte</span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">98/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf6e" class="pf w0 h0" data-page-no="6e"><div class="pc pc6e w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">sizeof<span class="_ _8"> </span><span class="ff1">-<span class="_ _f"> </span>Sp<span class="_ _b"></span>ecial<span class="_ _8"> </span>Cases</span></div><div class="t m0 x1 he y3b2 ff5 fs8 fc7 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc3">A<span class="_"> </span><span class="ffc fc0">{};</span></span></div><div class="t m0 x1 he y3b3 ff5 fs8 fc7 sc0 ls0 ws0">sizeof<span class="ffc fc0">(A);<span class="_ _19"> </span><span class="ffd fc6">//<span class="_ _f"> </span>1<span class="_ _f"> </span>:<span class="_ _d"> </span>sizeof<span class="_ _8"> </span>never<span class="_ _d"> </span>return<span class="_ _f"> </span>0</span></span></div><div class="t m0 x1 he y3b4 ffc fs8 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span>array1[<span class="fc5">10</span>];</div><div class="t m0 x1 he y3b5 ff5 fs8 fc7 sc0 ls0 ws0">sizeof<span class="ffc fc0">(array1);<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>10<span class="_ _d"> </span>:<span class="_ _8"> </span>array<span class="_ _d"> </span>of<span class="_ _f"> </span>empty<span class="_ _f"> </span>structures</span></span></div><div class="t m0 x1 he y3b6 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">array2[<span class="fc5">0</span>];<span class="_ _14"> </span><span class="ffd fc6">//<span class="_ _f"> </span>C++<span class="_ _f"> </span>doesn<span class="fff">&apos;</span>t<span class="_ _d"> </span>allow<span class="_ _8"> </span>array<span class="_ _d"> </span>of<span class="_ _f"> </span>size<span class="_ _f"> </span>0,<span class="_ _f"> </span>as<span class="_ _f"> </span>opposed<span class="_ _d"> </span>to<span class="_ _f"> </span>C</span></span></div><div class="t m0 x41 he y3b7 ffd fs8 fc6 sc0 ls0 ws0">//<span class="_ _f"> </span>only<span class="_ _f"> </span>gcc,<span class="_ _d"> </span>compiler<span class="_ _8"> </span>error<span class="_ _d"> </span>for<span class="_ _f"> </span>other<span class="_ _f"> </span>compilers</div><div class="t m0 x1 he y3b8 ff5 fs8 fc7 sc0 ls0 ws0">sizeof<span class="ffc fc0">(array2);<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>0<span class="_ _d"> </span>:<span class="_ _8"> </span>special<span class="_ _d"> </span>case</span></span></div><div class="t m0 x13 h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">99/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf6f" class="pf w0 h0" data-page-no="6f"><div class="pc pc6f w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">alignof<span class="_ _8"> </span><span class="ff1">op<span class="_ _b"></span>erator<span class="_ _5d"> </span>1/2</span></div><div class="t m0 xe hd y3b9 ff5 fs7 fc1 sc0 ls0 ws0">alignof<span class="_ _7"> </span><span class="ff1">(C++11)</span></div><div class="t m0 xe hd y3ba ff4 fs7 fc0 sc0 ls0 ws0">The<span class="_ _11"> </span><span class="ff6 fc3">alignof<span class="_ _1e"> </span></span><span class="ff17 fs9"><span class="_ _11"> </span></span>is<span class="_ _11"> </span>a<span class="_ _11"> </span>compile-time<span class="_ _11"> </span>op<span class="_ _0"></span>erato<span class="_ _c"></span>r<span class="_ _11"> </span>(keyw<span class="_ _c"></span>ord)<span class="_ _a"> </span>that<span class="_ _11"> </span>determines<span class="_ _11"> </span>the<span class="_ _11"> </span>alignment</div><div class="t m0 xe hd y53 ff4 fs7 fc0 sc0 ls0 ws0">requirements,<span class="_ _11"> </span>in<span class="_ _11"> </span>b<span class="_ _6"></span>ytes,<span class="_ _11"> </span>of<span class="_ _11"> </span>a<span class="_ _11"> </span><span class="ffa">data<span class="_ _11"> </span>t<span class="_ _6"></span>yp<span class="_ _b"></span>e</span></div><div class="t m0 x1 hd y3bb ff4 fs7 fc0 sc0 ls0 ws0">Basic<span class="_ _11"> </span>p<span class="_ _6"></span>rop<span class="_ _b"></span>erties:</div><div class="t m0 x11 hd y3bc ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _1a"> </span><span class="ff6">/*memory<span class="_ _20"> </span>address*/std::addressof(var)<span class="_ _20"> </span>%<span class="_ _20"> </span>alignof(var_type)<span class="_ _5"> </span>==<span class="_ _20"> </span>0</span></div><div class="t m0 x11 hd y3bd ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _1a"> </span><span class="ff6">alignof<span class="_ _12"> </span><span class="ff4">returns<span class="_ _7"> </span>a<span class="_ _11"> </span>value<span class="_ _11"> </span>of<span class="_ _11"> </span>t<span class="_ _6"></span>yp<span class="_ _b"></span>e<span class="_ _13"> </span><span class="ff6">size_t</span></span></span></div><div class="t m0 x11 hd y3be ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _1a"> </span><span class="ff6">alignof<span class="_ _12"> </span><span class="ff4">alwa<span class="_ _c"></span>ys<span class="_ _11"> </span>returns<span class="_ _11"> </span>a<span class="_ _7"> </span>p<span class="_ _b"></span>o<span class="_ _6"></span>w<span class="_ _6"></span>er<span class="_ _11"> </span>of<span class="_ _11"> </span>tw<span class="_ _c"></span>o</span></span></div><div class="t m0 x11 hd y3bf ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _1a"> </span><span class="ff6">alignof(anything)<span class="_ _12"> </span><span class="ff4">never<span class="_ _7"> </span>returns<span class="_ _11"> </span></span>0</span></div><div class="t m0 x11 hd y3c0 ffb fs7 fc0 sc0 ls0 ws0">•<span class="_ _1a"> </span><span class="ff6">sizeof(T)<span class="_ _20"> </span>&gt;=<span class="_ _20"> </span>alignof(T)</span></div><div class="t m0 x4e h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">100/104</div><a class="l" href="https://en.cppreference.com/w/cpp/language/alignof"><div class="d m1" style="border-style:none;position:absolute;left:52.532000px;bottom:191.881000px;width:51.091000px;height:12.754000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf70" class="pf w0 h0" data-page-no="70"><div class="pc pc70 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIy0lEQVR42u3ZsU3DUBSG0TzkK6orZkBUTIAQNRKbsQTjUDAEG1BFr+I2oaNIE1Ac8mzOGcCyfjefrtvN3cMGAACG8f72emEFAABGI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAPjWqsoKAACMIyJcUgEAGI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgDAfzct6F177z7Ynsw0AgCwPi6pAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAwKxaVVkBAIBxRIRLKgAAwxGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAgFOaTPBzvXcjAKuXmUYAzs4lFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAAJhVqyorAAAwjohwSQUAYDgiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAD4lWlB79p798H2ZKYRAID1cUkFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAAZtWqygoAAIwjIlxSAQAYjkgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkmgAAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAIC5TAt61967DwankJlGAGAoLqkAAAxnMgEAHLSsv3l+j7ACLqkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEA4LwmEwDAQZlpBPhLLqkAAIhUAAAQqQAAiFQAADhWqyorAAAwjohwSQUAYDgiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQD4V6bt87UVAAA4xsfjy4xPu71/au3qcrf93Gx2u515AQAYwhflny8nSWCK0gAAAABJRU5ErkJggg=="/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">alignof<span class="_ _8"> </span><span class="ff1">op<span class="_ _b"></span>erator<span class="_ _5d"> </span>2/2</span></div><div class="t m0 x48 hd y6d ff6 fs7 fc0 sc0 ls0 ws0">alignof<span class="_ _12"> </span><span class="ff4">of<span class="_ _7"> </span><span class="ffa">fundamental<span class="_ _11"> </span>t<span class="_ _6"></span>yp<span class="_ _b"></span>es<span class="_ _f"> </span><span class="ff4">is<span class="_ _a"> </span>simply<span class="_ _11"> </span>the<span class="_ _11"> </span>numb<span class="_ _b"></span>er<span class="_ _11"> </span>of<span class="_ _11"> </span>bytes<span class="_ _a"> </span>defined<span class="_ _11"> </span>by<span class="_ _a"> </span>the<span class="_ _11"> </span>c++</span></span></span></div><div class="t m0 x1 hd y6e ff4 fs7 fc0 sc0 ls0 ws0">data<span class="_ _11"> </span>mo<span class="_ _b"></span>del</div><div class="t m0 x11 h6 y39c ffb fs4 fc0 sc0 ls0 ws0">•<span class="_ _1a"> </span><span class="ff6">alignof(char/signed<span class="_ _d"> </span>char/unsigned<span class="_ _5"> </span>char)<span class="_ _4f"> </span><span class="ff4">alwa<span class="_ _c"></span>ys<span class="_ _a"> </span>returns<span class="_ _a"> </span><span class="ff6">1</span></span></span></div><div class="t m0 x48 hd y39d ff6 fs7 fc0 sc0 ls0 ws0">alignof<span class="_ _12"> </span><span class="ff4">applied<span class="_ _7"> </span>to<span class="_ _11"> </span><span class="ffa">comp<span class="_ _b"></span>ound<span class="_ _11"> </span>t<span class="_ _6"></span>yp<span class="_ _b"></span>es<span class="_ _f"> </span><span class="ff4">(non<span class="_ _a"> </span>fundamental<span class="_ _11"> </span>types):</span></span></span></div><div class="t m0 x33 hd y39e ff6 fs7 fc0 sc0 ls0 ws0">Pointer<span class="ff4">:<span class="_"> </span>Numb<span class="_ _b"></span>er<span class="_ _11"> </span>of<span class="_ _11"> </span>b<span class="_ _6"></span>ytes<span class="_ _11"> </span>of<span class="_ _11"> </span>a<span class="_ _11"> </span>p<span class="_ _b"></span>ointer<span class="_ _11"> </span>defined<span class="_ _11"> </span>by<span class="_ _a"> </span>the<span class="_ _11"> </span>c++<span class="_ _11"> </span>data<span class="_ _11"> </span>mo<span class="_ _b"></span>del</span></div><div class="t m0 x22 hd y39f ff6 fs7 fc0 sc0 ls0 ws0">Reference<span class="ff4">:<span class="_"> </span>Alignment<span class="_ _11"> </span>of<span class="_ _11"> </span>the<span class="_ _11"> </span>referenced<span class="_ _11"> </span>t<span class="_ _6"></span>yp<span class="_ _b"></span>e</span></div><div class="t m0 x4d hd y3a0 ff6 fs7 fc0 sc0 ls0 ws0">Array<span class="ff4">:<span class="_"> </span>Alignment<span class="_ _11"> </span>of<span class="_ _11"> </span>a<span class="_ _11"> </span>single<span class="_ _11"> </span>element<span class="_ _11"> </span>t<span class="_ _6"></span>yp<span class="_ _b"></span>e</span></div><div class="t m0 x48 hd y3c1 ff6 fs7 fc0 sc0 ls0 ws0">struct/class<span class="ff4">:<span class="_"> </span>The<span class="_ _11"> </span>la<span class="_ _6"></span>rgest<span class="_ _11"> </span>alignment<span class="_ _11"> </span>among<span class="_ _11"> </span>data<span class="_ _11"> </span>memb<span class="_ _b"></span>ers</span></div><div class="t m0 x48 hd y3c2 ff6 fs7 fc0 sc0 ls0 ws0">alignof(incomplete<span class="_ _20"> </span>type)<span class="_ _12"> </span><span class="ff4">produces<span class="_ _11"> </span>compile<span class="_ _11"> </span>error,<span class="_ _a"> </span>e.g.<span class="_ _3"> </span></span>void</div><div class="t m0 x4e h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">101/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf71" class="pf w0 h0" data-page-no="71"><div class="pc pc71 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIdklEQVR42u3YsQkCMRiG4YtcsArOIFZOIGItuJlLOI6FQ7iB1XGVaWJnH0H4D56nPwjfNS9/2h1OAwAAhPF83FdWAAAgGpEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAMBXqrVaAQCAOHLOLqkAAIQjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAKDTuKC3zvPshwEA/KaUsqDXuqQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSTQAAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBg8VKt1QoAAMSRc3ZJBQAgHJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAADQYZyuWysAAPAnr/Ot95P98ZLSZt2m9zC01mwIAEAIH0Y2GgLxM067AAAAAElFTkSuQmCC"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">sizeof/alignof<span class="_ _8"> </span><span class="ff1">-<span class="_ _f"> </span></span>struct</div><div class="t m0 x1 h1a y3c3 ff5 fs5 fc7 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc3">A<span class="_"> </span><span class="ff1c fc0">{</span></span></div><div class="t m0 x38 h1a y3c4 ff5 fs5 fc4 sc0 ls0 ws0">int<span class="_ _1a"> </span><span class="ff1c fc0">x;<span class="_ _8"> </span><span class="ffd fc6">//<span class="_ _8"> </span>alignment:<span class="_ _7"> </span>4,<span class="_ _8"> </span>size:<span class="_ _8"> </span>4,<span class="_ _8"> </span>offset:<span class="_ _8"> </span>0</span></span></div><div class="t m0 x38 h1a y3c5 ff5 fs5 fc4 sc0 ls0 ws0">char<span class="_"> </span><span class="ff1c fc0">y;<span class="_ _8"> </span><span class="ffd fc6">//<span class="_ _8"> </span>alignment:<span class="_ _8"> </span>1,<span class="_ _7"> </span>size:<span class="_ _8"> </span>1,<span class="_ _8"> </span>offset:<span class="_ _8"> </span>4<span class="_ _8"> </span>(=<span class="_ _7"> </span>sizeof(x))</span></span></div><div class="t m0 x1 h1a y3c6 ff1c fs5 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 h1a y3c7 ff1c fs5 fc0 sc0 ls0 ws0">A<span class="_ _8"> </span>a;<span class="_ _5e"> </span><span class="ffd fc6">//<span class="_ _8"> </span>alignment:<span class="_ _7"> </span>4,<span class="_ _8"> </span>size:<span class="_ _8"> </span>8<span class="_ _8"> </span>-&gt;<span class="_ _8"> </span>next_multiple(sizeof(x)<span class="_ _8"> </span>+<span class="_ _7"> </span>sizeof(y),<span class="_ _8"> </span>alignof(x))</span></div><div class="t m0 x1 h1a y3c8 ff5 fs5 fc7 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc3">B<span class="_"> </span><span class="ff1c fc0">{</span></span></div><div class="t m0 x38 h1a y3c9 ff5 fs5 fc4 sc0 ls0 ws0">char<span class="_"> </span><span class="ff1c fc0">x;<span class="_ _8"> </span><span class="ffd fc6">//<span class="_ _8"> </span>alignment:<span class="_ _8"> </span>1,<span class="_ _7"> </span>size:<span class="_ _8"> </span>1,<span class="_ _8"> </span>offset:<span class="_ _8"> </span>0</span></span></div><div class="t m0 x38 h1a y3ca ff5 fs5 fc4 sc0 ls0 ws0">int<span class="_ _1a"> </span><span class="ff1c fc0">y;<span class="_ _8"> </span><span class="ffd fc6">//<span class="_ _8"> </span>alignment:<span class="_ _7"> </span>4,<span class="_ _8"> </span>size:<span class="_ _8"> </span>4,<span class="_ _8"> </span>offset:<span class="_ _8"> </span>4<span class="_ _8"> </span>-&gt;<span class="_ _7"> </span>next_multiple(sizeof(x),<span class="_ _8"> </span>alignof(y))</span></span></div><div class="t m0 x1 h1a y3cb ff1c fs5 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 h1a y3cc ff1c fs5 fc0 sc0 ls0 ws0">B<span class="_ _8"> </span>b;<span class="_ _5e"> </span><span class="ffd fc6">//<span class="_ _8"> </span>alignment:<span class="_ _7"> </span>4,<span class="_ _8"> </span>size:<span class="_ _8"> </span>8<span class="_ _8"> </span>(same<span class="_ _8"> </span>of<span class="_ _8"> </span>A)</span></div><div class="t m0 x1 h1a y3cd ff5 fs5 fc7 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc3">C<span class="_"> </span><span class="ff1c fc0">{</span></span></div><div class="t m0 x38 h1a y3ce ff5 fs5 fc4 sc0 ls0 ws0">short<span class="_"> </span><span class="ff1c fc0">x;<span class="_ _8"> </span><span class="ffd fc6">//<span class="_ _8"> </span>alignment:<span class="_ _8"> </span>2,<span class="_ _7"> </span>size:<span class="_ _8"> </span>2,<span class="_ _8"> </span>offset:<span class="_ _8"> </span>0</span></span></div><div class="t m0 x38 h1a y3cf ff5 fs5 fc4 sc0 ls0 ws0">int<span class="_ _3f"> </span><span class="ff1c fc0">y;<span class="_ _8"> </span><span class="ffd fc6">//<span class="_ _8"> </span>alignment:<span class="_ _8"> </span>4,<span class="_ _8"> </span>size:<span class="_ _8"> </span>4,<span class="_ _7"> </span>offset:<span class="_ _8"> </span>4<span class="_ _8"> </span>-&gt;<span class="_ _8"> </span>next_multiple(sizeof(x),<span class="_ _8"> </span>alignof(y))</span></span></div><div class="t m0 x38 h1a y3d0 ff5 fs5 fc4 sc0 ls0 ws0">char<span class="_ _1a"> </span><span class="ff1c fc0">z;<span class="_ _8"> </span><span class="ffd fc6">//<span class="_ _8"> </span>alignment:<span class="_ _7"> </span>1,<span class="_ _8"> </span>size:<span class="_ _8"> </span>1,<span class="_ _8"> </span>offset:<span class="_ _8"> </span>8</span></span></div><div class="t m0 x1 h1a y3d1 ff1c fs5 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 h1a y3d2 ff1c fs5 fc0 sc0 ls0 ws0">C<span class="_ _8"> </span>c;<span class="_ _5f"> </span><span class="ffd fc6">//<span class="_ _8"> </span>alignment:<span class="_ _7"> </span>4,<span class="_ _8"> </span>size:<span class="_ _8"> </span>12<span class="_ _8"> </span>-&gt;<span class="_ _8"> </span>next_multiple(sizeof({x,y})<span class="_ _8"> </span>+<span class="_ _7"> </span>sizeof(z),<span class="_ _8"> </span>alignof(y))</span></div><div class="t m0 x4e h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">102/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf72" class="pf w0 h0" data-page-no="72"><div class="pc pc72 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAItklEQVR42u3YPUoEQRCG4WmZwqjxDGLkCUSMBW/mJTyOgYfwBkZLR1YyZgbKCv4wW7M+TzpJ803yUu3i6mYCAIAynp8eT6wAAEA1IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAgHctM60AAEAdEeGSCgBAOSIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAx242QTVjDCPwr/TejQDABy6pAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgDAqlpmWgEAgDoiwiUVAIByRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAOAr84beOsbwwwAAfqb3vqHXuqQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSTQAAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAOCTlplWAACgjohwSQUAoByRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAAN80m2AFYwwjsC29dyMAcEAuqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQDguLXMtAIAAHVEhEsqAADlzBt66xjDD4PV9N6NAMChuKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAf6plphUAAKgjIlxSAQAoR6QCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAH5j3t2fWwEAgJW93D7s+3R5fdfa2emye52mZVlsBQBACW/f1Cv8iTY1KgAAAABJRU5ErkJggg=="/><div class="t m0 x5 h17 y7 ff5 fs3 fc1 sc0 ls0 ws0">[[no_unique_address]]</div><div class="t m0 x44 h12 ya6 ff9 fs5 fc1 sc0 ls0 ws0">⋆</div><div class="t m0 x1 hd y6d ff4 fs7 fca sc0 ls0 ws0">C++20<span class="_ _12"> </span><span class="ff5 fc0">[[no_unique_address]]<span class="_ _13"> </span><span class="ff4">allows<span class="_ _a"> </span>a<span class="_ _11"> </span>structure<span class="_ _11"> </span>memb<span class="_ _b"></span>er<span class="_ _11"> </span>to<span class="_ _11"> </span>b<span class="_ _b"></span>e<span class="_ _11"> </span>overlapp<span class="_ _b"></span>ed<span class="_ _11"> </span>with</span></span></div><div class="t m0 x1 hd y6e ff4 fs7 fc0 sc0 ls0 ws0">other<span class="_ _11"> </span>data<span class="_ _11"> </span>memb<span class="_ _b"></span>ers<span class="_ _11"> </span>of<span class="_ _11"> </span>a<span class="_ _11"> </span>different<span class="_ _11"> </span>t<span class="_ _6"></span>yp<span class="_ _b"></span>e</div><div class="t m0 x1 he y3d3 ff5 fs8 fc7 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc3">Empty<span class="_"> </span><span class="ffc fc0">{};<span class="_ _f"> </span><span class="ffd fc6">//<span class="_ _f"> </span>empty<span class="_ _d"> </span>class,<span class="_ _8"> </span>sizeof(Empty)<span class="_ _d"> </span>==<span class="_ _f"> </span>1</span></span></span></div><div class="t m0 x1 he y3d4 ff5 fs8 fc7 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc3">A<span class="_"> </span><span class="ffc fc0">{<span class="_ _3b"> </span><span class="ffd fc6">//<span class="_ _d"> </span>sizeof(A)<span class="_ _f"> </span>==<span class="_ _f"> </span>8<span class="_ _f"> </span>(4<span class="_ _f"> </span>+<span class="_ _d"> </span>1<span class="_ _8"> </span>+<span class="_ _d"> </span>3<span class="_ _f"> </span>for<span class="_ _f"> </span>padding)</span></span></span></div><div class="t m0 x22 he y3d5 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_ _17"> </span><span class="ffc fc0">i;</span></div><div class="t m0 x22 he y3d6 ffc fs8 fc0 sc0 ls0 ws0">Empty<span class="_ _f"> </span>e;</div><div class="t m0 x1 he y3d7 ffc fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 he y3d8 ff5 fs8 fc7 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc3">B<span class="_"> </span><span class="ffc fc0">{<span class="_ _3b"> </span><span class="ffd fc6">//<span class="_ _d"> </span>sizeof(B)<span class="_ _f"> </span>==<span class="_ _f"> </span>4,<span class="_ _f"> </span><span class="fff">&apos;</span>e<span class="fff">&apos;<span class="_ _f"> </span></span>overlaps<span class="_ _d"> </span>with<span class="_ _8"> </span><span class="fff">&apos;</span>i<span class="fff">&apos;</span></span></span></span></div><div class="t m0 x22 he y3d9 ff5 fs8 fc4 sc0 ls0 ws0">int<span class="_"> </span><span class="ffc fc0">i;</span></div><div class="t m0 x22 he y3da ffc fs8 fc0 sc0 ls0 ws0">[[no_unique_address]]<span class="_ _f"> </span>Empty<span class="_ _f"> </span>e;</div><div class="t m0 x1 he y3db ffc fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 h6 y3dc ff4 fs4 fc0 sc0 ls0 ws0">Notes:<span class="_ _4c"> </span><span class="ff6">[[no_unique_address]]<span class="_ _4f"> </span></span>is<span class="_ _a"> </span>ignored<span class="_ _e"> </span>by<span class="_ _e"> </span>MSVC<span class="_ _e"> </span>even<span class="_ _a"> </span>in<span class="_ _e"> </span>C++20<span class="_ _a"> </span>mo<span class="_ _b"></span>de;<span class="_ _a"> </span>instead,</div><div class="t m0 x48 h6 y3dd ff6 fs4 fc0 sc0 ls0 ws0">[[msvc::no_unique_address]]<span class="_ _4f"> </span><span class="ff4">is<span class="_ _a"> </span>provided</span></div><div class="t m0 x4e h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">103/104</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf73" class="pf w0 h0" data-page-no="73"><div class="pc pc73 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIVUlEQVR42u3YsQ2DQBBE0TuLE6ETN4BcBAG9kdKYA4pwSAOEXLLOqGFlvVfCRF9T3/NSAAAgje/+eVgBAIBsRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAALfae7cCAAB5tNY8qQAApCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqSYAAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSTQAAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgDwP4Zzm6wAAEAer/Wo9TnGeZUSEQYBACCFH18FEwSJ0EWWAAAAAElFTkSuQmCC"/><div class="t m0 x5 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">sizeof<span class="_ _8"> </span><span class="ff1">and<span class="_ _f"> </span>Size<span class="_ _8"> </span>of<span class="_ _8"> </span>a<span class="_ _f"> </span>Byte</span></div><div class="t m0 x1 h7 y2c6 ff10 fs3 fc0 sc0 ls0 ws0">Interesting:<span class="_ _d"> </span>C++<span class="_ _7"> </span>do<span class="_ _b"></span>es<span class="_ _7"> </span>not<span class="_ _7"> </span>explicitly<span class="_ _7"> </span>define<span class="_ _7"> </span>the<span class="_ _7"> </span>size<span class="_ _7"> </span>of<span class="_ _7"> </span>a<span class="_ _7"> </span>byte<span class="_ _11"> </span>(see<span class="_ _7"> </span><span class="ff6 fs4">Exotic</span></div><div class="t m0 x1 h7 y3de ff6 fs4 fc0 sc0 ls0 ws0">architectures<span class="_ _d"> </span>the<span class="_ _5"> </span>standards<span class="_ _d"> </span>committees<span class="_ _d"> </span>care<span class="_ _5"> </span>about<span class="ff10 fs3">)</span></div><div class="t m0 x4e h9 y11 ff7 fs5 fc0 sc0 ls0 ws0">104/104</div><a class="l" href="https://stackoverflow.com/questions/6971886/exotic-architectures-the-standards-committees-care-about"><div class="d m1" style="border-style:none;position:absolute;left:352.431000px;bottom:124.362000px;width:73.762000px;height:13.948000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://stackoverflow.com/questions/6971886/exotic-architectures-the-standards-committees-care-about"><div class="d m1" style="border-style:none;position:absolute;left:27.350000px;bottom:108.322000px;width:258.281000px;height:13.948000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
</div>
<div class="loading-indicator">
<img alt="" src="data:image/png;base64,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"/>
</div>
</body>
</html>