Modern-CPP-Programming/htmls/07.Basic_Concepts_V.html
2024-11-07 21:55:20 -08:00

1718 lines
757 KiB
HTML
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,d09GRgABAAAAAAycAA0AAAAAEXgAAgAEAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAMgAAAABoAAAAcocFRYkdERUYAAAxkAAAAHAAAAB4AJwAeT1MvMgAAAaQAAABBAAAAVlTVYBNjbWFwAAACQAAAAKcAAAGiSLZJOGdhc3AAAAxcAAAACAAAAAj//wADZ2x5ZgAAAxwAAAdHAAAJvK/jegRoZWFkAAABMAAAADMAAAA2KO3LfGhoZWEAAAFkAAAAHgAAACQFzgMxaG10eAAAAegAAABXAAAAYDGpA/lsb2NhAAAC6AAAADIAAAAyGiAXbm1heHAAAAGEAAAAHgAAACAAXQBPbmFtZQAACmQAAAG3AAADOW7zWvhwb3N0AAAMHAAAAD4AAABSAjkCmnicY2BkYGBgYmT7eX/zxnh+m68M3MwvgCIMjwOci+G00v9XzNxMB4FcDgYmkCgAfT0MlAB4nGNgZGBgOvj/FQMDsx4DEDBzMzAyoAIJAFZMAwYAAHicY2BkYGCQYPBhYGYAASYgZmQAiTmA+QwADHIArQAAeJxjYGRyYJzAwMrAwNTFtIeBgaEHQjM+YDBkZAKKMrAyM8AAIwMSCEhzTQFSCgylTAf/vwKqPMggBlMDAMaOCpQAAAB4nGOUYAADRl8QAUT2DFlMmgxWzMxALMTgwXSSwZzpGYMlsx6DElMqEPszGDMVMugy6TFoMzUyGDPqMagDxbWZaoDiekDxKAZdxlNAtj+DCkgcAOpzC80AeJxjYGBgZoBgGQZGBhCYA+QxgvksDA1gWgAowsOgwKDHYMbgzODGEMAQxpDIkMqQzpDJUMBQ+v8/UBVE1gkumwyWzWMo+v///+P/1/6f/3/k/6H/O/9v+b/q/8r/K/4v/7/4/yKojTgBIxsDXAkjE5BgQlcAcToCsEBpViQxNnYGBg44jxNMciGkuRl4ePkY+IG+BAJBIWEGEVExcfzuoicAAFd3JWQAAAAAAAAAAAAAAAASAGQAqgDuASwBbgGkAeICJAJYApQC5gMKA0QDcgOqBAoEdASkBN4AAHicbZZdbNvWFcd5Ly1Sn9QXP0zqk6RF2pYtSyQlWpIlJ7GtKbWzxXHixm7qFInTOJ7T2B4CZB3aFNuadsPSbcDaDI3dLsOWLdgwYFv3VaAPC7AWwQb0JQ8dMOxhL0NSNFs6IMPQRd69lBK7WF4oXlLk/5z/+Z1zSQBimSCIm+hIE0SJpRTNKhk3UwOp1MAkPqTQXUhUtm6DO/B1QicqBJFhKVXJwaJVMg2ewwutaJmaqjBkAtSBaSSBwNOWrikUxwpJ0jTsOgR3Xjjc/9hu/Uen94wnQ5F4KTYW6R3OpoLjRX2XyNXmOfXL4yzJiH3iaMbvh3869oLy2NcWLl+v5yS+mx/s9WSq61PdvbtElq0fXcyMnhmbszxcMlqKmhqKkcSRwbfhT4huoocYakcpF02jVAxbWhYUZSdWOglIvFSoBAq0FMHnYZavAgO+/eKJ1nJ3SRRL3eDZ4xcWJ+fXn9/beFkJbuw/Ik03bwSVr0/9Zu8zqUgCBhOR1Inx4ccZ7yLwGYcZ6d58661zi61/SAwKhQBEc+s2vAF/T+Q7bmmOWYJdMvgEcOwDeg5gxzgWG1SySxZ2Dt64fO61Dz549cys5Q6RXX6agiD8lYNS9UB9sK/2ud3J+YsUgK6uwK2n3rz53Us35/b5PcGPQm6Scp953t8/fv7g/i81BplnT7q6XBDFYSNPLsIfE4MoKDVHPsy7aIZVnDpSB1XAodrRO62CF0U6mm1WXlSCC41eUextLND9Obnnq2fVtkGwAt4r7zFZRrqfn2j9eyJ/jwv5UiSJzfEjczAzZXTYRPWIEzmkzlJYjX+EmIFYaYfGhU2jTsLNby/8Cmmoa6sdNXB66ZsnYUSeyJ9Qgq/lJ+QIBHcnl+8gobYkrsczU1zMTImM1PpYSpmxdh2UrdukD8Ugo4VCkwyyXNNJ5HxRMGxOQXjGQKloaTpek75D0kcut9/ndv3HlyqfP61Ou97/AyVr68YQ/Mbu+7/0u91+uCT5sWqC9t7fArcDdCQJ0Brlq6B8x2AU0acThKypdNEoWkNApbDJAqejrOukHcVlFqJJYA4BGo41xeUix7+vdPHRmV6ZlzkPdaWL9jLun3ql/j8+uUCSYtxtDc953SEWiGgFmFg4CDZ9br41LjHX7t518jS3PoZxGMJOt3nr4GYaCDec9aNpi589sn716vqhEd3r8gKK8nQFTtYifbWcIudGstGxUy4Htp9/5twbf3tj1PR3X0PeBObm3Unj6Gj9qJFyz085pOF6I8ZgDUIihN1ud1+7yGq7xrrWrrHTbXYJ1l451fp7QRAKQFy+ODNgHtkXCwRi+45bPfeXXhVDKbCeComXl78wvJtJtC4kmKbdrmkW6YTBFv7N0Ds0BDUHdgDOdQDHanVow3CiZTtq70RFT/XQ07FAo5QWxXSpEYit5EcyYfr6dax6BqleOzjCJH6oWu9Z6u8STHiwbHQ8nkEe15AuVmExSzt7+9Fm23VQAw7pPFrAGS3icSvu7KmzP7i6dri8bfzTtWj/SE5OD47keFOJBaQSqy4YhV8Hk2uC7B95c3XtUxVIGUfrtSeNtJcNpoVkOorYQDEi8hBVkOAQgTr90BsBse44bwJ6dbUoCMX2EfEUlMGqHBSds9a35OC2xxX0ngzuG/QgSlMHepg1uTbXYfRSZ86DsKWixGxYaXZ5Pe7Wu95mpjDbZK1zPjflAlxTy8+CW1Ot50JeH3jL33p9CktNgedoEbjo1nnQhy84/GB/9yJ/PWhi4HnhGOsMB4jchMhNiAoJ927+ZXPjrxuzPdVyIl6pZHrK1Uq13ENsrW1srK1euXJizzEDlfn4nsaSLYr20gM2wScoH4HQtmeRye2wCCFKIaUHANUB+OT05AWhsLLiQBOcWZl1ccMDE7HA6YFhDpwtH/g+AgXl0gH10GcH4lmBSbwjZLEeymUa6VnEBO6FDhRFC4197f+1zc7WBAVewJBYpkGikYjmZDsWCKd9eqIh817o8aaNeaHw+WUc1T/nvjg1rPZ7qYgnwGdpf+C3bDyvxgdp/+FcVaDHGUWR+Uwu1h33pX/2qWinS9kxJjCUkJ4Id9cDoDeV5f2QpJRf8L2JzjwBl1AtJjvzRKdonAMC2RlfTphoburONqZ3OqBk45sPekAr5rpU/AWA/izgLwJwaa7xhM24fJSDvA+QufxkoZoOxQYmc9zA/Nik8fCmFwJIsYnhnnw1rZDViaykv1JfKHCuEN39EiLLM9mjj/YVpKDXFw5zA+WR2fa9l1F3oGeDsbwsVTJSgQFMKBLrc5juQSBkwX+JlLMXAvXBLOK07f0IXaRVW4ZZkTYOZEOSzenv6pwthbIHC7TIgA/BzILhS7e+4zScGE2DlbTPWLjm9AyqOe4Z3dlrwgxA40HDrb/df87wRZfU9iyoNCBY/N4aDXkDY8anemP+ylPN/mxOA7fqrXv1tWO7AvU/y53Ktf7VvyvNdj2+/8N2z/wPvp611AB4nK1STU/bQBB9a5JIlVpuvVQchhsg2bVNOBCpF1JAjQggh1RcN7BJrCTeyE4U5R9xQP1B/TV9Wa8qtWp7qleeefPmY2fGBrCPb1Con68/scI7dehxgJb65PEeEvXicQPvg5bHTewHHY9b5NeMVI03tF5d1g4rfFBNjwO8VR893sNIffa4gRP13eMmDoIDj1s4Cb6gC4sltiiRY4IpVhCkiHlOEfLU+JzsiFGCC0SUPWg8YcbcDSrqnJxGgWfni9B3UbfOX0fuIo5oF66S4U0ac4xpWScfyD1SDzHAJTJKwTX1HZl7WsesiK5dbst8Ml1JGsenYUh5LqOtXETS008zu6lmuejiWXpRP5JbuyGZy5EtZGSmej4WO5YH8yjDwWU2kOvsbng/OGbdGzacsZGFG6JLueRYCQfHTT+zC1109bJKaO5GKl3cnIYtF5r6ys21crrkFo3bYcR0QYfv38uH5A0z1iynmVvHn5FPeOrtp2jzClusrmw5MZJGsXTkl7bCzEzWc12SPwuThGtJ2/8a6vdb8cdqu3/X0Fvx29XfrZ4pZj9CpymrnJtlP3Fb/sN1PwDnMI1CAHicbcO7DUBQAADA80ygYwBCrdILIhrEZx6LI2qXnOBzX0p/0nckiCUyuUKl1mh1eoPRZLZYbXaH8wHStwbTAAAAAAAB//8AAnicY2BkYGDgAWIxIGZiYARCcSBmAfMYAASbAEZ4nGNgYGBkAILbCqeqQfTjAOdiGA0AREIGFAAA')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.898000;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:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff7;src:url('data:application/font-woff;base64,d09GRgABAAAAAATkAA0AAAAABuQAAwACAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEyAAAABoAAAAcocFRakdERUYAAASsAAAAGwAAAB4AJwALT1MvMgAAAaQAAABEAAAAVlXIgqpjbWFwAAAB/AAAAEYAAAFKRYDkOWdhc3AAAASkAAAACAAAAAj//wADZ2x5ZgAAAlAAAAB0AAAAdF5LOhRoZWFkAAABMAAAADMAAAA2KZfKnGhoZWEAAAFkAAAAHgAAACQGSgNsaG10eAAAAegAAAAUAAAAFAcYAERsb2NhAAACRAAAAAwAAAAMAAAAOm1heHAAAAGEAAAAHQAAACAASAAnbmFtZQAAAsQAAAHAAAAC3BXReVRwb3N0AAAEhAAAAB4AAAA0ObKyo3icY2BkYGBgZmjOUZ28LJ7f5isDN/MLoAjD4wDncjjt8n8C8ySmbUAuBwMTSBQAVuYL6wB4nGNgZGBg2vZ/AgMD8zUGIGCexMDIgApYAWUfA70AAHicY2BkYGBgZVBhANEMDExAzAhmO4D5DAAGWwBwAAAAeJxjYGR8zfiFgZWBgamLaQ8DA0MPhGZ8wGDIyAQUZWBjZoABRiB2gHEC0lxTgJSC0jGmbf8nAFVuYyiAqmEAACwtDEAB9AAAAAAAAAFNAAAAAQAAA9YARHicY2BgYGaAYBkGRgYQcAHyGMF8FgYNIM0GpBkZmBgUlI79/w/kg+n/j+/aQdUDASMbA5zDyAQkmBhQASPEiuEMAMdbCdwAAAAAAAAAAAAAAAAAOgABAET/kAOSArYAIwAAAQcXHgIVFCMnBwYjIjU0NxMnJjU0PgEzIRM2MhcTITIeARQDg+sIAywmDf3sBwoNA1rsDgkLCwEdWgYWBloBHQsLCQFtrBcLhnYED7SrCQ8FCQEVqwkJBwYBARQVFf7sAQYOAAAAeJxtUcFq20AUnFVsQ9NS+gE9vN5ssGVJSTA2IeCG+FBQDjHk1IuQF0vFklxpHeGf6q3fUgi59dS/6Gi9hRyqBb15+97OzO4D8B4/oHD6Crw4rNBXjw57GKhvDp/hk/rpcI89vx3u44P31uEB+t6Qnar3htmzPdVhhXP1xWEP79RXh8/wWX13uMeeXw73IeqPwwOcex9xiwp7HFEjxxYZDARDpBgxhphzzTAmjhBwzYmWvJO2/SkSlNyJGQ3PalY6dKrsWFmTPWWuuXu0zNdWw1BzgSlXa5fP/gINY0XmLW6o36m2PNsxCx7I0VjdJ/433Fmxt7R+7+1pbZ2s6S+mZx+4rfbHOt9mRobpSML5fDaWKAjmsix0nadJKXFiMl0khslO1lWaa3OU4XVmzH4xnbZt6ydF41f19mY0ljY3mTzoRtdPeiOrqjRynxRa4vUynlHuDgfeuXOIu8NOM8TWac79gone5AfGf7ZX7qraPq7PxxU+yesrnPIrTDiIkP9uBBEuSUHtFV1pifxAFicHjFeTMJxEQXSJVyywVeDRWmtop7JD68Z5YXU7VmGDrpu8KiUILvwgiOQ/JH8Bcn95UXicY2BiwA9YgZiRgYmBmZGJvTQv08jI2QwAC4UCQQAAAAAAAf//AAJ4nGNgZGBg4AFiMSBmYmAEQhYwBvEYAAPKADMAeJxjYGBgZACC2wqnqkH04wDnchgNAERqBhwAAA==')format("woff");}.ff7{font-family:ff7;line-height:0.806000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff8;src:url('data:application/font-woff;base64,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')format("woff");}.ff8{font-family:ff8;line-height:1.001000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff9;src:url('data:application/font-woff;base64,d09GRgABAAAAAAyoAA0AAAAAERQAAgAEAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAMjAAAABoAAAAcocFRbEdERUYAAAxwAAAAHAAAAB4AJwArT1MvMgAAAaQAAABFAAAAVlXpGWxjbWFwAAACcAAAALcAAAGitMKuh2dhc3AAAAxoAAAACAAAAAj//wADZ2x5ZgAAA3QAAAbuAAAJMFl3rE9oZWFkAAABMAAAADQAAAA2KDvKzmhoZWEAAAFkAAAAIAAAACQFbAIJaG10eAAAAewAAACCAAAAlD6xB3Bsb2NhAAADKAAAAEwAAABMJNAnbm1heHAAAAGEAAAAHgAAACAAagBHbmFtZQAACmQAAAGsAAAC/TPhnPtwb3N0AAAMEAAAAFYAAABsBBYFKnicY2BkYGBgYmQTrEu7Gc9v85WBm/kFUIThcYBzBYz+f+g/K9NOpndALgcDE0gUAFa8DMR4nGNgZGBgeveflYGBme3/of83mHYyAEVQgCoAm8EGeHicY2BkYGBQZXBhYGYAASYgZmQAiTmA+QwADQkAsgAAeJxjYGQ8yjiBgZWBgamLaQ8DA0MPhGZ8wGDIyAQUZWBlZgCDBqCgAwMCBKS5pgAphd+MTO/+g/S/Y/gN5DOC5AAb9gy5AAAAeJxjlGAAA0ZfEAFENQx+QGzGKMAQz9TOIM10gCGakYshiimPIZppFkMU4xWg3Degms0MykBaGUgrMmozSDG+ZJAG8n0ZnjF4MDL+P8R4m8EPyPZjZmPwBYkD5eXA+nyAuByoNpFBCCTONJOBj3E/0N79DHxMvxg+MnEzSAEAykMeSgAAeJxjYGBgZoBgGQZGBhCYA+QxgvksDA1gWgAowsOgwKDJYMXgyODC4MkQwBDKUMBQylCpoPSb8f9/oCoFBg0U2USGIoZyiOz/x//v/D/z/9j/I/8P/N/1f9v/1f9X/V/5gJFVGWojTsDIxgBXwsgEJJjQFUCcDgIsrOi62SAUOwMDB4jmhHC5QAQ3kjIeXj5+AUEhYRFRMXEJSSlpBhlZOXkGBUUl/G5DAcokqEUBKgRVAACzUiWRAAAAAAAAAAAAAAAAHgA8AE4AaACIAJQAtgDUAQwBOAFgAYgBuAHaAjYCWAJqAo4CpgKyAuYDBgMsA1gDbgOuA8wD6gQaBDIEXARqBJh4nG1VfWwbZxm/586xm6Sx48TnjyR2Y58/0ny4je/OFzu20yT+iK8XZ7YTJ029fLTph8j2FyurupFMjLRLOlXtEGuL0CYGUiPxx1KGglYsdZkQiEW0ov8MqaAKJCYQCISEQIXV4XnPbhoGlt737uTn+b2/5+v3UkBldmogSf+FMlBUDec1Nkq8nmFNFgdAMlIqRRxCyOmxHv33LciAst569OWNs9cvjJ6j8AdUEH39FV9Po46LMaLg84OPN4N/19MdKT0u//CZp/MW8aWpWdw3oEQxlI6imjmRN+LayOIPFrPleJbYtOK2SG+iRR1FOTmfU8c18831QC8ek8ufpeXPp+LnX97epjfLo7BY/qaKexy3VfTZRxmRoknLOY3OgFkneLvAyAeC9OrGV8s7AEvvj6+eefvtU5dh4srP6M17b61898mdb2FM04QX+jMUxXNGfqNQwI8qbh++1lHNKi7C4d97kftWFt4p/H1hZayYv3w59zz8OXuh/IjePJ+NTJR/M07yNb3zJ/oIYiAzDzJzeUUjbzSZ0Rlf6CNXTi5cK8wODp1Q/rj4jbdegF+UA7Onz8zAPXJ+cOcfcA22KSvlIbkQ9UD8BSkoiYKXc+l8QSTD6kSXnmYJpBSEa3JLsTsU/FL0bK9nLKFNZ5NFpTUa7+Y7utudHrMt1yW7TTUHhXBgqHNm5N1BnZGztnlNJjWPGTzvAXLVkyqobH0sBmwMVmLGE7FLCHV48GJ6JKzIiUL8uPKcOORpO+CSph4trEg9WJhf9a3OFCZC99ut1nG1ZzjEva7GQXm0JAICaNH5MRxthbjFDNdTP3jlKyd6Yl37PZI/mVSi+SSt6RTemC9eNdoGbaazSXm+r62R8CR4t5BnA0HEvJC0EkyLkWdE71NQuKXEsqkTp0YyA7LChYPHnhMH+eiljy8J4H7y0SMxP12YqPSls8rPRNmRodMBKiNWrZaKa9b5GYTVwfXyfZjozw4zTDo/9eq57Izf3a+1e+2GruGG32bmQ61Ojbh6Yn51NNLlEcy1cUGNvwW3PP0RxeKT0LMDj3nlSPdX8CHv7XD1vbgop9PFVCdHv9TI9ZwPl5fga+Hp9DwOAkO17vDwEH5KdVACNVzB0fnMrFokjLcfAmylvQSpughwkFfrVklIsFnoAhcZdbWGD20tbQLjLA72HqwLTWwvFY8vDdjs+B30xSfe5T3tElmTX59k2/X7YDIamYRVukbjl+IzdoNZfDOUGZMGDjp6/B09waFZp/M7oni4H1f5fkJvtNZq3N09GPsocl3HWplIpYyCn+ZcerBDta1YWFdqGjudbr9RkaXxi+BtanGbeqPcY+yj7cTNSn1GcH+HvlLRDTKhEmbuhixrCwUovVogNjsf7wjUB2hjJFm2qGmRHDQfiNE4ZyLaf5AOREMm2uA21ZtaG+VCoX8444owDQZNQ7uFBhUG+WZw+wT51qvqo1P7X+J18EnuhpJMbxW/92jsKnKL/vz7u/bUjWfagayIdqhx0x9ivdzVuBm17nvfeLZSoQBLf6jQ9SZvS6B395mK5E5bpOIl8OrNDpN+Mvx4z9tWQs5mb1bOV/OL5/xvftkv5DcV3ptf2Iqnb2JuHdj729j79ZR5V6GE3YHXVlple+nY5DJZSi4UHM+G+3K/nru4Mn/yzcvTucmJ9ZkiVdWPGDxALl/QD/b/6McLcjKiyMPT8WNKpu+IF/UjVCD68Vd66VBodTZ1su/eAZv15LOaxBAXBwF2g5MglpiXE0cW4XV4Xn4IW1NFQNtWjGcO4+l6ykDCA0XMus9P+zC0GINJ1yEX1uQAvPJQeebSk8X0/kS+qG90GPVuh8foO+AN2vRHh/YPyvl2e4sYsHHLUq47HkgYrPr9Gka3r8ngFjyirYE+MOiJWRy1NXWmlm7CtQnPT9L9VBPROs4lqkPOszjwrCkgQVKJ53LjibW1hQ67bxkawsvL4c9zXLWW6LuO92PTrqrtvSxgXR4+FT6ktPXyw0ogEuuH0fKPPM6wBA701WMB1tCXaA3D+bw+TstwDG8xW/jgADx90msXp1KtNGjnRi8qKTsNTGcoMeTSgqYzAqVy/F9Th4fLW1D65xm3/+pPfveSv+PadoUb2e4ifnUuOMnHW8hc3B2/spb/8ebE60vjt+/c+f2n7733qWqv3xHgNtpbCB899vwhIHEMQJVTM9z+pcHpam6wHNb6vI1WA3dnLBWtAc0rUHryma+3SbNv0MC6jkPp/ZvhJEQI5t+o1+hauEFmzYNXPF1b/gNYXwMr0UcS913UWKIRqOKAaWewT3T/pbNsVX3hbjbLyPK3v4yCe7TPabM5rdw5+nT2SRpKFdktjszVxZs8By9Q/wEzyPxfAAB4nJ1STU7bQBT+xiQRlVrErhsWbwkStmyTLGDRBQiQIhJQTKpsJzBJrAQPsoOinIKLVD0BZ+EKXIEv42kX6a4e+b3vvfnerw1gD7+hUD8//2KFXfXd4wAtFXm8g2P16nED++rd4yb2gm8et7Af/CBTNb7Q+uWiNliR3/Q4wFclHu9gpDoeNyDqzeMmDtSHxy1IcIALWDxjjRI5pphhCUGKmOcEIU+NT+kdkyU4R0TZhcYD5oxdoaLO6dMo8OjuIvQcq+/ua+aGcUi7cJkMK2ksMKFlnbynb0Q9RIZLDCgF19S39NzROmJGXNjndZlPZ0tJ4/gkDClPZbyW80i6+mFuV9U8F108SjfqRdK3KzpzObSFjM1MLyZiJ3JvRjLMLgeZXA9uh3fZEfPesOHMDVAh4ci46WW6qBKizQwlnly36NvySVNfuUGWTpdcm3FLi7gowRnf7XwhBzHkvTCJZkTN6tCf8NRLTtFmYlssr2w5NZJGsZzJnz7CgZm+LHRJVydMEg6etv9te7sMtsM3v6PhRcXPUX+KuuuYtYWXpqxyLou147b8T/5P+xZ+SHicbcq7DYIAAEDBE0tZwU5DQ0fDAIqg4AcCGrRnFNZiMyTWXvK6J/AzD2L/7JdWAmsboa2daDkTqYOjzEmucHZRqlzd3D3UGq3O00vv7WM0fQGhHwtAAAAAAAAB//8AAnicY2BkYGDgAWIxIGZiYARCFSBmAfMYAAUqAFN4nGNgYGBkAILbCqeqQfTjAOcKGA0ARHQGHgAA')format("woff");}.ff9{font-family:ff9;line-height:1.001000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ffa;src:url('data:application/font-woff;base64,d09GRgABAAAAAAVUAA0AAAAAB8QAAgADAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAFOAAAABoAAAAcocFRbEdERUYAAAUcAAAAHAAAAB4AJwAMT1MvMgAAAaQAAABFAAAAVlVkglVjbWFwAAACBAAAAEsAAAFSJqspWGdhc3AAAAUUAAAACAAAAAj//wADZ2x5ZgAAAmAAAADDAAAAxENGNMloZWFkAAABMAAAADIAAAA2KabKjGhoZWEAAAFkAAAAIAAAACQGRgPJaG10eAAAAewAAAAYAAAAGA0/AIpsb2NhAAACUAAAAA4AAAAOAGIALG1heHAAAAGEAAAAHQAAACAASgAkbmFtZQAAAyQAAAG/AAADUduQrblwb3N0AAAE5AAAAC4AAAA5WO/ZJ3icY2BkYGBgYjjCWRfxJ57f5isDN/MLoAjD4wDnCjht/r+ceT1TDZDLAVQLBABhogv7AAB4nGNgZGBgqvlfzsDA/IIBCJjXM6QwSDIgAzYAZzgEFnicY2BkYGBgY1BkYGIAARDJyAAScwDzGQAGQgBvAAAAeJxjYGSexziBgZWBgamLaQ+DIkMPiP7fw/iAwZCRCSjKwMrMAAOMQJwA4wSkuaYAKQWlFKaa/+VAlTUMnVA1DABVzQyGAAAAARgAAAAAAAABTQAAA+gAAAPoADcDCgBTeJxjYGBgZoBgGQZGBhDwAfIYwXwWBgMgzQGETEBaQXGSUsr//wjW/8f3iu4uhOoCA0Y2BjiXEaSHiQEVMEKsGlyAlaqmAQCceAxLAAAAAAAAAAAAAAAALABiAAB4nB3OTQ7BQBQA4PdeeTM1M41U6yd+W1FNWFG6cAYLwTUs2dg4gaNILNzE2h0kEhZNiRN8HyCk+cu6YA5NAPCEg4JHGM7maRAm0yAaJguc1DpYsy5ytXPIdlVjnynfp9e+oVybnN0KqUzt08Y25228PRt7c2oDwTo/0I2OUIcewMDjfjjEaJakOJ9Oqr4nDHasFvb/DN20ZJXdKxUaq6LUbvYkwwVBQfYIQuoupWZkaXQJmbV0xOdtEfM1jn/pLwnbI20AeJytUs1q20AYnFVsQ6Gkt/ZSyncpJActkhwfkmNMEjCWE6y4BHpaJ7ItbGuDpGD8DHmV0kMfqs/RkbTtwYf2Ui/eb3a+39kVgGN8h0L7+/IHK7xTnx320FNDh4/QVz8c7uCD997hLo69scM98q+MVJ03PH1rsmqs8El1HfbwVg0cPsJCjRzuQKufDnfx0dMO96C9rxjC4hl7FMiwxAoVBBECrj58rhafk50zSnAJzX0Eg0esmbtDSZuRM8jx1Pg04iZq0vjbyDrihOe8qZSyk8EGC55ss9+Te6CdIcEVptwFN7S3ZO54OmVFDO3zvsiWq0qiIOj7Pvdzme/lUsvIPK7trlxnYvInGelYy8TuSGZyYnOZpyuzWYhdyH36ILPkaprIzfR2dpecsu6YA8ccqOJYCWVuOaLleCVCisc4jk21Svbbud2UIYlaWMGoWgImttga2utGXdXYgneZNjepWUBwwf/fm/jUmjLrhYxhfpszIB9yte8Q4YxtbF5d22KZSqQDuZCD4fxpunzZmIKegR+GvKLo7F8CD3sfCv5ds/6aU/pLvmb7kq2++lsROtOizHjXnCvoy39r+gvp+JVYAHicY2BiYPj/8dvu/00MGgzYABsQMzIwMTAzMjFM4UosKsovL8pMzygBACxlCkMAAAAAAAH//wACeJxjYGRgYOABYjEgZmJgBEJWIGYB8xgAA9UANHicY2BgYGQAgtsKp6pB9OMA5woYDQBEdAYeAAA=')format("woff");}.ffa{font-family:ffa;line-height:0.773000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ffb;src:url('data:application/font-woff;base64,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')format("woff");}.ffb{font-family:ffb;line-height:0.922000;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.911000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ffe;src:url('data:application/font-woff;base64,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')format("woff");}.ffe{font-family:ffe;line-height:0.923000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:fff;src:url('data:application/font-woff;base64,d09GRgABAAAAABYsAA0AAAAAHswAAgAEAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAWEAAAABkAAAAcocFRckdERUYAABX0AAAAHAAAAB4AJwBST1MvMgAAAaQAAABGAAAAVlXoGRdjbWFwAAAC1AAAAOsAAAGqnK7CH2dhc3AAABXsAAAACAAAAAj//wADZ2x5ZgAABFwAAA9MAAAVnGaYRPtoZWFkAAABMAAAADQAAAA2KSTK1WhoZWEAAAFkAAAAIAAAACQGVQLZaG10eAAAAewAAADmAAABMJOMEHlsb2NhAAADwAAAAJoAAACayW7EPG1heHAAAAGEAAAAHgAAACAAkgBKbmFtZQAAE6gAAAGsAAAC/S/dmPdwb3N0AAAVVAAAAJcAAADB2Hxyl3icY2BkYGBgYmTr3zVrXjy/zVcGbuYXQBGGxwHO1TD6/+H/bMwLmd4BuRwMTCBRAHZzDWh4nGNgZGBgevefjYGBecP/w/+vMS9kAIqgAB8AqtgHMnicY2BkYGDwYXBnYGEAASYgZmQAiTmA+QwAEYgA3QAAeJxjYGTMZZzAwMrAwNTFtIeBgaEHQjM+YDBkZAKKMrAyM4BBA1DQgQEBAtJcU4CUwm9mpnf/2YAq3zH8AvIZQXIA/4sMYwAAeJxjlGAAA0ZfEAFE9gxljC0M/kBswfiFwYGZE0iLMiQC5bnB9BewuBYQR0JpEJYBYnUkvhZILdMsBhkgTmSqY3BiusSQwBTKEMdkCcSzGJyA8nFMsgxxzNkMKUxHgHIPGCyA6hKYWoFYm0GHaQWDClAdH/MGBj4gzcz4gMGMiYUhiHEPUJyFQQVIKzMaMkiD7AbyAxneMXgzcv0/zPiCIQTIDmSWYggEiQPl5UD6wHpCgfrrgW7NZBAGy50Fmr2agQ9IM4DYjJuAciA/gvANhiRmLoZvTO4M0kwSEMysyyANAKYzN3MAAHicY2BgYGaAYBkGRgYQWALkMYL5LAwdQFqOQQAowsegyGDKYMXgzuDJEMAQwhDOEMlQpSCpIKug9Jv5/3+gOgUGDQZzBkegvA9DEEMYUD5RQQIsz/D////H/+/+v/P/2v+r/y//v/T/4v8L/08+0Hmg+UCV1QNqLx7AyMYAV8TIBCSY0BUAvcACYbKysXNwcnHz8PLxCwgKMQiLiIpBJMQlJKWkZWSB/mGQV1BUUmZQUVVjUNdg0ISaoaWto6unb2BoZGxiamZuYWllbWNrZ+/g6ORMyHkI4E68UiBwc3GFMT29CCkGAK1fLwoAAAAAAAAAAAAAAAAWADoAXgC4ANoA6gD4AQQBJAFiAXoBvAH8AhgCSgJmAqwC7gMAAyQDVgOKA6oDygPkBBYEIgQ0BGIEfASiBMQE6gUoBUQFYAWYBbgF6gYUBjoGZgaSBrYHFgc2B0gHaAeAB4wHvgfeCAQIMAhgCHYIwAjeCPwJFglGCV4JigmqCboJygnkCfIKMApeCoYKzgAAeJx9WAlwG+d13veDXIAECHCJiyeIgwQIgiRELIDFIYCkeBMUSAIkRfAQTyeSnOiIU0uMJeqWJdWyZVcTV4lk2akdq5XdUU2FchNWY8nj2oyUNHbjqEnjSsmMVSetk3YUx/HBVd/ugqTkqp0BdheL/3//e9/73vH/FKEepihqgcxRmVQWRWlleptPprX52AVFoyKZTJI5vszlgl8udiQpoLru0NBJfkfpKCrTZme8XFTGsbSc1utMMuiMvObOrajJ10YGXFUlZcHST89D07MzrnauIG9gevfzw89ODpXhYigngHJ8kpxynVwtk9v8nN/nrZE5WAP47pViiLz26RelGM5LcurBA7MoJ4o/dLTN6gaDXrjbfV5OLt39dVBDHMKDpxSEG+vBMXJOutMaMBGjAWYNKqV+RKFXqwyKsTylyqDUfNUSNcrUhnzNxH1ewwVGm1u/Q8vkMXnaHY05WiZHpQjnmXNIVh6jVTbf958l218mb5NWSou/dDYLo7P6GIvVy1oYr0fPWMjbFv43FfwHFgvkV4AR1MvP+RYL/4EkY/zOfuoClaRoiuLkNg7ddaHSWVCQhJldSeF/JXUZdNRnlAzxtfgsoOM/hqzLIWkuXoW5+B8rTEQnL/vkB4ilRsBSDmkUQcAJfpDJn6M1ClUm9Ak38ovMnM8TOpUiM0f2tzqVoBOhKu/8FhbId9GndlGCGmzWGhCQ56KAQowGkuuokdmsAl2MBtbDwUJFfoozh+u0VnvxsKcqVVwT19JZha6ibjPDlCa6S6Hl6XXekC5UnXz8L3ujfrc3xf87kICGqTA8wD2yJ7L5QQmPFF7O4tqoihN8LEPLfX6OZVg4y1/cxXbvD+t2hYjCQEKZkcUTOL4Sx1/G8S5xfB1EZT6v3WZVE7ndgWyRuKEGufRhPf4wwGV+2861ppIKJt5oWVWal8VkQkZWZs2JsT+zmc1ZLdnybdqv0vn0XP3O1tLSgN8UHSqodVvzM4FWyZ/fNeiIlZuzVmfRm3NB0nkJr0ohBhBtB2dCmIQoIC5A9aMg6kTLHSJ8yFW5CWBhOrWzR2ne5A80Kgs5e2ssozoYrlzVry8r/XIo9mCACyQu9ExvWF3rT6w2VLlNERqy17qrawMevzc0UO8ZKWFGJH8VoxLXyXEqm1KjBjaMe4tPi5jZGFoG1ye7+I8XhyZfgtfOnTsXQRwHYGcd/zrq7UC9L+M8c1pvu6R4GkJabmMseotepM3lvYPhKbPF0F+r0Fabi1Y7K0LqNdDFf1ITiW+5un6/vyrg9JK80iZ3Ml5thW31P3buT2PzEWJzXOSiGlNSrhYlIyoWWLA1dlT3fjiNSF+CM6TLseHkW5ugGzKhFRm9hKmRslHuJf0w5rkaWIp8AUWZqKlehyT0a+96hoUdA/3TXaFoZGuie1skGujpbQxyTcJXttazKt7GeTsQ3R2J6IhOl6xu3bChtTqp0w6DjF3T4PU1NPC3W9ta25o62u+KhwKBZSB5WFiEEwJDiArUx0Tk3ntiAlX45pda6kprgvWjCvOgu2W4oS5Z1lDv6AfINnisEUeJ0RoNtkLXM2/W+OyPPFThOjb5YEujqfUJIyMv8K6pDNYk487Vw5KPxViHeURGjrkdo51JR3wSNib5pmSaB2QG87+cYijKYnNY5DZgtTK7w0YL5Cczw538e2s7IHOgdahEBrSvQF147RrWhThA0mA50WZvxVVkwlpkAuWoKQNVKmFvYZYht3vtLtCzHqNwx9d+MvHEJv5PH248vr6tZ+vGrydnvj5++JGeJ0/2PDQf20bmNrRwvXk5Ez+fav74h+EE/7u1Ii/W3PmIxMgVkXu0kOAd9lwBR6PBiJFrvyu3+DkSC5eVNx4cXb9+9KDf6fKoXU4HO9bc1NQ8tsZWzlWXZSk3boSKTRsVCl3CpFL1r/vG9Lp+ldKOmIyhLSfRFoWACYiWWDwG+bLuJ2d3858AvWe2/+imkyc3HYW+x98kc//01P7vLn7/DOq5HudXklkhxzsB4wEdjtZjXDBiLiGVvBcuXUQOH4UOfu5tfJghsw3wYYRfBCo9X43zc/DHylyMLKI+j4P3Qw3/TgrOk6/BZxH+DRyYxqZ/CZv/BxkfUoD0T22WkAm6vTWaqipXQEKmue7AO/ZaCReluiBRrsmVcNG/EJH0oi4iLmLtYNiLqRT+kN7DbXykRXsxiZTDbf7BVC0oydziUSL6bgpJQuOYAoFljAMrr8wmsAzNYo1ag5H1c1pWRiOrnKsOtp+oV0B8m/V0gRxUPfu+Rr4C9MO7+efh4Fnn4gkyt46faC71vgNJKZcK/ppE2TmCbJkkU2tEPcjkzo8aIS5e4NaRxSeRt4VHyBb0ceDOb8mL5BrmPwPKyE1nCtZzd0IgL/797l3ff3XPzNiBodTB/cODB+AP/A9/+s+nvv0v/Kl933lu/2N/d55K86UF188WPI58QZrYBO6vMKbl8PoXU588cLhnvOfYseQo/Gfvdv4GmduRaOjh30suydgo2mAQrbBJIoTw4ZbFbEzNP9P/35ueGlmbmug9frxvHCL862RuSywyYZzjYvznHSIeVZh7bqNtFcu1xSCWFgcWZKkm+z3IC9FOowmEjwFu7xmb3qwZ297QU6kvb/DVlfhn3kpqOkfWdNv0Ze7OOovvH/pmmnt6ur3BsjxNbk5RabAlvt3TXd/mrjXlaZTaYlsI18YWjxwg58XcLXIX7Uhnb3LgELI3lRrE6yEyRrbA4nGyFRpEnbEKkcfQfiVFZYGQgiRKkMf43w/zvx952U9D1tBB5FMH+rD+uGnVB9Cfnid7DueZ8IfEKFqOd/R/mlNaE5SC8CR77uq6h1Zha1M/1XO1v8ddTiCzbbBnoqRMlgF0+5AgG578Gw97g38B17j14reYwOcQ4M89cEyrC34GUv+E3CdPS1zLEmwTNeWwzSRP87/q53+18R8VxZGcjG+jhFH+P8AAz/L/pqwZ1dG/lnKyH2vbSfgRetks+Nm3VKLE8imXeg+5TyIg54eTscjGUOD0Dk95TwsdS7SMxn/E2d2l1jJ3j6uukbh8Ec8a13jsdDS72WTTaqU1ErjGTTEXFywxQI9sYvwSJ3EdvVhsbm7ubIvGY22p5pF4wtfksEW5wRuTjwZrUPmfhY+MrusNv1ffJ8VYGco8g3obpfxiF+upUV6DTlaDpC2c6UgN75yerKmvUlWsdnoaC9dG1zVXsEcvHc8raCjMC8RcHWN+1E+Q9YqoX9HdGGC6YliZbzn+0PxX4g3Jtqkvd3SvicXtYW6wx19ptnjrHp0YP8yBffHdt7jeVH9fsUmy24Zyn0Ed80S7LUJfwhlXhBtEbWk5PMNfJX2re5votnWDMw8nB1dVBLOaqlytqn9tHws0eI9Ojh9tj3rroy0ByXbUEobIZcF2EPvEEmD1QoBiLpVEw5CjMqfQot+2OdbRMdpaVkUeYjI1tsLtIX4G9oUGO8aVyJziOx54H96kqimOapFk0TaHtGdxoM1h8JgylncwdvxI0v0sLWYlARSt1wVWbIqkjuV9Z56KVWZYRho9TmVogCkIOF35e0eG99YXlljWN3AVHb1/5Su3cpy1/IlHBw1mjQJSddEUHEbKV3ONYyVqg4/Q2mLWEuzqCjTYzQNOV6Bp1Gz++Ve8nq0enm9WM/lZGdaqKgGHHrzMot90Yg73Cp0LXQJpZulhNg5KraPIWxuPBfqPgE2ttehzB8MfIZsW2k6jf2KI5vPkCakfESqIsHU5FYspUimY/0ZK8OGd1++w1Ks4RiPkUuNy9ooSH8MKtevVmCca0psrs3XFTCyVCjd2WSOlGTlmIwGUAFSv2NeKeQS7GbnIe46Vw/XEqe7mtquDZ28mj6FC/p+8JPkWbaJOrdQ01EaqafieLKCvrGlbSdrWlSdWL/nGoycL8UzGZWE9S7e20MBUcWAEMdAWl+kQgpWHK21rE4nTy2vDLK7xv/DUfwHPtuDAXXjCldbO0wLfTcj3d5HvSjEqdctMl4J8qat9d+9Qat+e4cG98d5QoK83GE7+cvzQwYnJx48NJtf19/YNj0g5Iwo3URcxJldyhv6unJFuUW8ixyPxWOtISyreFVxTkW1jQwM3pg4F/4vM1K4+ur55MrSg07gnpJgsQ7mvoNxcIUNn3hXrWHR8bHrXsBLujb2tE5s7bWuKsmIxnzs40BWMlmdf+UPk8NjUodJCZRP/xmPlHWMdLQ8EcyQME3hpRfnZwl4B0uhx0NoxFmup3wIHyHjsZ3BlaBRwbDHitQHxYsVzhyVqiQcP0iFBVMZKhVE40TAKhcOUARtWudq7B1TtifVqBgudtdCi8Zc6uEJNrFlVH+9TaUoNeldNkSxDka2g97SUm6uaaps1+WpVhkxO5yid4XLsmYm5wR5VG3KUdIYiLz8jI5vRFoj6a1GnThIW2C7kVZ+YU1g95he9Tsipne3tyd51zceOsbXOIvs+UIZ27w59mrSI/MG5s9jf561kUWS76HV8gNlY46awO15SyzbHV4UjYdx6fa/cHPSBVaqbcAnnKqW6KdXbOoBLLw28FB8vo0Hh7YJ5vgm/ixNW9+GfpGv0KZxTJM5xCLVWAzjXKM1dupNTRwbaca+Q4Yx2Hen01mZCZlWwpcGJd2e9IPNPo9XuR38M8y//tXv1sfl3j1RUHfqpYI8AyDVJJyF2bZyDNQqxey35zScTV+aTRw8lLs7Pv3/9hReuSz3DHVa0IV/QR9hXuUFIFVCHOzKjiaAyWrj0i2KfudxGV9izVUZV2ZUuv8JSIwPZPphf/E1ztaIhN6OoaBDmd+V1HzI1g3CUJO6Nn0K5jHg+AOn2RQ/SScBT/FFQxrGH+XP4Ev/HPnz4CyekIOzgz6b39uNwi7og9cO460ILcNMlHNDArcTMri/8f/f5DZkSDnAINQG3YLv4f87yCKN0+5448MrK8ET6zOeP1DTRwdPSmQ/uFHT8r8E0DSYhBtFfZKtYv1z/ZwXLvOf1/Ysa6Jdf3L/GNS6/IAah5KE2AlcWcG0h55cIPSEGPcao/J7F9XYx87GwkExmxGJnHsYF1waKLMXm/PJpMpVcbId5aZWhjjFlU16ZazptF7yBsvVCvYf7StTiWmC/R96ZWAz2LQtrZFAY34RoZ4g43UjrWkDVfkHbe+Q67o8iubFkwNqAuVhcbtFSrjIU5k4LOvTVl1lWzCHGjrHsJmH9iwytsRbsSAMZG0PkqP8Bze6m9HicnVJNTttAFP7GJBGVWsSuGxZvCRK2bJMsYNEFCJAiElBMqmwnMEmsBA+yg6KcgotUPQFn4QpcgS/jaRfprh75ve+9+d6vDWAPv6FQPz//YoVd9d3jAC0VebyDY/XqcQP76t3jJvaCbx63sB/8IFM1vtD65aI2WJHf9DjAVyUe72CkOh43IOrN4yYO1IfHLUhwgAtYPGONEjmmmGEJQYqY5wQhT41P6R2TJThHRNmFxgPmjF2hos7p0yjw6O4i9Byr7+5r5oZxSLtwmQwraSwwoWWdvKdvRD1EhksMKAXX1Lf03NE6YkZc2Od1mU9nS0nj+CQMKU9lvJbzSLr6YW5X1TwXXTxKN+pF0rcrOnM5tIWMzUwvJmIncm9GMswuB5lcD26Hd9kR896w4cwNUCHhuLjpZbqoEqLNDCWeXLfo2/JJU1+5QZZOl1ybcUuLGCk447udL+QghrwXJtGMqFkd+hOeeskp2kxsi+WVLadG0iiWM/nTRzgw05eFLunqhEnCwdP2v21vl8F2+OZ3NLyo+DnqT1F3HbO28NKUVc5lsXbclv/J/wnw3n44eJxtzUszQnEAQPHf/d92iiIxaEfUNIMaDGPpUVEeoQe2d8bXsPGJ0pZPxp3WnZmzPUcw4+/TnnncpkaCWMaCrJxFS/IKlq0oWlWyZt2GTVvKtu2o2E1rVTV1+w4camg6cuzEqTPnLly6cq2lreMmvXT13Ln34FHfk2cvBoZGxl69efdtauIrCn78RnFIkjhJPv4BL+AVTAAAAAAB//8AAnicY2BkYGDgAWIxIGZiYARCbyBmAfMYAAbXAHp4nGNgYGBkAILbCqeqQfTjAGc4DQBEkgYkAAAA')format("woff");}.fff{font-family:fff;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff10;src:url('data:application/font-woff;base64,d09GRgABAAAAAAhMAA0AAAAAC9gAAgAEAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAIMAAAABkAAAAcocFRckdERUYAAAgUAAAAHAAAAB4AJwATT1MvMgAAAagAAABCAAAAVlXsYnhjbWFwAAACHAAAAHMAAAFyDVoakWdhc3AAAAgMAAAACAAAAAj//wADZ2x5ZgAAAqwAAAN9AAAEyCKWYjNoZWFkAAABMAAAADMAAAA2KmLLjGhoZWEAAAFkAAAAIgAAACQHVAQBaG10eAAAAewAAAAwAAAANBWZAphsb2NhAAACkAAAABwAAAAcBXQGwG1heHAAAAGIAAAAHQAAACAAUQBLbmFtZQAABiwAAAGuAAADG9bYW0Nwb3N0AAAH3AAAAC8AAAA8AM4BuXicY2BkYGBgYmQTX9V4NJ7f5isDN/MLoAjD4wDnajgt8/8rSxvTNiCXg4EJJAoATZcL5QB4nGNgZGBg2vb/KwMDCz8Dw/8eljaGFAZRBmTACwCFpwVcAAB4nGNgZGBg4GXwYGBiAAEQycgAEnMA8xkACs4AnQAAAHicY2BkfM20h4GVgYGpC0jLMvSA6P9zGR8wGDIyAUUZOJgZYICRAQkEpLmmACkFhlKmbf+/AlVuY+CGqQEAehANEQAAeJxjlGAAA0ZfEAFERgyRLPwMSxn/M5gzGTI4grEagwzjMgYNxikMYUC+OwB/TwZEeJxjYGBgZoBgGQZGBhDIAfIYwXwWhgAgLQCEIHkFBiuGcIZUhgyGfIbS//9RRPIYiv/////4/6n/6/4v/D///6z/06GmoQBGNga4MCMTkGBCVwBxCnbAglMGCFhReEB72MEMDk4gwcXNg08rfQEAiaAWAwAAAAAAAAAAAAAAADQAoADgAR4BXAGMAewCKgJkeJyFlE+I41Qcx9/vJXkvf5qkzb92kkz/pGnaYTqdbjtNsDN2mB3cGZXqrnUGCiKyHkR3DyIiDoJ7WBARRBEPevGkF28ieFHEgyfv7mX14H1cBN2LsFnfa2dHEGFL6Ov3l/I+3/y+vxeE0RwhGMNPyEQ19suAdYiSXZjANgw8KvxHQ0tU7KlDxNLZeizxVRKLZytcdSh1pg6V7fw6/55yzTZGXyAkvoO/QQdMEAqGwDbu4baQZE3COPhMjlIGqkLZ9ugw3QV7gjl4KbOlqoJ4E2j+Cy25unaoFiwFPAnAj75TQ8u8qPFCTNcio2iDpQggN3qfLe6slDH/o7HxPZOGq+k6/lQy7n1uWhRjaplwMtvbPshPXE/gEj9nrwqOk//w0SPOky/CoeMKpSC/Ng/rL8B7TGADIYyy+3dxF26jBurw/uFmw4AqHg6ydMgaRqgBlDSjJJsA1+lW0owo9kTXMvM/REycbn12WScUA3NWcJ89evMVv/LxG9enN0kreSkGkZmpRL3QHatKeU2QFSV56+T1t197vrMTv8v7usdMPM762kaotUwrs1MGISY8kA/CHE4w9wC5tBJ2Vk2yrVjR+hV9k8ugKN0gftBaNcgYjPYzvWla7Aeu54OdxPuP/hq4boCPeSG/47Q6+9NzNvz8cLYJD2E/xdgRY6tgto76/8OGV3lh4CZdjmZ9D1nfr7G+E7TK6KTO+00nsNWDyBCogXkGE4zTQV4Zjv7681tKislkMyjLlEiiXIr9ZFTTfzs9/ftOLdoKXS8Y1etB2PdDPRxvsGfr3L8Lt9j++3z3ZtTukQnmjLLHs2Wjyq5kURhUJeosY27zdAkb3youe/Bl/avxFkimbmoU6yaWFULW509rghrYZrPe0Tt69eusA5qqq4oIBR2oQuSNJw41sVxrBH5STN7/pARAiMw+USKZ8mOpWS5IApUds7v9QUEUiMROD67GoKubF6yKQiTqlrrM/zHz/yOeojXun3vbhWbUg4ydr+w8lAEl68y4txxXZvmGeDkbvVxNHc20RNovW2QlqLG4rHmfyv35QNHs5IIsqQCbjlf88B62ivEsdDx/Fseng0aV+lXGPmDZXGHvlPh8LnZhcQjOR5Ej039fK3wqWgxD9q7OLhZ3GJTPyEQtrQ0vaQNSWYzMYiT8o50phJyY3+4El0a/8yL6B+fLssgAAAB4nKVSy07bQBQ9YxJEN4hFpG4q9S4Dko1twgKWQQEpIgTFBGVZJziJFcsDdqIon9H/qPiIfk8/guPxlEUfKzzyvWfu+1wbwCFeoVA/j+9Y4UB9tthBQ51YvAdffbe4gZb6ZXETh85Xi/fRciaMVI1PvP0wWRVWOFJNix3WF4v38E2dWtxAW/20uIkvjrJ4H23HwxU0nrFDgRQLLLGGIITPcwaXp8YXtE4ZJejCo+wjxgwr5m5RUqe0xcjxZHweBibqzvjryCqizXtuKiXsFCPDnDdt5ANtE+oxIvQwohTcUA9pueftmBVxpZ93RbpYriX0/TPXpbyQ6U66nvTj2Upvy1Uqcf4kfW/gyZ3e0phKW+cyTZZxNhc9l4dkIuOoN4rkZjQc30fHrHvLgSNDoERAurgdRHFeBkRdzpeRF7o6o7w2FNZGF1xYYtblMUdwyffPSu57gSFpZ1zDCzYmq4o+pz/gqdccosMGOl9f62KRSOj5cim/J3Gr/sNplr5sEprP3SAg/bDz9/D/a4l/lap+0IRMSobVH6dm43MWoTMpypTr4yx+Rz7a6w2PwITjAAB4nGNgYmD4/wWIZzIEM2ADvEDMyMDEwMwgy2DF4MHgzRDIEMQQxhDOEAEA5T8GhgAAAAAB//8AAnicY2BkYGDgAWIxIGZiYARCHiBmAfMYAAQiADt4nGNgYGBkAILbCqeqQfTjAGc4DQBEkgYkAAAA')format("woff");}.ff10{font-family:ff10;line-height:0.705000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff11;src:url('data:application/font-woff;base64,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')format("woff");}.ff11{font-family:ff11;line-height:0.911000;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.922000;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:0.999000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff14;src:url('data:application/font-woff;base64,d09GRgABAAAAAAWIAA0AAAAAB6AAAwACAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAFbAAAABoAAAAcocFRgkdERUYAAAVQAAAAHAAAAB4AJwAMT1MvMgAAAaQAAABEAAAAVlXmhJRjbWFwAAACAAAAAEcAAAFSIfYpumdhc3AAAAVIAAAACAAAAAj//wADZ2x5ZgAAAlgAAAEIAAABCN6/qDpoZWFkAAABMAAAADMAAAA2KaHKtGhoZWEAAAFkAAAAHgAAACQGZQOAaG10eAAAAegAAAAYAAAAGA7BAGlsb2NhAAACSAAAAA4AAAAOAIQASm1heHAAAAGEAAAAHQAAACAASQA0bmFtZQAAA2AAAAG/AAAC6APvgelwb3N0AAAFIAAAACUAAAA+ZVt0UXicY2BkYGBgZmjOfdQ3IZ7f5isDN/MLoAjD4wDnZjht9H8i8zqmrUAuBwMTSBQAdiUMsAB4nGNgZGBg2vp/IgMD8wsGIGBex8DIgArYAGj0A+wAAHicY2BkYGBgYzBkANEMDExAzAhmO4D5DAAHuwB+AAAAeJxjYGS+yviFgZWBgamLaQ8DA0MPhGZ8wGDIyAQUZWBjZoABRiBOgHEC0lxTgJSC0jGmrf8nAlVuZciHqmEAACo9DEoB9AAAAAAAAAFNAAAD6AAAA+gANwOwADJ4nGNgYGBmgGAZBkYGEPAB8hjBfBYGAyDNAYRMQFpB8a7Ssf//Eaz/j++p37WH6gIDRjYGOJcRpIeJARUwQqwazgAAZaYM8wAAAAAAAAAAAAAAAEoAhAAAAAEANwBTA64BoQAwAAATFz4CNzYzMhcWFzMmJzMWFwYHIzY3IyIvAQ8BBiInLgIjJw4BBwYiJjU0PwE2Mr2kCVJJAQ0HCRIHQuBDIh8mcG4oHyJD2BcLSktPFhIOAgwKAYkPLgcREAwQRBQSAVaUCEpBAQsQBj08V2o9Om1XPApCREcUDgIKCXwNKQYQDAgJDzwTAAABADL/kQN+ArUAJAAAAQcTFhUUIyIvAQcGIyI1PwETJyY1NDYzIRM2MzIWFxMhMhYVFANx71wDCwgH7+8LBAsCAlvwDAwQASFaBgkGBARbASERCwFxrv7nCQULCa2tCQsHBwEZrgkGCAMBFhQGDP7oAwgEeJxtUcFq20AQfevYhpZQeugHDIWCDba8khOCTQiYNL4phxgKPRUhL5bAkoy0jvBP5QP6LW1/oLd+QZ/W20OgGtC8mZ1582YXwDu8QOH8lfjlscJAffW4h6EqPL7AR/Xd4z7zvz0e4H3vg8dDDHtzVqr+G0Y/XFeHFd6q2OMeLtU3jy/wWVmP+8z/9HgAUX88HuKy9wn3qHDACTVy7JDBQjBCijF9iAXtBhPiCJq2IFqhgHH1KRLuJ4jpLXsNTzp0PtnzZEP2lLFh9uSYb90My5lLzGits4D1BRr6isw73HF+N7Vlb8cseCJH4+Y+879lZs3a0ul9dN3GKdlQX0zlmly4rw6nOt9lVkbpWMLF4mYikdYLWRWmztOklDixmSkSy2AvmyrNjT3J6Daz9rCczdq2DZKiCap6dzeeSJvbTJ5MY+pns5V1VVp5TAoj8WYVh5rzHnDk2p1IPBz3hi52YnPmCwZmmx/p/ylf+22Nu9+AmoW38nqLc+YaU0Yh/907RLgiCcevKcxIFGhZehEE19MwnEY6usIrIpwLgC9OYENRlXu97l3nbnrHLCwwdZNXpWg9D7SO5P88fwF1mnr3AHicY2BiwA/YgJiRgYmBmZGJkZm9NC/TyNDFBUwbOZsBACi0BIQAAAAAAAAB//8AAnicY2BkYGDgAWIxIGZiYARCViBmAfMYAAPVADR4nGNgYGBkAILbCqeqQfTjAOdmGA0AROIGNAAA')format("woff");}.ff14{font-family:ff14;line-height:0.804000;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.833000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff16;src:url('data:application/font-woff;base64,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')format("woff");}.ff16{font-family:ff16;line-height:0.888000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff17;src:url('data:application/font-woff;base64,d09GRgABAAAAAAW0AA0AAAAACDQAAwACAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAFmAAAABoAAAAcocFRlkdERUYAAAV8AAAAHAAAAB4AJwANT1MvMgAAAaQAAABDAAAAVlZLX0hjbWFwAAACAAAAAFkAAAFaATsLTWdhc3AAAAV0AAAACAAAAAj//wADZ2x5ZgAAAmwAAAEJAAABhJlcDpNoZWFkAAABMAAAADMAAAA2J7TKdmhoZWEAAAFkAAAAIAAAACQExQFjaG10eAAAAegAAAAYAAAAGAV+AH9sb2NhAAACXAAAABAAAAAQAHIA4m1heHAAAAGEAAAAHQAAACAASgA7bmFtZQAAA3gAAAHSAAADBtxvx81wb3N0AAAFTAAAACUAAAAwABH2lXicY2BkYGBgZmjOWbVjRjy/zVcGbuYXQBGGxwHOvXDa/D8b4x6md0AuBwMTSBQAcbgMfAB4nGNgZGBgevefjYGB8QsDEDDuYUhhkGRABqwAaf8EK3icY2BkYGBgZ7BgANEMDExAzAhmO4D5DAAIhQCGAAAAeJxjYGQsZ/zCwMrAwNTFtIdBkaEHRP/vYXzAYMjIBBRlYGNmgAFGBiQQkOaaAqQUGGqZ3v1nA6p8x/ALpgYAY30NPQAB9AAAAAAAAAFNAAAAAQAAAfQANwBIAEh4nGNgYGBmgGAZBkYGEAgB8hjBfBYGCyDNxcDBwASECgwxDNUMtf//A8Xg7P+P/6/43/W/E6oXChjZGOACjExAgokBFTBCrCQXsOCXZmVgo8BwKgEAR4AOiQAAAAAAAAAAAAAAAAAAIAByAMJ4nGNgZDD/z8a4h+kdgwADAyujmqmJmbGRmDijmKgIm7IS48R/q1l5ODg5WBnDgDTfI+Y1PCwcPFx8f0JANAMDAyODB1D/aqB+cyBHVIRdTFyOUZZRBEiKixnJAUWUldTU9RhtGU2ApLqakh6jqYm5mbkdUMSO0dgIqIOPkVG6zFxcQoCZy9mAlYWVSVg5SFpBgJnDxRDE47RRluZlLPIV5vS0Y8r8EKcoIC6hqnRJjVNNj5mRiYWFW0RUSl/9mBq3qiGYz8nELCumq/rEzJ2bk4nVGd2N4kDrMRwE8jKas9nZgA6TZeRjVFYC6rBjvIHiRBGFEEwn+ogAnVhKvAvN3cAuBADk0zhuAAAAeJxtkcFq20AURa8UxxAIbb6gPLqywZZHSkKwCYGg4p0CjaGQpZAHWxBJRhpHeNEv6K4f0u/povRHssmd8XQRqAY0Z968ue++GQAf8AsBjl+Nv54DfAwqzyGGwQ/PJ/gc/PY8wDA883yKizDxPGT8KzODwRlXf9wpywE+BZnnEOfBd88n+BL89Dxg/NXzKSS88DzEeZgiRYMdDmhRYoMtDAQjFBhzjjHnuMGEnEBxzEn3qKBdfoGc/QkyzoZnNXcsHXeeubOiesG1ZvTglG9dDcOaC8w4ejci5lfoODdU3uCO9W3VnmetsuCRGp2r+8L/mpElc2vn98Gd1qSUXlZ4onNFLaTN7tCWm62RUTGWeD6/mUii1FzuK92WRV5LlputrnLDxbOsmqLU5iCj260xu8Vs1vd9lFdd1LSbu/FE+tJs5VF3un3Ra1k2tZGHvNKSZqunWNl6tFSxtT1tWav2ahqatVxbO9Vub3QrWbPWLQOZa6VkfsWFXpd7zv/6Wvq70O72I3YkvLP3PR4j15hyFfNvXynBFUVobknbWpJIycJbJFxP43iaqOQK74RwTAC+ObMdTTXube2rX7rqVlmYoNuubGpR6jJSKpH/67wBKr2CdQAAeJxjYGJg+P/x66H/WxmMGLABdiBmZGBiYGawZ4hjSAAA6hYGmgAAAAAAAAH//wACeJxjYGRgYOABYjEgZmJgBEI2IGYB8xgAA+AANXicY2BgYGQAgtsKp6pB9OMA514YDQBFRgZIAAA=')format("woff");}.ff17{font-family:ff17;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff18;src:url('data:application/font-woff;base64,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')format("woff");}.ff18{font-family:ff18;line-height:0.844000;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.922000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff1a;src:url('data:application/font-woff;base64,d09GRgABAAAAAAUkAA0AAAAABzwAAwACAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAFCAAAABoAAAAcocFRxkdERUYAAATsAAAAHAAAAB4AJwAMT1MvMgAAAaQAAABDAAAAVlSOX41jbWFwAAACAAAAAE4AAAFSBVULMmdhc3AAAATkAAAACAAAAAj//wADZ2x5ZgAAAmAAAACKAAAAlH88AnRoZWFkAAABMAAAADMAAAA2KLrKpWhoZWEAAAFkAAAAHwAAACQE0QNHaG10eAAAAegAAAAWAAAAFgaOAFJsb2NhAAACUAAAAA4AAAAOAEoAJG1heHAAAAGEAAAAHQAAACAASQAZbmFtZQAAAuwAAAHSAAADBsBBi7Nwb3N0AAAEwAAAACMAAAAu/9P2FXicY2BkYGBgZmi+KO5rFM9v85WBm/kFUIThcYDzUjgd9P8J03ImfiCXg4EJJAoATwYLswB4nGNgZGBg4v//BEj+YgACpuUMKQySDMiAFQBnWQQdAHicY2BkYGBgYxBjANEMDExAzAhmO4D5DAAFGABjAAAAeJxjYGT8w/iFgZWBgamLaQ+DIkMPiP7fw/iAwZCRCSjKwMbMAAOMDEggIM01BUgpMNgx8f9/AlTJzyADUwMAdr8LxQAB9AAAAAAAAAFNAAAAAQAAAvoAUgBSAAB4nGNgYGBmgGAZBkYGEPAB8hjBfBYGAyDNAYRMQFqBwYbB7v9/BOv/4/8n/h+H6gIDRjYGOJcRpIeJARUwQqzCBVgYWPHIDg0AAMF3C5AAAAAAAAAAAAAAAAAAJABKAAB4nD3MPRKCMBCG4d1lMMQkE2aywYoGJlrZ+HsPr+YhOBjMUEGfImq0sPnmbb4HEB7viQay4ADQYOO57w5hf73cw+188kzPlKhgRzaNzNTW6HBeF6mdiNJoGYXTkK9/xwOEctN3X+KIeTOzK5ufNNZYKaYivbyqyFLLUxRKGLkuW50jSm3gAzF1IBsAAHicbZHBattAEIZ/KY4hENo8QRl6ssGWJSUhyIRAUDDkoEATyF3IiyWIJCOtI3zoE+TWB+nz9FD6Ir3k3/X2EKgWtN/Mzs78MwvgE37Cw+Fr8Mexh89e7djH2HtzfISv3i/HI4z9E8fHOPNjx2P6vzHSG53Q+m1vGfbwxcsc+zj1vjs+wp33w/GI/r+OjyH+meMxTv0UKVpssUeHChuU0BBMUGDKPULCdYUZOUbIlZBuUUPZ+AI5+xNk3DXvKp4YOpy88OSJ2Qvait69zXxta2jWXGLBNdgVML5Gz71l5g1uWN9UHXjXZBY8Mkdv677yv6ZnxdjG6n2wtxUppZYM91QeMxfSdrvvqk2pZVJMJUqSq5nEYZjIba26qsgbyXJdqjrXNF7kqS0qpfcyuS613i4Xi2EYgrzug7bb3ExnMlS6lEfVq+5VrWXVNloe8lpJmmX3UWzqUVLN1naUZaSa0bQUa7gxcurtTqtOsnatOjoy20rF+JqGWlc77v/6WrlZKDv9gNMXzuxjjwfPJea0Iv7NK8W4YBKKW1G2kjgIZekkEi7nUTSPw/gCHxLhEAA8W7E9RbX2bc2rn9vqoa2HZ9X1VdtIGJ4HYRjL//O8A9O6gdUAAHicY2BiYPj/8euh/1sZjBiwATYgZmRgYmBmkGdQBADcmAXcAAAAAAH//wACeJxjYGRgYOABYjEgZmJgBEJWIGYB8xgAA9UANHicY2BgYGQAgtsKp6pB9OMA56UwGgBGNgZ4AAA=')format("woff");}.ff1a{font-family:ff1a;line-height:0.555000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff1b;src:url('data:application/font-woff;base64,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')format("woff");}.ff1b{font-family:ff1b;line-height:0.623000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff1c;src:url('data:application/font-woff;base64,d09GRgABAAAAAAUcAA0AAAAAB0AAAwACAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAFAAAAABoAAAAcocFRyEdERUYAAATkAAAAHAAAAB4AJwAMT1MvMgAAAaQAAABDAAAAVlSnX5ljbWFwAAACAAAAAE4AAAFSBVULMmdhc3AAAATcAAAACAAAAAj//wADZ2x5ZgAAAmAAAACEAAAAmFneDwhoZWFkAAABMAAAADMAAAA2KMrKqGhoZWEAAAFkAAAAIAAAACQE7QNLaG10eAAAAegAAAAWAAAAFgafAFNsb2NhAAACUAAAAA4AAAAOAEwAJm1heHAAAAGEAAAAHQAAACAASQAYbmFtZQAAAuQAAAHRAAADBrZBi61wb3N0AAAEuAAAACMAAAAu/9P2FXicY2BkYGBgZmjWVza+EM9v85WBm/kFUIThcYDzMjgd/P8G0zYmGSCXg4EJJAoASvULtAB4nGNgZGBgkvl/g4GBmYsBCJi2MaQwSDIgA1YAUVcDPnicY2BkYGBgYxBlANEMDExAzAhmO4D5DAAE/wBiAAAAeJxjYGRiZ/zCwMrAwNTFtIdBkaEHRP/vYXzAYMjIBBRlYGNmgAFGBiQQkOaaAqQUGOyYZP7fAKqUYdCAqQEAKMgK6wAB9AAAAAAAAAFNAAAAAQAAAwoAUwBTAAB4nGNgYGBmgGAZBkYGEPAB8hjBfBYGAyDNAYRMQFqBwYbB7v9/BOv/4/8n/h+H6gIDRjYGOJcRpIeJARUwQqzCBVgYWPHIDg0AAMF3C5AAAAAAAAAAAAAAAAAAJgBMAAB4nGNgZAj+f4NpG5MMgwgDAyMvo5ioCJuykjqjmok5o5mxEZDLtPjvZyZeYR4OVt6/14SFmbR4WTl4GD/9+MHFw8HDzsjKKcXJyMoOZDOgmKXKCDRHzdTEXJcRSAKNEmcUA5l1DaRdmIn372ewkUxawk/+/QZp54Ka+O83pxQDAMK8IDd4nG2RwWrbQBRFrxTHEAhtvqA8urLBlkdKQpAJgeBiyEKBJtC9kAdLEElGGkd40S/orh/S7+mi9Ee66Z3xdBGoBjRn3ry5774ZAO/wAwGOX4PfngO8D2rPIcbBN88n+Bj89DzCODzzfIqLMPE8ZvwzM4PRGVe/3CnLAT4EmecQ58FXzyf4FHz3PGL8j+dTSHjheYzzcIUVWuxwQIcKW5QwEExQYMo5Rspxgxk5geJISfeooV1+gZz9CTLOhmc1dywdd16480z1gmvN6MEp37oahjWXWHAMbkTMr9Fzbqm8xR3r26oDz1plwRM1elf3lf8NI2vmNs7vozutSSt6yfBA54paWLW7Q1dtSyOTYipxmt7MJFEqlftad1WRN5LlptR1brh4kee2qLQ5yOS2NGa3XCyGYYjyuo/abns3nclQmVKedK+7V72RddsYecxrLasse4iVrUdLNVvb05a1aq+mpVnLjbVT7/ZGd5K1G90xkLlWKubXXOhNtef8r6+1vwvtbj9iR8I7e9vjMXKNOVcx//aVElxRhObWtK0liZQsvUXC9TyO54lKrvBGCMcE4Isz29NU697Wvvqlq26VhQm666u2EaUuI6US+b/OX8tEgcUAAAB4nGNgYmD4//Hrof9bGYwYsAE2IGZkYGJgZpBnUAQA3JgF3AAAAAAB//8AAnicY2BkYGDgAWIxIGZiYARCViBmAfMYAAPVADR4nGNgYGBkAILbCqeqQfTjAOdlMBoARkAGegAA')format("woff");}.ff1c{font-family:ff1c;line-height:0.580000;font-style:normal;font-weight:normal;visibility:visible;}
.ff1d{font-family:sans-serif;visibility:hidden;}
@font-face{font-family:ff1e;src:url('data:application/font-woff;base64,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')format("woff");}.ff1e{font-family:ff1e;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff1f;src:url('data:application/font-woff;base64,d09GRgABAAAAAAT0AA0AAAAAB5wAAgADAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAE2AAAABoAAAAcocFR7EdERUYAAAS8AAAAGwAAAB4AJwALT1MvMgAAAaQAAABBAAAAVlQ3gD5jbWFwAAAB/AAAAEoAAAFKRITku2dhc3AAAAS0AAAACAAAAAj//wADZ2x5ZgAAAlQAAACDAAAAyJswHh5oZWFkAAABMAAAADIAAAA2KPjLOmhoZWEAAAFkAAAAHgAAACQFEQOjaG10eAAAAegAAAAUAAAAFAWgADtsb2NhAAACSAAAAAwAAAAMAAAAZG1heHAAAAGEAAAAHQAAACAASQBKbmFtZQAAAtgAAAG4AAADRbAC+Ipwb3N0AAAEkAAAACEAAAAs/5n3iHicY2BkYGBgYjhi+8iBM57f5isDN/MLoAjD4wDnHXDamkGD6R/jTyCXA6gWCABQGAuIAAB4nGNgZGBg/MkABMxWIJLpH0MKgyQDMmAFAD+oArsAAHicY2BkYGBgZXBnYGIAARDJyAAScwDzGQAJ3QCUAAAAeJxjYGScyziBgZWBgamLaQ+DIkMPiP7fw/iAwZCRCSjKwMrMAAOMQOwA4wSkuaYAKQUlD8afYMmfcDUMAD/yC0AAAAABGAAAAAAAAAFNAAAAAQAAAzoAO3icY2BgYGaAYBkGRgYQcAHyGMF8FgYNIM0GpBkZmBgUlDz+/wfywfT/x3f3QNUDASMbA5zDyAQkmBhQASPEikEPWMjXCgA5DQliAAAAAAAAAAAAAAAAAGR4nGNgYrBm0GD6x/iTQZnBjYGBUYRNWUmPUV2PUVmJj5EdxDM1MTM2kmMUl2M0NjIzB7IFoWrUcCth+pfqo+CmpWHupSFjbcHEwSEA5+vGszLzQrkZjnBZRVdtdbgs41WPdElJaRUlYWttNmFlKMfCUfLffTDbDS4uJQUWZwAAMzsh7wB4nK1Sy2rbQBQ9o9iGQvGyqywulEICkZDlBJqsSkxiMJUTpLhkO45lW9jWBEnBeNcPavtN/ZQejYZCS8mqGnTvue/HDIA+fkCh/b78xgp99d5hDz31yeEjROq7wx288/oOd9H3Rg73qP9KT9V5Q+mbjWqwwrHqOuzhrYocPsJCjR3u4Ez9dLiLY++Dwz2ceQlGMHjGASVyrLBGDUGEkGcIn6fFl9TO6SW4RkA6gcYTNozdoyLPqdMosLC2ALH1mlp769l4nFAubKaMlTS2WFIylj5Q90g+Q4obJKSCMfkdNfeUTpkRI/N8KPPVupYoDIe+T3op84NcBzLRTxuzrza56GIhkyAOZGr2VOZyYgqZZ2u9XYpZykP2KLP0JkllnNzN7tNT5v3MhmM2VLOtlGPu2KJhexU+0hjHul6nh93cbCvKzVQlXZr+MTXlTpPf2tFqy0suMrNrDLg6wRX/1yr4HDNjzAtlzeg24oL6AU97BRHOWcQU9a0pV5lEQShX8mdnfpKtXra6pOHCHwy4nOj89dH+Lox/J2wecUZzxUtsL7CdrHkiQmNWVjlXzJ7Cofyfir8ALbyTwHicY2BiYPj/8dvu/3MZVBiwAVYgZmRgYmBmWA4Ay4sGFgAAAAAAAAH//wACeJxjYGRgYOABYjEgZmJgBEIWMAbxGAADygAzAHicY2BgYGQAgtsKp6pB9OMA5x0wGgBG9AaeAAA=')format("woff");}.ff1f{font-family:ff1f;line-height:0.465000;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;}
._7{margin-left:-4.399514px;}
._e{margin-left:-3.307583px;}
._5{margin-left:-1.319850px;}
._c{width:1.778929px;}
._0{width:3.073600px;}
._28{width:4.409380px;}
._21{width:6.240614px;}
._1d{width:11.337259px;}
._d{width:12.363176px;}
._a{width:13.514073px;}
._f{width:14.614042px;}
._6{width:15.618270px;}
._8{width:17.550234px;}
._10{width:18.830240px;}
._b{width:20.601143px;}
._4{width:21.691454px;}
._13{width:22.909110px;}
._1c{width:23.944529px;}
._22{width:25.034189px;}
._12{width:26.108179px;}
._1e{width:27.184302px;}
._34{width:28.203966px;}
._3e{width:29.237898px;}
._3{width:31.241700px;}
._9{width:32.418280px;}
._24{width:33.865717px;}
._1{width:36.288314px;}
._16{width:37.656160px;}
._2{width:40.829100px;}
._32{width:43.635612px;}
._3f{width:46.068386px;}
._40{width:48.929092px;}
._3d{width:50.958261px;}
._3a{width:54.807560px;}
._1f{width:56.488800px;}
._41{width:58.848576px;}
._4a{width:61.016022px;}
._33{width:62.728934px;}
._39{width:66.759560px;}
._18{width:75.319360px;}
._31{width:80.069834px;}
._2b{width:84.680995px;}
._1a{width:94.143200px;}
._2f{width:100.423260px;}
._17{width:112.973920px;}
._2e{width:118.092166px;}
._2d{width:119.328817px;}
._15{width:131.803360px;}
._30{width:133.939606px;}
._23{width:135.041571px;}
._14{width:150.632800px;}
._20{width:169.463360px;}
._27{width:188.288800px;}
._11{width:225.949920px;}
._4c{width:244.781120px;}
._4b{width:282.440160px;}
._36{width:320.098240px;}
._1b{width:338.928480px;}
._35{width:357.758560px;}
._42{width:376.588000px;}
._3b{width:395.410720px;}
._2c{width:541.355085px;}
._45{width:583.711840px;}
._48{width:602.542080px;}
._44{width:677.859840px;}
._25{width:725.336319px;}
._47{width:790.834880px;}
._37{width:809.662560px;}
._19{width:843.300676px;}
._43{width:866.154240px;}
._2a{width:928.186118px;}
._26{width:993.735338px;}
._3c{width:1009.353626px;}
._49{width:1073.278080px;}
._38{width:1100.825257px;}
._46{width:1129.766400px;}
._29{width:1325.468243px;}
.fc0{color:rgb(35,55,59);}
.fc1{color:rgb(250,250,250);}
.fc2{color:rgb(255,255,255);}
.fc5{color:rgb(102,102,102);}
.fca{color:rgb(156,102,0);}
.fc6{color:rgb(61,122,122);}
.fcd{color:transparent;}
.fc4{color:rgb(0,0,255);}
.fc7{color:rgb(186,33,33);}
.fcb{color:rgb(16,136,110);}
.fc3{color:rgb(176,0,64);}
.fc8{color:rgb(0,128,0);}
.fc9{color:rgb(57,75,79);}
.fcc{color:rgb(173,34,49);}
.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;}
.y75{bottom:5.048000px;}
.y51{bottom:5.278000px;}
.y46{bottom:5.288000px;}
.yc9{bottom:5.531000px;}
.y16c{bottom:5.750000px;}
.y14e{bottom:5.867000px;}
.y1f9{bottom:6.519000px;}
.y1cd{bottom:6.953000px;}
.y3a{bottom:7.702000px;}
.y1a8{bottom:7.947000px;}
.y19e{bottom:7.984000px;}
.yb9{bottom:9.212000px;}
.y1e4{bottom:9.599000px;}
.y5f{bottom:10.397000px;}
.y20d{bottom:10.786000px;}
.y1ba{bottom:11.140000px;}
.y193{bottom:11.167000px;}
.y83{bottom:11.239000px;}
.ydc{bottom:11.583000px;}
.y199{bottom:11.638000px;}
.yf{bottom:13.018000px;}
.y240{bottom:13.282000px;}
.y178{bottom:13.937000px;}
.y160{bottom:14.147000px;}
.y95{bottom:14.830000px;}
.y107{bottom:15.663000px;}
.yf1{bottom:16.210000px;}
.y14d{bottom:16.751000px;}
.y13e{bottom:18.387000px;}
.y1c0{bottom:18.622000px;}
.yae{bottom:18.771000px;}
.y215{bottom:18.816000px;}
.y50{bottom:19.026000px;}
.y183{bottom:19.105000px;}
.y45{bottom:20.008000px;}
.y1d8{bottom:20.821000px;}
.y221{bottom:21.210000px;}
.y39{bottom:21.451000px;}
.yb8{bottom:21.814000px;}
.y6a{bottom:22.682000px;}
.y5e{bottom:23.000000px;}
.y16b{bottom:23.324000px;}
.y20c{bottom:23.389000px;}
.y19c{bottom:23.501000px;}
.y82{bottom:23.842000px;}
.y1e3{bottom:24.194000px;}
.ya2{bottom:24.365000px;}
.y74{bottom:24.674000px;}
.y1c{bottom:25.331000px;}
.y23f{bottom:25.885000px;}
.y135{bottom:26.033000px;}
.y8c{bottom:26.378000px;}
.y198{bottom:27.219000px;}
.y14c{bottom:27.635000px;}
.y106{bottom:28.265000px;}
.y19d{bottom:28.831000px;}
.y1e{bottom:28.947000px;}
.y13d{bottom:30.990000px;}
.yc8{bottom:31.135000px;}
.y182{bottom:31.707000px;}
.ydb{bottom:32.146000px;}
.y1cc{bottom:32.159000px;}
.y177{bottom:32.866000px;}
.y1d7{bottom:33.424000px;}
.y4f{bottom:33.746000px;}
.y220{bottom:33.812000px;}
.y1bf{bottom:34.203000px;}
.yad{bottom:34.353000px;}
.yb7{bottom:34.417000px;}
.y1b9{bottom:34.627000px;}
.y5d{bottom:35.603000px;}
.y236{bottom:35.777000px;}
.y1ed{bottom:35.964000px;}
.y81{bottom:36.445000px;}
.y94{bottom:36.598000px;}
.y192{bottom:36.771000px;}
.y15f{bottom:36.953000px;}
.ya1{bottom:36.968000px;}
.y73{bottom:37.277000px;}
.y38{bottom:38.163000px;}
.y69{bottom:38.263000px;}
.y14b{bottom:38.519000px;}
.y134{bottom:38.636000px;}
.y156{bottom:38.673000px;}
.y16a{bottom:38.906000px;}
.y105{bottom:40.868000px;}
.yf0{bottom:41.416000px;}
.y19b{bottom:41.434000px;}
.y44{bottom:41.542000px;}
.y22e{bottom:42.597000px;}
.y124{bottom:42.925000px;}
.y6{bottom:42.950000px;}
.y13c{bottom:43.593000px;}
.y214{bottom:44.021000px;}
.y18d{bottom:44.074000px;}
.y181{bottom:44.310000px;}
.y1b{bottom:44.534000px;}
.y11a{bottom:44.593000px;}
.y1cb{bottom:44.761000px;}
.y176{bottom:45.469000px;}
.y1d6{bottom:46.026000px;}
.y21f{bottom:46.415000px;}
.yc7{bottom:46.716000px;}
.yb6{bottom:47.020000px;}
.y1b8{bottom:47.229000px;}
.y1d{bottom:48.150000px;}
.y5c{bottom:48.205000px;}
.y235{bottom:48.380000px;}
.y80{bottom:49.048000px;}
.y14a{bottom:49.403000px;}
.y26{bottom:49.485000px;}
.ya0{bottom:49.571000px;}
.yac{bottom:49.934000px;}
.yd2{bottom:49.941000px;}
.y23e{bottom:51.090000px;}
.y1f8{bottom:51.177000px;}
.y1ec{bottom:51.545000px;}
.y8b{bottom:51.583000px;}
.y24a{bottom:51.777000px;}
.yda{bottom:52.709000px;}
.y155{bottom:53.321000px;}
.y197{bottom:53.351000px;}
.y104{bottom:53.471000px;}
.y19a{bottom:54.036000px;}
.y68{bottom:54.627000px;}
.y1b0{bottom:54.691000px;}
.y22d{bottom:55.199000px;}
.y4e{bottom:55.280000px;}
.y1e2{bottom:55.759000px;}
.y1a7{bottom:55.991000px;}
.y43{bottom:56.261000px;}
.y213{bottom:56.624000px;}
.y18c{bottom:56.676000px;}
.y180{bottom:56.913000px;}
.ye{bottom:56.945000px;}
.y119{bottom:57.196000px;}
.y1ca{bottom:57.364000px;}
.y175{bottom:58.071000px;}
.yfa{bottom:58.158000px;}
.y2e{bottom:58.296000px;}
.y93{bottom:58.366000px;}
.y1d5{bottom:58.629000px;}
.y20b{bottom:58.956000px;}
.y21e{bottom:59.018000px;}
.ye7{bottom:59.057000px;}
.y169{bottom:59.468000px;}
.yb5{bottom:59.622000px;}
.y5{bottom:59.625000px;}
.y37{bottom:59.697000px;}
.y1b7{bottom:59.832000px;}
.y149{bottom:60.288000px;}
.y5b{bottom:60.808000px;}
.y7f{bottom:61.650000px;}
.y1be{bottom:61.740000px;}
.y23d{bottom:63.693000px;}
.y1a{bottom:63.737000px;}
.y1f7{bottom:63.780000px;}
.y133{bottom:63.841000px;}
.y249{bottom:64.380000px;}
.y196{bottom:65.954000px;}
.y103{bottom:66.073000px;}
.yef{bottom:66.621000px;}
.y191{bottom:66.639000px;}
.ybf{bottom:67.246000px;}
.y1f3{bottom:67.917000px;}
.y154{bottom:67.969000px;}
.y123{bottom:68.131000px;}
.yc6{bottom:68.250000px;}
.y1a6{bottom:68.594000px;}
.y13b{bottom:68.798000px;}
.y15e{bottom:68.908000px;}
.y212{bottom:69.227000px;}
.y18b{bottom:69.279000px;}
.y17f{bottom:69.515000px;}
.y72{bottom:69.755000px;}
.y118{bottom:69.798000px;}
.y1c9{bottom:69.967000px;}
.y4d{bottom:70.000000px;}
.yf9{bottom:70.761000px;}
.y22c{bottom:71.013000px;}
.y148{bottom:71.172000px;}
.yab{bottom:71.468000px;}
.ye6{bottom:71.660000px;}
.y1e1{bottom:71.866000px;}
.yb4{bottom:72.225000px;}
.y1b6{bottom:72.435000px;}
.y174{bottom:72.916000px;}
.yd9{bottom:73.271000px;}
.y5a{bottom:73.411000px;}
.y234{bottom:73.585000px;}
.y7e{bottom:74.253000px;}
.y20a{bottom:74.537000px;}
.y9f{bottom:74.776000px;}
.yd1{bottom:75.146000px;}
.yd{bottom:76.148000px;}
.y1f6{bottom:76.382000px;}
.y36{bottom:76.409000px;}
.y132{bottom:76.444000px;}
.y8a{bottom:76.788000px;}
.y248{bottom:76.982000px;}
.y168{bottom:77.042000px;}
.y1bd{bottom:77.321000px;}
.y25{bottom:77.480000px;}
.y42{bottom:77.796000px;}
.y226{bottom:78.997000px;}
.y1eb{bottom:79.082000px;}
.yee{bottom:79.224000px;}
.y190{bottom:79.242000px;}
.y1af{bottom:79.897000px;}
.y92{bottom:80.135000px;}
.y122{bottom:80.733000px;}
.y1a5{bottom:81.197000px;}
.y13a{bottom:81.401000px;}
.y15d{bottom:81.511000px;}
.y211{bottom:81.829000px;}
.y18a{bottom:81.882000px;}
.y147{bottom:82.056000px;}
.y71{bottom:82.358000px;}
.y117{bottom:82.401000px;}
.y1c8{bottom:82.569000px;}
.y67{bottom:82.649000px;}
.ybe{bottom:82.828000px;}
.y19{bottom:82.940000px;}
.y2d{bottom:83.501000px;}
.y12b{bottom:83.563000px;}
.y1d4{bottom:83.834000px;}
.y21d{bottom:84.223000px;}
.ye5{bottom:84.263000px;}
.yb3{bottom:84.828000px;}
.y10e{bottom:84.853000px;}
.y1df{bottom:85.614000px;}
.y102{bottom:85.899000px;}
.y153{bottom:85.984000px;}
.y233{bottom:86.188000px;}
.y1f2{bottom:86.487000px;}
.y22b{bottom:86.595000px;}
.y7d{bottom:86.856000px;}
.y9e{bottom:87.379000px;}
.yfe{bottom:87.508000px;}
.yd0{bottom:87.749000px;}
.yc5{bottom:88.813000px;}
.y23c{bottom:88.898000px;}
.y131{bottom:89.046000px;}
.y1e0{bottom:89.229000px;}
.y247{bottom:89.585000px;}
.y195{bottom:91.159000px;}
.y4c{bottom:91.534000px;}
.y41{bottom:91.544000px;}
.y173{bottom:91.844000px;}
.y1ae{bottom:92.499000px;}
.y167{bottom:92.624000px;}
.y146{bottom:92.940000px;}
.y121{bottom:93.336000px;}
.y1a4{bottom:93.799000px;}
.yd8{bottom:93.834000px;}
.y210{bottom:94.432000px;}
.y189{bottom:94.484000px;}
.y225{bottom:94.579000px;}
.y1ea{bottom:94.664000px;}
.y1c7{bottom:95.172000px;}
.yc{bottom:95.351000px;}
.y1f5{bottom:95.523000px;}
.yf8{bottom:95.966000px;}
.y2c{bottom:96.104000px;}
.y15c{bottom:96.106000px;}
.y12a{bottom:96.166000px;}
.y12{bottom:96.596000px;}
.y21c{bottom:96.826000px;}
.ye4{bottom:96.865000px;}
.yb2{bottom:97.430000px;}
.y10d{bottom:97.456000px;}
.yaa{bottom:97.600000px;}
.y1b5{bottom:97.640000px;}
.y35{bottom:97.943000px;}
.y66{bottom:98.231000px;}
.y59{bottom:98.616000px;}
.y7c{bottom:99.458000px;}
.y152{bottom:99.732000px;}
.y209{bottom:99.757000px;}
.y9d{bottom:99.981000px;}
.y201{bottom:100.019000px;}
.ycf{bottom:100.352000px;}
.y101{bottom:101.481000px;}
.y23b{bottom:101.501000px;}
.y89{bottom:101.994000px;}
.y18{bottom:102.143000px;}
.y246{bottom:102.188000px;}
.y116{bottom:102.227000px;}
.y91{bottom:103.029000px;}
.y1d3{bottom:103.473000px;}
.y17e{bottom:103.762000px;}
.y145{bottom:103.824000px;}
.y97{bottom:103.877000px;}
.yc4{bottom:104.395000px;}
.y172{bottom:104.447000px;}
.y1bc{bottom:104.858000px;}
.y1f1{bottom:105.057000px;}
.y1ad{bottom:105.102000px;}
.y4b{bottom:105.283000px;}
.y1de{bottom:105.315000px;}
.y24{bottom:105.475000px;}
.y120{bottom:105.939000px;}
.y40{bottom:106.264000px;}
.y1a3{bottom:106.402000px;}
.y139{bottom:106.606000px;}
.y20f{bottom:107.035000px;}
.y70{bottom:107.563000px;}
.yfd{bottom:108.544000px;}
.yf7{bottom:108.569000px;}
.y129{bottom:108.768000px;}
.yed{bottom:108.843000px;}
.y21b{bottom:109.428000px;}
.ye3{bottom:109.468000px;}
.y10c{bottom:110.058000px;}
.y224{bottom:110.160000px;}
.ya9{bottom:110.203000px;}
.y1b4{bottom:110.243000px;}
.y208{bottom:110.641000px;}
.y200{bottom:110.903000px;}
.y1f4{bottom:111.104000px;}
.y58{bottom:111.219000px;}
.y232{bottom:111.393000px;}
.y34{bottom:111.692000px;}
.y130{bottom:111.851000px;}
.y7b{bottom:112.061000px;}
.y22a{bottom:112.139000px;}
.y166{bottom:113.187000px;}
.y65{bottom:113.812000px;}
.y23a{bottom:114.103000px;}
.yd7{bottom:114.397000px;}
.yb{bottom:114.554000px;}
.y245{bottom:114.790000px;}
.ybd{bottom:114.823000px;}
.y11{bottom:115.799000px;}
.y17d{bottom:116.365000px;}
.y90{bottom:116.778000px;}
.y4{bottom:117.024000px;}
.y171{bottom:117.050000px;}
.y1ac{bottom:117.705000px;}
.y115{bottom:117.808000px;}
.y11f{bottom:118.542000px;}
.y1e9{bottom:118.592000px;}
.y151{bottom:118.935000px;}
.y1a2{bottom:119.005000px;}
.y4a{bottom:119.031000px;}
.y138{bottom:119.209000px;}
.y1d2{bottom:119.214000px;}
.y20e{bottom:119.637000px;}
.y188{bottom:119.690000px;}
.y1c6{bottom:120.377000px;}
.y1bb{bottom:120.439000px;}
.y1f0{bottom:120.639000px;}
.y15b{bottom:120.664000px;}
.yf6{bottom:121.172000px;}
.y17{bottom:121.346000px;}
.y128{bottom:121.371000px;}
.y23{bottom:121.515000px;}
.y207{bottom:121.526000px;}
.y1ff{bottom:121.787000px;}
.y21a{bottom:122.031000px;}
.ye2{bottom:122.071000px;}
.y2b{bottom:122.528000px;}
.yb1{bottom:122.636000px;}
.y10b{bottom:122.661000px;}
.y57{bottom:123.821000px;}
.y231{bottom:123.996000px;}
.y88{bottom:124.335000px;}
.yec{bottom:124.424000px;}
.y7a{bottom:124.664000px;}
.yc3{bottom:124.957000px;}
.y9c{bottom:125.187000px;}
.yce{bottom:125.557000px;}
.y144{bottom:125.592000px;}
.y1dd{bottom:126.849000px;}
.y239{bottom:126.955000px;}
.y229{bottom:127.720000px;}
.y3f{bottom:127.798000px;}
.y33{bottom:128.404000px;}
.y165{bottom:128.768000px;}
.y17c{bottom:128.967000px;}
.y18f{bottom:129.652000px;}
.y1ab{bottom:130.307000px;}
.ybc{bottom:130.404000px;}
.y11e{bottom:131.144000px;}
.y1a1{bottom:131.607000px;}
.y137{bottom:131.811000px;}
.y187{bottom:132.292000px;}
.y206{bottom:132.410000px;}
.y1fe{bottom:132.672000px;}
.y6f{bottom:132.768000px;}
.y49{bottom:132.779000px;}
.y1c5{bottom:132.980000px;}
.ya{bottom:133.757000px;}
.y127{bottom:133.974000px;}
.y1b3{bottom:134.053000px;}
.y219{bottom:134.634000px;}
.ye1{bottom:134.673000px;}
.y1d1{bottom:134.955000px;}
.y10{bottom:135.002000px;}
.y1e8{bottom:135.214000px;}
.y10a{bottom:135.264000px;}
.ya8{bottom:135.408000px;}
.y8f{bottom:135.507000px;}
.yd6{bottom:135.931000px;}
.y143{bottom:136.476000px;}
.y244{bottom:136.609000px;}
.y87{bottom:136.938000px;}
.y2a{bottom:138.110000px;}
.ycd{bottom:138.160000px;}
.y1f{bottom:138.248000px;}
.y15a{bottom:138.696000px;}
.y3{bottom:139.042000px;}
.y1ef{bottom:139.209000px;}
.y64{bottom:140.089000px;}
.yc2{bottom:140.539000px;}
.y16{bottom:140.549000px;}
.y3e{bottom:141.546000px;}
.y17b{bottom:141.570000px;}
.y1dc{bottom:142.005000px;}
.y170{bottom:142.255000px;}
.yb0{bottom:142.461000px;}
.y205{bottom:143.294000px;}
.y1fd{bottom:143.556000px;}
.y11d{bottom:143.747000px;}
.y1a0{bottom:144.210000px;}
.y164{bottom:144.350000px;}
.y186{bottom:144.895000px;}
.y79{bottom:144.987000px;}
.yfc{bottom:145.162000px;}
.y6e{bottom:145.371000px;}
.y1c4{bottom:145.583000px;}
.y223{bottom:145.667000px;}
.y22{bottom:145.998000px;}
.yf5{bottom:146.377000px;}
.y48{bottom:146.528000px;}
.y12f{bottom:146.561000px;}
.y126{bottom:146.576000px;}
.y218{bottom:147.236000px;}
.ye0{bottom:147.276000px;}
.y109{bottom:147.866000px;}
.yeb{bottom:147.976000px;}
.ya7{bottom:148.011000px;}
.ybb{bottom:148.974000px;}
.y56{bottom:149.027000px;}
.y230{bottom:149.201000px;}
.y100{bottom:149.540000px;}
.y32{bottom:149.938000px;}
.y9b{bottom:149.994000px;}
.y1d0{bottom:150.696000px;}
.y150{bottom:150.990000px;}
.y1e7{bottom:151.835000px;}
.y114{bottom:152.519000px;}
.y9{bottom:152.960000px;}
.y228{bottom:153.265000px;}
.y17a{bottom:154.173000px;}
.y204{bottom:154.178000px;}
.y8e{bottom:154.237000px;}
.y1fc{bottom:154.440000px;}
.y16f{bottom:154.858000px;}
.y238{bottom:154.975000px;}
.y29{bottom:155.079000px;}
.y1aa{bottom:155.513000px;}
.y1b2{bottom:155.587000px;}
.y63{bottom:155.671000px;}
.y3d{bottom:156.266000px;}
.y11c{bottom:156.350000px;}
.y136{bottom:157.017000px;}
.y1db{bottom:157.161000px;}
.yd5{bottom:157.465000px;}
.y142{bottom:157.799000px;}
.yaf{bottom:158.043000px;}
.y1c3{bottom:158.185000px;}
.yf4{bottom:158.980000px;}
.y12e{bottom:159.164000px;}
.y15{bottom:159.752000px;}
.y217{bottom:159.839000px;}
.y163{bottom:159.931000px;}
.ya6{bottom:160.614000px;}
.y47{bottom:161.247000px;}
.y222{bottom:161.248000px;}
.y55{bottom:161.629000px;}
.y22f{bottom:161.804000px;}
.y86{bottom:162.143000px;}
.y1ee{bottom:163.234000px;}
.ycc{bottom:163.365000px;}
.yea{bottom:163.558000px;}
.yc1{bottom:163.662000px;}
.y203{bottom:165.062000px;}
.y113{bottom:165.122000px;}
.y1fb{bottom:165.324000px;}
.y78{bottom:165.550000px;}
.y9a{bottom:165.575000px;}
.yfb{bottom:166.198000px;}
.y1cf{bottom:166.437000px;}
.y14f{bottom:166.571000px;}
.y31{bottom:166.650000px;}
.y159{bottom:166.691000px;}
.y194{bottom:166.775000px;}
.y18e{bottom:167.460000px;}
.y1e6{bottom:168.457000px;}
.y227{bottom:168.846000px;}
.y19f{bottom:169.415000px;}
.y108{bottom:169.685000px;}
.y185{bottom:170.100000px;}
.y237{bottom:170.556000px;}
.y6d{bottom:170.576000px;}
.y1c2{bottom:170.788000px;}
.y125{bottom:171.373000px;}
.y12d{bottom:171.767000px;}
.y8{bottom:172.163000px;}
.y1da{bottom:172.317000px;}
.ydf{bottom:172.481000px;}
.y96{bottom:172.619000px;}
.y8d{bottom:172.967000px;}
.yba{bottom:172.999000px;}
.yd4{bottom:173.047000px;}
.ya5{bottom:173.216000px;}
.y141{bottom:173.540000px;}
.y243{bottom:174.058000px;}
.y54{bottom:174.232000px;}
.yff{bottom:174.746000px;}
.y62{bottom:175.237000px;}
.y162{bottom:175.513000px;}
.y202{bottom:175.946000px;}
.ycb{bottom:175.968000px;}
.y1fa{bottom:176.208000px;}
.y2{bottom:177.167000px;}
.y21{bottom:177.455000px;}
.y112{bottom:177.724000px;}
.y14{bottom:178.955000px;}
.y1b1{bottom:179.139000px;}
.y179{bottom:179.378000px;}
.y16e{bottom:180.063000px;}
.yf3{bottom:180.798000px;}
.y3c{bottom:180.825000px;}
.y11b{bottom:181.156000px;}
.y6c{bottom:183.179000px;}
.y12c{bottom:184.369000px;}
.y158{bottom:184.723000px;}
.y216{bottom:185.044000px;}
.y1e5{bottom:185.078000px;}
.yde{bottom:185.084000px;}
.y28{bottom:185.225000px;}
.ya4{bottom:185.819000px;}
.y77{bottom:186.113000px;}
.y1ce{bottom:186.138000px;}
.y1a9{bottom:186.297000px;}
.y99{bottom:186.611000px;}
.y242{bottom:186.661000px;}
.y53{bottom:186.835000px;}
.ye9{bottom:187.109000px;}
.y85{bottom:187.348000px;}
.y1d9{bottom:187.473000px;}
.y140{bottom:189.281000px;}
.y111{bottom:190.327000px;}
.y61{bottom:190.819000px;}
.y161{bottom:191.094000px;}
.yc0{bottom:191.425000px;}
.yd3{bottom:191.592000px;}
.y30{bottom:193.417000px;}
.y20{bottom:193.494000px;}
.y1c1{bottom:195.993000px;}
.yf2{bottom:196.379000px;}
.y3b{bottom:196.406000px;}
.ydd{bottom:197.687000px;}
.y1{bottom:197.790000px;}
.y13{bottom:198.158000px;}
.y184{bottom:198.207000px;}
.ya3{bottom:198.422000px;}
.yca{bottom:201.173000px;}
.y27{bottom:201.589000px;}
.y98{bottom:202.193000px;}
.ye8{bottom:202.691000px;}
.y16d{bottom:203.189000px;}
.y241{bottom:204.494000px;}
.y13f{bottom:205.022000px;}
.y76{bottom:206.676000px;}
.y157{bottom:206.716000px;}
.y84{bottom:207.174000px;}
.y60{bottom:207.788000px;}
.y6b{bottom:208.384000px;}
.y110{bottom:210.153000px;}
.y52{bottom:212.040000px;}
.y2f{bottom:212.770000px;}
.y7{bottom:236.149000px;}
.y10f{bottom:240.488000px;}
.hb{height:19.359269px;}
.h17{height:20.921400px;}
.h13{height:22.093117px;}
.h11{height:22.124998px;}
.h9{height:23.910300px;}
.h16{height:24.818995px;}
.hf{height:24.890726px;}
.hd{height:25.285248px;}
.h10{height:26.899200px;}
.ha{height:27.576477px;}
.h6{height:29.887800px;}
.h14{height:30.196389px;}
.he{height:30.283662px;}
.h12{height:30.763662px;}
.hc{height:32.727300px;}
.h18{height:33.091994px;}
.h5{height:33.665843px;}
.h15{height:34.072320px;}
.h7{height:35.865600px;}
.h4{height:40.456284px;}
.h8{height:43.038600px;}
.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;}
.x4{left:10.667000px;}
.x28{left:17.014000px;}
.x2e{left:22.942000px;}
.x1{left:28.346000px;}
.xc{left:31.983000px;}
.x2c{left:33.076000px;}
.x5{left:34.488000px;}
.xb{left:35.605000px;}
.xe{left:36.961000px;}
.x2b{left:38.553000px;}
.x12{left:41.530000px;}
.x20{left:43.800000px;}
.x11{left:45.457000px;}
.x19{left:48.272000px;}
.x6{left:50.486000px;}
.x16{left:53.153000px;}
.x27{left:55.502000px;}
.x33{left:59.579000px;}
.x2a{left:63.241000px;}
.x1a{left:65.208000px;}
.x17{left:67.945000px;}
.x14{left:68.994000px;}
.x35{left:71.983000px;}
.x1b{left:73.079000px;}
.x13{left:78.160000px;}
.x1d{left:80.380000px;}
.x29{left:81.399000px;}
.x22{left:87.823000px;}
.x1c{left:90.994000px;}
.x18{left:97.238000px;}
.x26{left:102.471000px;}
.xa{left:106.772000px;}
.x1e{left:108.512000px;}
.x9{left:116.849000px;}
.x2{left:118.687000px;}
.x1f{left:121.058000px;}
.xd{left:144.311000px;}
.x24{left:153.058000px;}
.x23{left:156.831000px;}
.x8{left:167.345000px;}
.x36{left:173.449000px;}
.x10{left:177.263000px;}
.x2f{left:187.632000px;}
.x32{left:190.795000px;}
.x30{left:204.569000px;}
.x31{left:221.505000px;}
.x21{left:252.580000px;}
.x34{left:261.995000px;}
.x2d{left:267.116000px;}
.x15{left:323.190000px;}
.x25{left:342.020000px;}
.x3{left:378.705000px;}
.xf{left:424.403000px;}
.x7{left:428.637000px;}
@media print{
.v0{vertical-align:0.000000pt;}
.ls0{letter-spacing:0.000000pt;}
.ws0{word-spacing:0.000000pt;}
._7{margin-left:-5.866018pt;}
._e{margin-left:-4.410111pt;}
._5{margin-left:-1.759801pt;}
._c{width:2.371905pt;}
._0{width:4.098134pt;}
._28{width:5.879173pt;}
._21{width:8.320819pt;}
._1d{width:15.116345pt;}
._d{width:16.484235pt;}
._a{width:18.018764pt;}
._f{width:19.485390pt;}
._6{width:20.824359pt;}
._8{width:23.400311pt;}
._10{width:25.106987pt;}
._b{width:27.468191pt;}
._4{width:28.921939pt;}
._13{width:30.545480pt;}
._1c{width:31.926038pt;}
._22{width:33.378918pt;}
._12{width:34.810905pt;}
._1e{width:36.245736pt;}
._34{width:37.605289pt;}
._3e{width:38.983864pt;}
._3{width:41.655600pt;}
._9{width:43.224373pt;}
._24{width:45.154290pt;}
._1{width:48.384419pt;}
._16{width:50.208213pt;}
._2{width:54.438800pt;}
._32{width:58.180816pt;}
._3f{width:61.424514pt;}
._40{width:65.238789pt;}
._3d{width:67.944349pt;}
._3a{width:73.076747pt;}
._1f{width:75.318400pt;}
._41{width:78.464768pt;}
._4a{width:81.354696pt;}
._33{width:83.638579pt;}
._39{width:89.012747pt;}
._18{width:100.425813pt;}
._31{width:106.759779pt;}
._2b{width:112.907993pt;}
._1a{width:125.524267pt;}
._2f{width:133.897680pt;}
._17{width:150.631893pt;}
._2e{width:157.456221pt;}
._2d{width:159.105090pt;}
._15{width:175.737813pt;}
._30{width:178.586142pt;}
._23{width:180.055428pt;}
._14{width:200.843733pt;}
._20{width:225.951147pt;}
._27{width:251.051733pt;}
._11{width:301.266560pt;}
._4c{width:326.374827pt;}
._4b{width:376.586880pt;}
._36{width:426.797653pt;}
._1b{width:451.904640pt;}
._35{width:477.011413pt;}
._42{width:502.117333pt;}
._3b{width:527.214293pt;}
._2c{width:721.806780pt;}
._45{width:778.282453pt;}
._48{width:803.389440pt;}
._44{width:903.813120pt;}
._25{width:967.115092pt;}
._47{width:1054.446507pt;}
._37{width:1079.550080pt;}
._19{width:1124.400901pt;}
._43{width:1154.872320pt;}
._2a{width:1237.581491pt;}
._26{width:1324.980450pt;}
._3c{width:1345.804834pt;}
._49{width:1431.037440pt;}
._38{width:1467.767009pt;}
._46{width:1506.355200pt;}
._29{width:1767.290991pt;}
.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;}
.y75{bottom:6.730667pt;}
.y51{bottom:7.037333pt;}
.y46{bottom:7.050667pt;}
.yc9{bottom:7.374667pt;}
.y16c{bottom:7.666667pt;}
.y14e{bottom:7.822667pt;}
.y1f9{bottom:8.692000pt;}
.y1cd{bottom:9.270667pt;}
.y3a{bottom:10.269333pt;}
.y1a8{bottom:10.596000pt;}
.y19e{bottom:10.645333pt;}
.yb9{bottom:12.282667pt;}
.y1e4{bottom:12.798667pt;}
.y5f{bottom:13.862667pt;}
.y20d{bottom:14.381333pt;}
.y1ba{bottom:14.853333pt;}
.y193{bottom:14.889333pt;}
.y83{bottom:14.985333pt;}
.ydc{bottom:15.444000pt;}
.y199{bottom:15.517333pt;}
.yf{bottom:17.357333pt;}
.y240{bottom:17.709333pt;}
.y178{bottom:18.582667pt;}
.y160{bottom:18.862667pt;}
.y95{bottom:19.773333pt;}
.y107{bottom:20.884000pt;}
.yf1{bottom:21.613333pt;}
.y14d{bottom:22.334667pt;}
.y13e{bottom:24.516000pt;}
.y1c0{bottom:24.829333pt;}
.yae{bottom:25.028000pt;}
.y215{bottom:25.088000pt;}
.y50{bottom:25.368000pt;}
.y183{bottom:25.473333pt;}
.y45{bottom:26.677333pt;}
.y1d8{bottom:27.761333pt;}
.y221{bottom:28.280000pt;}
.y39{bottom:28.601333pt;}
.yb8{bottom:29.085333pt;}
.y6a{bottom:30.242667pt;}
.y5e{bottom:30.666667pt;}
.y16b{bottom:31.098667pt;}
.y20c{bottom:31.185333pt;}
.y19c{bottom:31.334667pt;}
.y82{bottom:31.789333pt;}
.y1e3{bottom:32.258667pt;}
.ya2{bottom:32.486667pt;}
.y74{bottom:32.898667pt;}
.y1c{bottom:33.774667pt;}
.y23f{bottom:34.513333pt;}
.y135{bottom:34.710667pt;}
.y8c{bottom:35.170667pt;}
.y198{bottom:36.292000pt;}
.y14c{bottom:36.846667pt;}
.y106{bottom:37.686667pt;}
.y19d{bottom:38.441333pt;}
.y1e{bottom:38.596000pt;}
.y13d{bottom:41.320000pt;}
.yc8{bottom:41.513333pt;}
.y182{bottom:42.276000pt;}
.ydb{bottom:42.861333pt;}
.y1cc{bottom:42.878667pt;}
.y177{bottom:43.821333pt;}
.y1d7{bottom:44.565333pt;}
.y4f{bottom:44.994667pt;}
.y220{bottom:45.082667pt;}
.y1bf{bottom:45.604000pt;}
.yad{bottom:45.804000pt;}
.yb7{bottom:45.889333pt;}
.y1b9{bottom:46.169333pt;}
.y5d{bottom:47.470667pt;}
.y236{bottom:47.702667pt;}
.y1ed{bottom:47.952000pt;}
.y81{bottom:48.593333pt;}
.y94{bottom:48.797333pt;}
.y192{bottom:49.028000pt;}
.y15f{bottom:49.270667pt;}
.ya1{bottom:49.290667pt;}
.y73{bottom:49.702667pt;}
.y38{bottom:50.884000pt;}
.y69{bottom:51.017333pt;}
.y14b{bottom:51.358667pt;}
.y134{bottom:51.514667pt;}
.y156{bottom:51.564000pt;}
.y16a{bottom:51.874667pt;}
.y105{bottom:54.490667pt;}
.yf0{bottom:55.221333pt;}
.y19b{bottom:55.245333pt;}
.y44{bottom:55.389333pt;}
.y22e{bottom:56.796000pt;}
.y124{bottom:57.233333pt;}
.y6{bottom:57.266667pt;}
.y13c{bottom:58.124000pt;}
.y214{bottom:58.694667pt;}
.y18d{bottom:58.765333pt;}
.y181{bottom:59.080000pt;}
.y1b{bottom:59.378667pt;}
.y11a{bottom:59.457333pt;}
.y1cb{bottom:59.681333pt;}
.y176{bottom:60.625333pt;}
.y1d6{bottom:61.368000pt;}
.y21f{bottom:61.886667pt;}
.yc7{bottom:62.288000pt;}
.yb6{bottom:62.693333pt;}
.y1b8{bottom:62.972000pt;}
.y1d{bottom:64.200000pt;}
.y5c{bottom:64.273333pt;}
.y235{bottom:64.506667pt;}
.y80{bottom:65.397333pt;}
.y14a{bottom:65.870667pt;}
.y26{bottom:65.980000pt;}
.ya0{bottom:66.094667pt;}
.yac{bottom:66.578667pt;}
.yd2{bottom:66.588000pt;}
.y23e{bottom:68.120000pt;}
.y1f8{bottom:68.236000pt;}
.y1ec{bottom:68.726667pt;}
.y8b{bottom:68.777333pt;}
.y24a{bottom:69.036000pt;}
.yda{bottom:70.278667pt;}
.y155{bottom:71.094667pt;}
.y197{bottom:71.134667pt;}
.y104{bottom:71.294667pt;}
.y19a{bottom:72.048000pt;}
.y68{bottom:72.836000pt;}
.y1b0{bottom:72.921333pt;}
.y22d{bottom:73.598667pt;}
.y4e{bottom:73.706667pt;}
.y1e2{bottom:74.345333pt;}
.y1a7{bottom:74.654667pt;}
.y43{bottom:75.014667pt;}
.y213{bottom:75.498667pt;}
.y18c{bottom:75.568000pt;}
.y180{bottom:75.884000pt;}
.ye{bottom:75.926667pt;}
.y119{bottom:76.261333pt;}
.y1ca{bottom:76.485333pt;}
.y175{bottom:77.428000pt;}
.yfa{bottom:77.544000pt;}
.y2e{bottom:77.728000pt;}
.y93{bottom:77.821333pt;}
.y1d5{bottom:78.172000pt;}
.y20b{bottom:78.608000pt;}
.y21e{bottom:78.690667pt;}
.ye7{bottom:78.742667pt;}
.y169{bottom:79.290667pt;}
.yb5{bottom:79.496000pt;}
.y5{bottom:79.500000pt;}
.y37{bottom:79.596000pt;}
.y1b7{bottom:79.776000pt;}
.y149{bottom:80.384000pt;}
.y5b{bottom:81.077333pt;}
.y7f{bottom:82.200000pt;}
.y1be{bottom:82.320000pt;}
.y23d{bottom:84.924000pt;}
.y1a{bottom:84.982667pt;}
.y1f7{bottom:85.040000pt;}
.y133{bottom:85.121333pt;}
.y249{bottom:85.840000pt;}
.y196{bottom:87.938667pt;}
.y103{bottom:88.097333pt;}
.yef{bottom:88.828000pt;}
.y191{bottom:88.852000pt;}
.ybf{bottom:89.661333pt;}
.y1f3{bottom:90.556000pt;}
.y154{bottom:90.625333pt;}
.y123{bottom:90.841333pt;}
.yc6{bottom:91.000000pt;}
.y1a6{bottom:91.458667pt;}
.y13b{bottom:91.730667pt;}
.y15e{bottom:91.877333pt;}
.y212{bottom:92.302667pt;}
.y18b{bottom:92.372000pt;}
.y17f{bottom:92.686667pt;}
.y72{bottom:93.006667pt;}
.y118{bottom:93.064000pt;}
.y1c9{bottom:93.289333pt;}
.y4d{bottom:93.333333pt;}
.yf9{bottom:94.348000pt;}
.y22c{bottom:94.684000pt;}
.y148{bottom:94.896000pt;}
.yab{bottom:95.290667pt;}
.ye6{bottom:95.546667pt;}
.y1e1{bottom:95.821333pt;}
.yb4{bottom:96.300000pt;}
.y1b6{bottom:96.580000pt;}
.y174{bottom:97.221333pt;}
.yd9{bottom:97.694667pt;}
.y5a{bottom:97.881333pt;}
.y234{bottom:98.113333pt;}
.y7e{bottom:99.004000pt;}
.y20a{bottom:99.382667pt;}
.y9f{bottom:99.701333pt;}
.yd1{bottom:100.194667pt;}
.yd{bottom:101.530667pt;}
.y1f6{bottom:101.842667pt;}
.y36{bottom:101.878667pt;}
.y132{bottom:101.925333pt;}
.y8a{bottom:102.384000pt;}
.y248{bottom:102.642667pt;}
.y168{bottom:102.722667pt;}
.y1bd{bottom:103.094667pt;}
.y25{bottom:103.306667pt;}
.y42{bottom:103.728000pt;}
.y226{bottom:105.329333pt;}
.y1eb{bottom:105.442667pt;}
.yee{bottom:105.632000pt;}
.y190{bottom:105.656000pt;}
.y1af{bottom:106.529333pt;}
.y92{bottom:106.846667pt;}
.y122{bottom:107.644000pt;}
.y1a5{bottom:108.262667pt;}
.y13a{bottom:108.534667pt;}
.y15d{bottom:108.681333pt;}
.y211{bottom:109.105333pt;}
.y18a{bottom:109.176000pt;}
.y147{bottom:109.408000pt;}
.y71{bottom:109.810667pt;}
.y117{bottom:109.868000pt;}
.y1c8{bottom:110.092000pt;}
.y67{bottom:110.198667pt;}
.ybe{bottom:110.437333pt;}
.y19{bottom:110.586667pt;}
.y2d{bottom:111.334667pt;}
.y12b{bottom:111.417333pt;}
.y1d4{bottom:111.778667pt;}
.y21d{bottom:112.297333pt;}
.ye5{bottom:112.350667pt;}
.yb3{bottom:113.104000pt;}
.y10e{bottom:113.137333pt;}
.y1df{bottom:114.152000pt;}
.y102{bottom:114.532000pt;}
.y153{bottom:114.645333pt;}
.y233{bottom:114.917333pt;}
.y1f2{bottom:115.316000pt;}
.y22b{bottom:115.460000pt;}
.y7d{bottom:115.808000pt;}
.y9e{bottom:116.505333pt;}
.yfe{bottom:116.677333pt;}
.yd0{bottom:116.998667pt;}
.yc5{bottom:118.417333pt;}
.y23c{bottom:118.530667pt;}
.y131{bottom:118.728000pt;}
.y1e0{bottom:118.972000pt;}
.y247{bottom:119.446667pt;}
.y195{bottom:121.545333pt;}
.y4c{bottom:122.045333pt;}
.y41{bottom:122.058667pt;}
.y173{bottom:122.458667pt;}
.y1ae{bottom:123.332000pt;}
.y167{bottom:123.498667pt;}
.y146{bottom:123.920000pt;}
.y121{bottom:124.448000pt;}
.y1a4{bottom:125.065333pt;}
.yd8{bottom:125.112000pt;}
.y210{bottom:125.909333pt;}
.y189{bottom:125.978667pt;}
.y225{bottom:126.105333pt;}
.y1ea{bottom:126.218667pt;}
.y1c7{bottom:126.896000pt;}
.yc{bottom:127.134667pt;}
.y1f5{bottom:127.364000pt;}
.yf8{bottom:127.954667pt;}
.y2c{bottom:128.138667pt;}
.y15c{bottom:128.141333pt;}
.y12a{bottom:128.221333pt;}
.y12{bottom:128.794667pt;}
.y21c{bottom:129.101333pt;}
.ye4{bottom:129.153333pt;}
.yb2{bottom:129.906667pt;}
.y10d{bottom:129.941333pt;}
.yaa{bottom:130.133333pt;}
.y1b5{bottom:130.186667pt;}
.y35{bottom:130.590667pt;}
.y66{bottom:130.974667pt;}
.y59{bottom:131.488000pt;}
.y7c{bottom:132.610667pt;}
.y152{bottom:132.976000pt;}
.y209{bottom:133.009333pt;}
.y9d{bottom:133.308000pt;}
.y201{bottom:133.358667pt;}
.ycf{bottom:133.802667pt;}
.y101{bottom:135.308000pt;}
.y23b{bottom:135.334667pt;}
.y89{bottom:135.992000pt;}
.y18{bottom:136.190667pt;}
.y246{bottom:136.250667pt;}
.y116{bottom:136.302667pt;}
.y91{bottom:137.372000pt;}
.y1d3{bottom:137.964000pt;}
.y17e{bottom:138.349333pt;}
.y145{bottom:138.432000pt;}
.y97{bottom:138.502667pt;}
.yc4{bottom:139.193333pt;}
.y172{bottom:139.262667pt;}
.y1bc{bottom:139.810667pt;}
.y1f1{bottom:140.076000pt;}
.y1ad{bottom:140.136000pt;}
.y4b{bottom:140.377333pt;}
.y1de{bottom:140.420000pt;}
.y24{bottom:140.633333pt;}
.y120{bottom:141.252000pt;}
.y40{bottom:141.685333pt;}
.y1a3{bottom:141.869333pt;}
.y139{bottom:142.141333pt;}
.y20f{bottom:142.713333pt;}
.y70{bottom:143.417333pt;}
.yfd{bottom:144.725333pt;}
.yf7{bottom:144.758667pt;}
.y129{bottom:145.024000pt;}
.yed{bottom:145.124000pt;}
.y21b{bottom:145.904000pt;}
.ye3{bottom:145.957333pt;}
.y10c{bottom:146.744000pt;}
.y224{bottom:146.880000pt;}
.ya9{bottom:146.937333pt;}
.y1b4{bottom:146.990667pt;}
.y208{bottom:147.521333pt;}
.y200{bottom:147.870667pt;}
.y1f4{bottom:148.138667pt;}
.y58{bottom:148.292000pt;}
.y232{bottom:148.524000pt;}
.y34{bottom:148.922667pt;}
.y130{bottom:149.134667pt;}
.y7b{bottom:149.414667pt;}
.y22a{bottom:149.518667pt;}
.y166{bottom:150.916000pt;}
.y65{bottom:151.749333pt;}
.y23a{bottom:152.137333pt;}
.yd7{bottom:152.529333pt;}
.yb{bottom:152.738667pt;}
.y245{bottom:153.053333pt;}
.ybd{bottom:153.097333pt;}
.y11{bottom:154.398667pt;}
.y17d{bottom:155.153333pt;}
.y90{bottom:155.704000pt;}
.y4{bottom:156.032000pt;}
.y171{bottom:156.066667pt;}
.y1ac{bottom:156.940000pt;}
.y115{bottom:157.077333pt;}
.y11f{bottom:158.056000pt;}
.y1e9{bottom:158.122667pt;}
.y151{bottom:158.580000pt;}
.y1a2{bottom:158.673333pt;}
.y4a{bottom:158.708000pt;}
.y138{bottom:158.945333pt;}
.y1d2{bottom:158.952000pt;}
.y20e{bottom:159.516000pt;}
.y188{bottom:159.586667pt;}
.y1c6{bottom:160.502667pt;}
.y1bb{bottom:160.585333pt;}
.y1f0{bottom:160.852000pt;}
.y15b{bottom:160.885333pt;}
.yf6{bottom:161.562667pt;}
.y17{bottom:161.794667pt;}
.y128{bottom:161.828000pt;}
.y23{bottom:162.020000pt;}
.y207{bottom:162.034667pt;}
.y1ff{bottom:162.382667pt;}
.y21a{bottom:162.708000pt;}
.ye2{bottom:162.761333pt;}
.y2b{bottom:163.370667pt;}
.yb1{bottom:163.514667pt;}
.y10b{bottom:163.548000pt;}
.y57{bottom:165.094667pt;}
.y231{bottom:165.328000pt;}
.y88{bottom:165.780000pt;}
.yec{bottom:165.898667pt;}
.y7a{bottom:166.218667pt;}
.yc3{bottom:166.609333pt;}
.y9c{bottom:166.916000pt;}
.yce{bottom:167.409333pt;}
.y144{bottom:167.456000pt;}
.y1dd{bottom:169.132000pt;}
.y239{bottom:169.273333pt;}
.y229{bottom:170.293333pt;}
.y3f{bottom:170.397333pt;}
.y33{bottom:171.205333pt;}
.y165{bottom:171.690667pt;}
.y17c{bottom:171.956000pt;}
.y18f{bottom:172.869333pt;}
.y1ab{bottom:173.742667pt;}
.ybc{bottom:173.872000pt;}
.y11e{bottom:174.858667pt;}
.y1a1{bottom:175.476000pt;}
.y137{bottom:175.748000pt;}
.y187{bottom:176.389333pt;}
.y206{bottom:176.546667pt;}
.y1fe{bottom:176.896000pt;}
.y6f{bottom:177.024000pt;}
.y49{bottom:177.038667pt;}
.y1c5{bottom:177.306667pt;}
.ya{bottom:178.342667pt;}
.y127{bottom:178.632000pt;}
.y1b3{bottom:178.737333pt;}
.y219{bottom:179.512000pt;}
.ye1{bottom:179.564000pt;}
.y1d1{bottom:179.940000pt;}
.y10{bottom:180.002667pt;}
.y1e8{bottom:180.285333pt;}
.y10a{bottom:180.352000pt;}
.ya8{bottom:180.544000pt;}
.y8f{bottom:180.676000pt;}
.yd6{bottom:181.241333pt;}
.y143{bottom:181.968000pt;}
.y244{bottom:182.145333pt;}
.y87{bottom:182.584000pt;}
.y2a{bottom:184.146667pt;}
.ycd{bottom:184.213333pt;}
.y1f{bottom:184.330667pt;}
.y15a{bottom:184.928000pt;}
.y3{bottom:185.389333pt;}
.y1ef{bottom:185.612000pt;}
.y64{bottom:186.785333pt;}
.yc2{bottom:187.385333pt;}
.y16{bottom:187.398667pt;}
.y3e{bottom:188.728000pt;}
.y17b{bottom:188.760000pt;}
.y1dc{bottom:189.340000pt;}
.y170{bottom:189.673333pt;}
.yb0{bottom:189.948000pt;}
.y205{bottom:191.058667pt;}
.y1fd{bottom:191.408000pt;}
.y11d{bottom:191.662667pt;}
.y1a0{bottom:192.280000pt;}
.y164{bottom:192.466667pt;}
.y186{bottom:193.193333pt;}
.y79{bottom:193.316000pt;}
.yfc{bottom:193.549333pt;}
.y6e{bottom:193.828000pt;}
.y1c4{bottom:194.110667pt;}
.y223{bottom:194.222667pt;}
.y22{bottom:194.664000pt;}
.yf5{bottom:195.169333pt;}
.y48{bottom:195.370667pt;}
.y12f{bottom:195.414667pt;}
.y126{bottom:195.434667pt;}
.y218{bottom:196.314667pt;}
.ye0{bottom:196.368000pt;}
.y109{bottom:197.154667pt;}
.yeb{bottom:197.301333pt;}
.ya7{bottom:197.348000pt;}
.ybb{bottom:198.632000pt;}
.y56{bottom:198.702667pt;}
.y230{bottom:198.934667pt;}
.y100{bottom:199.386667pt;}
.y32{bottom:199.917333pt;}
.y9b{bottom:199.992000pt;}
.y1d0{bottom:200.928000pt;}
.y150{bottom:201.320000pt;}
.y1e7{bottom:202.446667pt;}
.y114{bottom:203.358667pt;}
.y9{bottom:203.946667pt;}
.y228{bottom:204.353333pt;}
.y17a{bottom:205.564000pt;}
.y204{bottom:205.570667pt;}
.y8e{bottom:205.649333pt;}
.y1fc{bottom:205.920000pt;}
.y16f{bottom:206.477333pt;}
.y238{bottom:206.633333pt;}
.y29{bottom:206.772000pt;}
.y1aa{bottom:207.350667pt;}
.y1b2{bottom:207.449333pt;}
.y63{bottom:207.561333pt;}
.y3d{bottom:208.354667pt;}
.y11c{bottom:208.466667pt;}
.y136{bottom:209.356000pt;}
.y1db{bottom:209.548000pt;}
.yd5{bottom:209.953333pt;}
.y142{bottom:210.398667pt;}
.yaf{bottom:210.724000pt;}
.y1c3{bottom:210.913333pt;}
.yf4{bottom:211.973333pt;}
.y12e{bottom:212.218667pt;}
.y15{bottom:213.002667pt;}
.y217{bottom:213.118667pt;}
.y163{bottom:213.241333pt;}
.ya6{bottom:214.152000pt;}
.y47{bottom:214.996000pt;}
.y222{bottom:214.997333pt;}
.y55{bottom:215.505333pt;}
.y22f{bottom:215.738667pt;}
.y86{bottom:216.190667pt;}
.y1ee{bottom:217.645333pt;}
.ycc{bottom:217.820000pt;}
.yea{bottom:218.077333pt;}
.yc1{bottom:218.216000pt;}
.y203{bottom:220.082667pt;}
.y113{bottom:220.162667pt;}
.y1fb{bottom:220.432000pt;}
.y78{bottom:220.733333pt;}
.y9a{bottom:220.766667pt;}
.yfb{bottom:221.597333pt;}
.y1cf{bottom:221.916000pt;}
.y14f{bottom:222.094667pt;}
.y31{bottom:222.200000pt;}
.y159{bottom:222.254667pt;}
.y194{bottom:222.366667pt;}
.y18e{bottom:223.280000pt;}
.y1e6{bottom:224.609333pt;}
.y227{bottom:225.128000pt;}
.y19f{bottom:225.886667pt;}
.y108{bottom:226.246667pt;}
.y185{bottom:226.800000pt;}
.y237{bottom:227.408000pt;}
.y6d{bottom:227.434667pt;}
.y1c2{bottom:227.717333pt;}
.y125{bottom:228.497333pt;}
.y12d{bottom:229.022667pt;}
.y8{bottom:229.550667pt;}
.y1da{bottom:229.756000pt;}
.ydf{bottom:229.974667pt;}
.y96{bottom:230.158667pt;}
.y8d{bottom:230.622667pt;}
.yba{bottom:230.665333pt;}
.yd4{bottom:230.729333pt;}
.ya5{bottom:230.954667pt;}
.y141{bottom:231.386667pt;}
.y243{bottom:232.077333pt;}
.y54{bottom:232.309333pt;}
.yff{bottom:232.994667pt;}
.y62{bottom:233.649333pt;}
.y162{bottom:234.017333pt;}
.y202{bottom:234.594667pt;}
.ycb{bottom:234.624000pt;}
.y1fa{bottom:234.944000pt;}
.y2{bottom:236.222667pt;}
.y21{bottom:236.606667pt;}
.y112{bottom:236.965333pt;}
.y14{bottom:238.606667pt;}
.y1b1{bottom:238.852000pt;}
.y179{bottom:239.170667pt;}
.y16e{bottom:240.084000pt;}
.yf3{bottom:241.064000pt;}
.y3c{bottom:241.100000pt;}
.y11b{bottom:241.541333pt;}
.y6c{bottom:244.238667pt;}
.y12c{bottom:245.825333pt;}
.y158{bottom:246.297333pt;}
.y216{bottom:246.725333pt;}
.y1e5{bottom:246.770667pt;}
.yde{bottom:246.778667pt;}
.y28{bottom:246.966667pt;}
.ya4{bottom:247.758667pt;}
.y77{bottom:248.150667pt;}
.y1ce{bottom:248.184000pt;}
.y1a9{bottom:248.396000pt;}
.y99{bottom:248.814667pt;}
.y242{bottom:248.881333pt;}
.y53{bottom:249.113333pt;}
.ye9{bottom:249.478667pt;}
.y85{bottom:249.797333pt;}
.y1d9{bottom:249.964000pt;}
.y140{bottom:252.374667pt;}
.y111{bottom:253.769333pt;}
.y61{bottom:254.425333pt;}
.y161{bottom:254.792000pt;}
.yc0{bottom:255.233333pt;}
.yd3{bottom:255.456000pt;}
.y30{bottom:257.889333pt;}
.y20{bottom:257.992000pt;}
.y1c1{bottom:261.324000pt;}
.yf2{bottom:261.838667pt;}
.y3b{bottom:261.874667pt;}
.ydd{bottom:263.582667pt;}
.y1{bottom:263.720000pt;}
.y13{bottom:264.210667pt;}
.y184{bottom:264.276000pt;}
.ya3{bottom:264.562667pt;}
.yca{bottom:268.230667pt;}
.y27{bottom:268.785333pt;}
.y98{bottom:269.590667pt;}
.ye8{bottom:270.254667pt;}
.y16d{bottom:270.918667pt;}
.y241{bottom:272.658667pt;}
.y13f{bottom:273.362667pt;}
.y76{bottom:275.568000pt;}
.y157{bottom:275.621333pt;}
.y84{bottom:276.232000pt;}
.y60{bottom:277.050667pt;}
.y6b{bottom:277.845333pt;}
.y110{bottom:280.204000pt;}
.y52{bottom:282.720000pt;}
.y2f{bottom:283.693333pt;}
.y7{bottom:314.865333pt;}
.y10f{bottom:320.650667pt;}
.hb{height:25.812358pt;}
.h17{height:27.895200pt;}
.h13{height:29.457490pt;}
.h11{height:29.499997pt;}
.h9{height:31.880400pt;}
.h16{height:33.091994pt;}
.hf{height:33.187635pt;}
.hd{height:33.713664pt;}
.h10{height:35.865600pt;}
.ha{height:36.768636pt;}
.h6{height:39.850400pt;}
.h14{height:40.261852pt;}
.he{height:40.378215pt;}
.h12{height:41.018216pt;}
.hc{height:43.636400pt;}
.h18{height:44.122658pt;}
.h5{height:44.887791pt;}
.h15{height:45.429760pt;}
.h7{height:47.820800pt;}
.h4{height:53.941712pt;}
.h8{height:57.384800pt;}
.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;}
.x4{left:14.222667pt;}
.x28{left:22.685333pt;}
.x2e{left:30.589333pt;}
.x1{left:37.794667pt;}
.xc{left:42.644000pt;}
.x2c{left:44.101333pt;}
.x5{left:45.984000pt;}
.xb{left:47.473333pt;}
.xe{left:49.281333pt;}
.x2b{left:51.404000pt;}
.x12{left:55.373333pt;}
.x20{left:58.400000pt;}
.x11{left:60.609333pt;}
.x19{left:64.362667pt;}
.x6{left:67.314667pt;}
.x16{left:70.870667pt;}
.x27{left:74.002667pt;}
.x33{left:79.438667pt;}
.x2a{left:84.321333pt;}
.x1a{left:86.944000pt;}
.x17{left:90.593333pt;}
.x14{left:91.992000pt;}
.x35{left:95.977333pt;}
.x1b{left:97.438667pt;}
.x13{left:104.213333pt;}
.x1d{left:107.173333pt;}
.x29{left:108.532000pt;}
.x22{left:117.097333pt;}
.x1c{left:121.325333pt;}
.x18{left:129.650667pt;}
.x26{left:136.628000pt;}
.xa{left:142.362667pt;}
.x1e{left:144.682667pt;}
.x9{left:155.798667pt;}
.x2{left:158.249333pt;}
.x1f{left:161.410667pt;}
.xd{left:192.414667pt;}
.x24{left:204.077333pt;}
.x23{left:209.108000pt;}
.x8{left:223.126667pt;}
.x36{left:231.265333pt;}
.x10{left:236.350667pt;}
.x2f{left:250.176000pt;}
.x32{left:254.393333pt;}
.x30{left:272.758667pt;}
.x31{left:295.340000pt;}
.x21{left:336.773333pt;}
.x34{left:349.326667pt;}
.x2d{left:356.154667pt;}
.x15{left:430.920000pt;}
.x25{left:456.026667pt;}
.x3{left:504.940000pt;}
.xf{left:565.870667pt;}
.x7{left:571.516000pt;}
}
</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="#pf6" data-dest-detail='[6,"XYZ",28.346,255.118,null]'>Functions</a><ul><li><a class="l" href="#pf9" data-dest-detail='[9,"XYZ",28.346,228.21,null]'>Pass by-Value</a></li><li><a class="l" href="#pfa" data-dest-detail='[10,"XYZ",28.346,228.21,null]'>Pass by-Pointer</a></li><li><a class="l" href="#pfb" data-dest-detail='[11,"XYZ",28.346,228.21,null]'>Pass by-Reference</a></li><li><a class="l" href="#pfd" data-dest-detail='[13,"XYZ",28.346,228.21,null]'>Function Signature and Overloading</a></li><li><a class="l" href="#pf10" data-dest-detail='[16,"XYZ",28.346,228.21,null]'>Overloading and =delete</a></li><li><a class="l" href="#pf11" data-dest-detail='[17,"XYZ",28.346,228.21,null]'>Default Parameters</a></li></ul></li><li><a class="l" href="#pf12" data-dest-detail='[18,"XYZ",28.346,255.118,null]'>Function Pointers and Function Objects</a><ul><li><a class="l" href="#pf13" data-dest-detail='[19,"XYZ",28.346,228.21,null]'>Function Pointer</a></li><li><a class="l" href="#pf15" data-dest-detail='[21,"XYZ",28.346,228.21,null]'>Function Object (or Functor)</a></li></ul></li><li><a class="l" href="#pf17" data-dest-detail='[23,"XYZ",28.346,255.118,null]'>Lambda Expressions</a><ul><li><a class="l" href="#pf1a" data-dest-detail='[26,"XYZ",28.346,228.21,null]'>Capture List</a></li><li><a class="l" href="#pf1d" data-dest-detail='[29,"XYZ",28.346,217.415,null]'>Lambda Expression and Function Relation</a></li><li><a class="l" href="#pf1e" data-dest-detail='[30,"XYZ",28.346,187.234,null]'>Parameter Notes</a></li><li><a class="l" href="#pf1f" data-dest-detail='[31,"XYZ",28.346,228.21,null]'>Composability</a></li><li><a class="l" href="#pf21" data-dest-detail='[33,"XYZ",28.346,228.21,null]'>Recursion</a></li><li><a class="l" href="#pf22" data-dest-detail='[34,"XYZ",28.346,228.21,null]'>constexpr/consteval</a></li><li><a class="l" href="#pf23" data-dest-detail='[35,"XYZ",28.346,192.409,null]'>template</a></li><li><a class="l" href="#pf25" data-dest-detail='[37,"XYZ",28.346,228.21,null]'>mutable</a></li><li><a class="l" href="#pf26" data-dest-detail='[38,"XYZ",28.346,228.21,null]'>Capture List and Classes</a></li></ul></li><li><a class="l" href="#pf27" data-dest-detail='[39,"XYZ",28.346,255.118,null]'>Preprocessing</a><ul><li><a class="l" href="#pf29" data-dest-detail='[41,"XYZ",28.346,228.21,null]'>Preprocessors</a></li><li><a class="l" href="#pf2b" data-dest-detail='[43,"XYZ",28.346,228.21,null]'>Common Errors</a></li><li><a class="l" href="#pf35" data-dest-detail='[53,"XYZ",28.346,228.21,null]'>Source Location Macros</a></li><li><a class="l" href="#pf38" data-dest-detail='[56,"XYZ",28.346,228.21,null]'>Condition Compiling Macros</a></li><li><a class="l" href="#pf3d" data-dest-detail='[61,"XYZ",28.346,228.21,null]'>Stringizing Operator #</a></li><li><a class="l" href="#pf3f" data-dest-detail='[63,"XYZ",28.346,185.273,null]'>#error and #warning</a></li><li><a class="l" href="#pf40" data-dest-detail='[64,"XYZ",28.346,228.21,null]'>#pragma</a></li><li><a class="l" href="#pf41" data-dest-detail='[65,"XYZ",28.346,228.21,null]'>Token-Pasting Operator ## </a></li><li><a class="l" href="#pf42" data-dest-detail='[66,"XYZ",28.346,228.21,null]'>Variadic Macro </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">6.<span class="_ _2"> </span>Basic<span class="_ _3"> </span>Concepts<span class="_ _3"> </span>V</div><div class="t m0 x2 h4 y4 ff2 fs2 fc0 sc0 ls0 ws0">Functions<span class="_ _4"> </span>and<span class="_ _4"> </span>Prepr<span class="_ _5"></span>ocessing</div><div class="t m0 x1 h5 y5 ff3 fs3 fc0 sc0 ls0 ws0">F<span class="_ _5"></span>ederico<span class="_ _6"> </span>Busato</div><div class="t m0 x3 h6 y6 ff4 fs4 fc0 sc0 ls0 ws0">2024-11-05</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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>able<span class="_ _8"> </span>of<span class="_ _8"> </span>Contents</div><div class="t m0 x5 h8 y8 ff1 fs4 fc2 sc0 ls0 ws0">1<span class="_ _9"> </span><span class="fs2 fc0">F<span class="_ _5"></span>unctions</span></div><div class="t m0 x6 h6 y9 ff4 fs4 fc0 sc0 ls0 ws0">P<span class="_ _5"></span>ass<span class="_ _a"> </span>b<span class="_ _5"></span>y-Value</div><div class="t m0 x6 h6 ya ff4 fs4 fc0 sc0 ls0 ws0">P<span class="_ _5"></span>ass<span class="_ _a"> </span>b<span class="_ _5"></span>y-Pointer</div><div class="t m0 x6 h6 yb ff4 fs4 fc0 sc0 ls0 ws0">P<span class="_ _5"></span>ass<span class="_ _a"> </span>b<span class="_ _5"></span>y-Reference</div><div class="t m0 x6 h6 yc ff4 fs4 fc0 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _a"> </span>Signature<span class="_ _a"> </span>and<span class="_ _a"> </span>Overloading</div><div class="t m0 x6 h6 yd ff4 fs4 fc0 sc0 ls0 ws0">Overloading<span class="_ _a"> </span>and<span class="_ _a"> </span><span class="ff5">=delete</span></div><div class="t m0 x6 h6 ye ff4 fs4 fc0 sc0 ls0 ws0">Default<span class="_ _a"> </span>P<span class="_ _5"></span>a<span class="_ _5"></span>rameters</div><div class="t m0 x7 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">1/62</div><a class="l" href="#pf6" data-dest-detail='[6,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:47.076000px;bottom:169.340000px;width:64.888000px;height:13.782000px;background-color:rgba(255,255,255,0.000001);"></div></a><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:49.490000px;bottom:150.026000px;width:59.721000px;height:10.849000px;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:130.823000px;width:66.639000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pfb" data-dest-detail='[11,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:111.621000px;width:76.781000px;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:92.418000px;width:152.234000px;height:10.848000px;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:73.215000px;width:109.893000px;height:10.848000px;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:55.949000px;width:82.274000px;height:8.911000px;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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>able<span class="_ _8"> </span>of<span class="_ _8"> </span>Contents</div><div class="t m0 x5 h8 y10 ff1 fs4 fc2 sc0 ls0 ws0">2<span class="_ _9"> </span><span class="fs2 fc0">F<span class="_ _5"></span>unction<span class="_ _b"> </span>P<span class="_ _5"></span>ointers<span class="_ _b"> </span>and<span class="_ _b"> </span>F<span class="_ _5"></span>unction<span class="_ _b"> </span>Objects</span></div><div class="t m0 x6 h6 y11 ff4 fs4 fc0 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _a"> </span>P<span class="_ _5"></span>ointer</div><div class="t m0 x6 h6 y12 ff4 fs4 fc0 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _a"> </span>Object<span class="_ _a"> </span>(o<span class="_ _5"></span>r<span class="_ _a"> </span>F<span class="_ _5"></span>uncto<span class="_ _5"></span>r)</div><div class="t m0 x7 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">2/62</div><a class="l" href="#pf12" data-dest-detail='[18,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:47.076000px;bottom:131.216000px;width:263.872000px;height:14.745000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf13" data-dest-detail='[19,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:114.803000px;width:71.565000px;height:8.911000px;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:49.490000px;bottom:93.109000px;width:123.454000px;height:11.956000px;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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>able<span class="_ _8"> </span>of<span class="_ _8"> </span>Contents</div><div class="t m0 x5 h8 y13 ff1 fs4 fc2 sc0 ls0 ws0">3<span class="_ _9"> </span><span class="fs2 fc0">Lamb<span class="_ _c"></span>da<span class="_ _b"> </span>Exp<span class="_ _5"></span>ressions</span></div><div class="t m0 x6 h6 y14 ff4 fs4 fc0 sc0 ls0 ws0">Capture<span class="_ _a"> </span>List</div><div class="t m0 x6 h6 y15 ff4 fs4 fc0 sc0 ls0 ws0">Lamb<span class="_ _c"></span>da<span class="_ _a"> </span>Exp<span class="_ _5"></span>ression<span class="_ _a"> </span>and<span class="_ _d"> </span>F<span class="_ _5"></span>unction<span class="_ _a"> </span>Relation</div><div class="t m0 x6 h6 y16 ff4 fs4 fc0 sc0 ls0 ws0">P<span class="_ _5"></span>arameter<span class="_ _d"> </span>Notes</div><div class="t m0 x6 h6 y17 ff4 fs4 fc0 sc0 ls0 ws0">Comp<span class="_ _c"></span>osabilit<span class="_ _5"></span>y</div><div class="t m0 x6 h6 y18 ff4 fs4 fc0 sc0 ls0 ws0">Recursion</div><div class="t m0 x6 h6 y19 ff5 fs4 fc0 sc0 ls0 ws0">constexpr<span class="ff4">/</span>consteval</div><div class="t m0 x6 ha y1a ff5 fs4 fc0 sc0 ls0 ws0">template</div><div class="t m0 x6 ha y1b ff5 fs4 fc0 sc0 ls0 ws0">mutable</div><div class="t m0 x6 h6 y1c ff4 fs4 fc0 sc0 ls0 ws0">Capture<span class="_ _d"> </span>List<span class="_ _a"> </span>and<span class="_ _a"> </span>Classes</div><div class="t m0 x7 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">3/62</div><a class="l" href="#pf17" data-dest-detail='[23,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:47.076000px;bottom:194.372000px;width:134.033000px;height:14.745000px;background-color:rgba(255,255,255,0.000001);"></div></a><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:49.490000px;bottom:176.021000px;width:53.383000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf1d" data-dest-detail='[29,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:156.818000px;width:177.570000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf1e" data-dest-detail='[30,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:139.553000px;width:71.758000px;height:8.911000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf1f" data-dest-detail='[31,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:118.413000px;width:60.468000px;height:10.848000px;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:49.490000px;bottom:101.147000px;width:42.161000px;height:8.911000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf22" data-dest-detail='[34,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:79.453000px;width:101.120000px;height:11.955000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf23" data-dest-detail='[35,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:60.584000px;width:43.835000px;height:10.327000px;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:43.538000px;width:38.605000px;height:8.170000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf26" data-dest-detail='[38,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:22.398000px;width:104.525000px;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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>able<span class="_ _8"> </span>of<span class="_ _8"> </span>Contents</div><div class="t m0 x5 h8 y13 ff1 fs4 fc2 sc0 ls0 ws0">4<span class="_ _9"> </span><span class="fs2 fc0">Prep<span class="_ _5"></span>ro<span class="_ _c"></span>cessing</span></div><div class="t m0 x6 h6 y14 ff4 fs4 fc0 sc0 ls0 ws0">Prep<span class="_ _5"></span>ro<span class="_ _c"></span>cesso<span class="_ _5"></span>rs</div><div class="t m0 x6 h6 y15 ff4 fs4 fc0 sc0 ls0 ws0">Common<span class="_ _d"> </span>Errors</div><div class="t m0 x6 h6 y16 ff4 fs4 fc0 sc0 ls0 ws0">Source<span class="_ _d"> </span>Lo<span class="_ _c"></span>cation<span class="_ _a"> </span>Macros</div><div class="t m0 x6 h6 y17 ff4 fs4 fc0 sc0 ls0 ws0">Condition<span class="_ _d"> </span>Compiling<span class="_ _a"> </span>Macros</div><div class="t m0 x6 h6 y18 ff4 fs4 fc0 sc0 ls0 ws0">Stringizing<span class="_ _d"> </span>Op<span class="_ _c"></span>erator<span class="_ _d"> </span><span class="ff5">#</span></div><div class="t m0 x6 h6 y19 ff5 fs4 fc0 sc0 ls0 ws0">#error<span class="_ _d"> </span><span class="ff4">and<span class="_ _a"> </span></span>#warning</div><div class="t m0 x6 ha y1a ff5 fs4 fc0 sc0 ls0 ws0">#pragma</div><div class="t m0 x6 h6 y1b ff4 fs4 fc0 sc0 ls0 ws0">T<span class="_ _e"></span>ok<span class="_ _5"></span>en-Pasting<span class="_ _d"> </span>Op<span class="_ _c"></span>erato<span class="_ _5"></span>r<span class="_ _d"> </span><span class="ff5">##</span></div><div class="t m0 x8 hb y1d ff7 fs6 fc0 sc0 ls0 ws0"></div><div class="t m0 x6 h6 y1c ff4 fs4 fc0 sc0 ls0 ws0">V<span class="_ _5"></span>ariadic<span class="_ _d"> </span>Macro</div><div class="t m0 x9 hb y1e ff7 fs6 fc0 sc0 ls0 ws0"></div><div class="t m0 x7 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">4/62</div><a class="l" href="#pf27" data-dest-detail='[39,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:47.076000px;bottom:194.372000px;width:92.079000px;height:14.745000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf29" data-dest-detail='[41,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:176.021000px;width:58.143000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf2b" data-dest-detail='[43,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:158.756000px;width:67.303000px;height:8.911000px;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:139.553000px;width:102.670000px;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:118.413000px;width:120.576000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf3d" data-dest-detail='[61,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:99.210000px;width:95.342000px;height:10.848000px;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:79.786000px;width:96.941000px;height:11.069000px;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:60.584000px;width:38.605000px;height:10.327000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf41" data-dest-detail='[65,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:41.601000px;width:126.199000px;height:12.349000px;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:49.490000px;bottom:24.335000px;width:75.702000px;height:10.412000px;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,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"/><div class="t m0 xa h2 y1f ff1 fs0 fc0 sc0 ls0 ws0">F<span class="_ _e"></span>unctions</div><a class="l" href="#pf6" data-dest-detail='[6,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:137.252000px;width:110.662000px;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="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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Overview</div><div class="t m0 x1 h7 y20 ff8 fs3 fc0 sc0 ls0 ws0">A<span class="_ _6"> </span><span class="ff1">function<span class="_ _6"> </span></span>(<span class="ff1">p<span class="_ _5"></span>ro<span class="_ _c"></span>cedure<span class="_ _6"> </span><span class="ff8">o<span class="_ _5"></span>r<span class="_ _6"> </span><span class="ff1">routine</span>)<span class="_ _6"> </span>is<span class="_ _6"> </span>a<span class="_ _6"> </span>piece<span class="_ _6"> </span>of<span class="_ _6"> </span>co<span class="_ _c"></span>de<span class="_ _6"> </span>that<span class="_ _6"> </span>performs<span class="_ _6"> </span>a<span class="_ _6"> </span><span class="ff3">specific</span></span></span></div><div class="t m0 x1 h5 y21 ff3 fs3 fc0 sc0 ls0 ws0">task</div><div class="t m0 x1 h7 y22 ff8 fs3 fc0 sc0 ls0 ws0">Purp<span class="_ _c"></span>ose:</div><div class="t m0 xb h7 y23 ff9 fs3 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff1">A<span class="_ _5"></span>voiding<span class="_ _8"> </span>co<span class="_ _c"></span>de<span class="_ _8"> </span>duplication<span class="ff8">:<span class="_ _b"> </span>less<span class="_ _6"> </span>co<span class="_ _c"></span>de<span class="_ _6"> </span>fo<span class="_ _5"></span>r<span class="_ _6"> </span>the<span class="_ _6"> </span>same<span class="_ _6"> </span>functionalit<span class="_ _5"></span>y<span class="_ _6"> </span><span class="ffa"><span class="_ _6"> </span></span>less</span></span></div><div class="t m0 x6 h7 y24 ff8 fs3 fc0 sc0 ls0 ws0">bugs</div><div class="t m0 xb h7 y25 ff9 fs3 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff1">Readabilit<span class="_ _5"></span>y<span class="ff8">:<span class="_ _b"> </span>b<span class="_ _c"></span>etter<span class="_ _6"> </span>exp<span class="_ _5"></span>ress<span class="_ _6"> </span>what<span class="_ _6"> </span>the<span class="_ _6"> </span>co<span class="_ _c"></span>de<span class="_ _6"> </span>does</span></span></div><div class="t m0 xb h7 y26 ff9 fs3 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff1">Organization<span class="ff8">:<span class="_ _b"> </span>break<span class="_ _6"> </span>the<span class="_ _6"> </span>code<span class="_ _6"> </span>in<span class="_ _6"> </span>separate<span class="_ _f"> </span>mo<span class="_ _c"></span>dules</span></span></div><div class="t m0 x7 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">5/62</div></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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _8"> </span>P<span class="_ _5"></span>a<span class="_ _5"></span>rameter<span class="_ _8"> </span>and<span class="_ _8"> </span>Argument</div><div class="t m0 xc hc y27 ff1 fs7 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _6"> </span>Pa<span class="_ _5"></span>rameter<span class="_ _f"> </span>[formal]</div><div class="t m0 xc hc y28 ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="ff1">pa<span class="_ _5"></span>rameter<span class="_ _f"> </span><span class="ff4">is<span class="_ _f"> </span>the<span class="_ _f"> </span>variable<span class="_ _a"> </span>which<span class="_ _f"> </span>is<span class="_ _f"> </span>pa<span class="_ _5"></span>rt<span class="_ _f"> </span>of<span class="_ _a"> </span>the<span class="_ _f"> </span>metho<span class="_ _c"></span>d<span class="_ _f"> </span>signature</span></span></div><div class="t m0 xc hc y29 ff1 fs7 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _6"> </span>Argument<span class="_ _6"> </span>[actual]</div><div class="t m0 xc hc y2a ff4 fs7 fc0 sc0 ls0 ws0">An<span class="_ _f"> </span><span class="ff1">a<span class="_ _5"></span>rgument<span class="_ _a"> </span><span class="ff4">is<span class="_ _f"> </span>the<span class="_ _f"> </span>actual<span class="_ _f"> </span>value<span class="_ _f"> </span>(instance)<span class="_ _f"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>variable<span class="_ _a"> </span>that<span class="_ _f"> </span>gets<span class="_ _f"> </span>passed<span class="_ _f"> </span>to<span class="_ _f"> </span>the</span></span></div><div class="t m0 xc hc y2b ff4 fs7 fc0 sc0 ls0 ws0">function</div><div class="t m0 xc hd y2c ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">a,<span class="_ _10"> </span></span>char<span class="ffb fc5">*<span class="_ _10"> </span><span class="fc0">b);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span><span class="ffd">pa<span class="_ _5"></span>rameters<span class="ffc">:<span class="_ _10"> </span>int<span class="_ _10"> </span>a,<span class="_ _10"> </span>char*<span class="_ _10"> </span>b</span></span></span></span></span></div><div class="t m0 xd hd y2d ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span><span class="ffd">return<span class="_ _d"> </span>t<span class="_ _5"></span>yp<span class="_ _c"></span>e<span class="ffc">:<span class="_ _8"> </span>void</span></span></div><div class="t m0 xc hd y2e ffb fs8 fc0 sc0 ls0 ws0">f(<span class="fc5">3</span>,<span class="_ _10"> </span><span class="fc7">&quot;abc&quot;</span>);<span class="_ _11"> </span><span class="ffc fc6">//<span class="_ _10"> </span><span class="ffd">a<span class="_ _5"></span>rguments<span class="ffc">:<span class="_ _10"> </span>3,<span class="_ _10"> </span>&quot;abc&quot;</span></span></span></div><div class="t m0 x7 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">6/62</div></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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAI10lEQVR42u3cMUoEMRSA4YxMyqCCFxCrvYAiYqEgiIW1Z9CDeAlh+7ETsbXQQryAjTewknSp7CwFRwaTne+7wLx9meInC9Pt7B0EAACoxvvL85otAABQG5EKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAMC3rpRiCwAA1CPG6CYVAIDqiFQAAEQqAACIVAAAmtM3NOvi8MiBAQCM8/b02NC0blIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAwGrrSimtzJpzdmAAAOOklFoZNcboJhUAgOqIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQCgKr0V/NHu2Xn9Q74+3M3zh0+9BABgIl0ppZVZc84ODABgnJRSK6PGGP3dDwBAdUQqAAAiFQAARCoAACIVAABEKgAAIhUAAKbW0ndSAQCYA99JBQCgRiIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRagUAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAwCrqP6+3beFXPk5uLAEAYDqL/dOwGboQQggX9yFcLkNYH/5nlqvl1E/YGOZ3wse33nIAfrI12AF1+gJn/ixNrEOCSgAAAABJRU5ErkJggg=="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">P<span class="_ _5"></span>ass<span class="_ _8"> </span>b<span class="_ _5"></span>y-V<span class="_ _5"></span>alue</div><div class="t m0 xc hc y2f ff1 fs7 fc1 sc0 ls0 ws0">Call-b<span class="_ _5"></span>y-value</div><div class="t m0 xc hc y30 ff4 fs7 fc0 sc0 ls0 ws0">The<span class="_ _f"> </span>object<span class="_ _a"> </span>is<span class="_ _f"> </span>copied<span class="_ _f"> </span>and<span class="_ _f"> </span>assigned<span class="_ _f"> </span>to<span class="_ _f"> </span>input<span class="_ _f"> </span>arguments<span class="_ _a"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>metho<span class="_ _c"></span>d<span class="_ _12"> </span><span class="ffe">f(T<span class="_ _13"> </span>x)</span></div><div class="t m0 x1 hc y31 ff1 fs7 fc0 sc0 ls0 ws0">A<span class="_ _5"></span>dvantages:</div><div class="t m0 xe h6 y32 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Changes<span class="_ _a"> </span>made<span class="_ _d"> </span>to<span class="_ _a"> </span>the<span class="_ _a"> </span>parameter<span class="_ _d"> </span>inside<span class="_ _a"> </span>the<span class="_ _d"> </span>function<span class="_ _a"> </span>have<span class="_ _a"> </span>no<span class="_ _a"> </span>effect<span class="_ _a"> </span>on<span class="_ _d"> </span>the<span class="_ _a"> </span>argument</span></div><div class="t m0 x1 hc y33 ff1 fs7 fc0 sc0 ls0 ws0">Disadvantages:</div><div class="t m0 xe h6 y34 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Perfo<span class="_ _5"></span>rmance<span class="_ _d"> </span>p<span class="_ _c"></span>enalt<span class="_ _5"></span>y<span class="_ _d"> </span>if<span class="_ _a"> </span>the<span class="_ _a"> </span>copied<span class="_ _a"> </span>a<span class="_ _5"></span>rguments<span class="_ _a"> </span>a<span class="_ _5"></span>re<span class="_ _d"> </span>large<span class="_ _d"> </span>(e.g.<span class="_ _8"> </span>a<span class="_ _a"> </span>structure<span class="_ _a"> </span>with<span class="_ _a"> </span>several<span class="_ _a"> </span>data</span></div><div class="t m0 x6 h6 y35 ff4 fs4 fc0 sc0 ls0 ws0">memb<span class="_ _c"></span>ers)</div><div class="t m0 x1 he y36 ff10 fs7 fc0 sc0 ls0 ws0">When<span class="_ _6"> </span>to<span class="_ _6"> </span>use:</div><div class="t m0 xe h6 y37 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Built-in<span class="_ _a"> </span>data<span class="_ _d"> </span>type<span class="_ _a"> </span>and<span class="_ _a"> </span>small<span class="_ _a"> </span>objects<span class="_ _a"> </span>(<span class="ffa"><span class="_ _d"> </span></span>8<span class="_ _a"> </span>bytes)</span></div><div class="t m0 x1 he y38 ff10 fs7 fc0 sc0 ls0 ws0">When<span class="_ _6"> </span>not<span class="_ _6"> </span>to<span class="_ _8"> </span>use:</div><div class="t m0 xe h6 y39 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Fixed<span class="_ _a"> </span>size<span class="_ _d"> </span>arra<span class="_ _5"></span>ys<span class="_ _d"> </span>which<span class="_ _a"> </span>decay<span class="_ _d"> </span>into<span class="_ _a"> </span>p<span class="_ _c"></span>ointers</span></div><div class="t m0 xe h6 y3a fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Large<span class="_ _d"> </span>objects</span></div><div class="t m0 x7 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">7/62</div></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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAI90lEQVR42u3aMUrDMRTA4fylGYMKXkCcegFFxMFBEAcPooOnEC8huNdNxNVBB/ECLt7ASbJlcnMs2lJ8ab/vAn196fAjzbCzd5AAACCMj9eXNVsAACAakQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAwI+htWYLAADEkXN2kwoAQDgiFQAAkQoAACIVAIDujDqadXx45MAAAGbz/vzU0bRuUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgDAchtaa73MWmt1YAAAsyml9DJqztlNKgAA4YhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAWDEjK5jT7unZcnyRt8d7pwkABDG01nqZtdbqwAAAZlNK6WXUnLO/+wEACEekAgAQjjep0Le+XkV7+gzAL3mTCgCwErxJBQCAuYhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBgqQytNVsAACCOnLObVAAAwhGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVCsAAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAABDSyApZMrdUSpiilWAIA8blJBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAgBUztNZsAQCAOHLOblIBAAhHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQAgqtHX9bYtLM7n8Y0lAAD8yXj/JG2mIaWU0tVDSue3Ka1P/meWi9tFf8LGZPVO+PLOrxyAabYmdkBM3xruOKNFA7BrAAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">P<span class="_ _5"></span>ass<span class="_ _8"> </span>b<span class="_ _5"></span>y-P<span class="_ _5"></span>ointer</div><div class="t m0 xc hc y2f ff1 fs7 fc1 sc0 ls0 ws0">Call-b<span class="_ _5"></span>y-p<span class="_ _c"></span>ointer</div><div class="t m0 xc hc y3b ff4 fs7 fc0 sc0 ls0 ws0">The<span class="_ _f"> </span>address<span class="_ _a"> </span>of<span class="_ _f"> </span>a<span class="_ _f"> </span>variable<span class="_ _a"> </span>is<span class="_ _f"> </span>copied<span class="_ _f"> </span>and<span class="_ _f"> </span>assigned<span class="_ _f"> </span>to<span class="_ _f"> </span>input<span class="_ _f"> </span>a<span class="_ _5"></span>rguments<span class="_ _f"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>metho<span class="_ _c"></span>d</div><div class="t m0 x5 he y3c ffe fs7 fc0 sc0 ls0 ws0">f(T*<span class="_ _13"> </span>x)</div><div class="t m0 x1 hc y3d ff1 fs7 fc0 sc0 ls0 ws0">A<span class="_ _5"></span>dvantages:</div><div class="t m0 xe h6 y3e fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Allows<span class="_ _d"> </span>a<span class="_ _d"> </span>function<span class="_ _a"> </span>to<span class="_ _a"> </span>change<span class="_ _a"> </span>the<span class="_ _a"> </span>value<span class="_ _d"> </span>of<span class="_ _a"> </span>the<span class="_ _a"> </span>argument</span></div><div class="t m0 xe h6 y3f fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">The<span class="_ _a"> </span>a<span class="_ _5"></span>rgument<span class="_ _d"> </span>is<span class="_ _a"> </span>not<span class="_ _a"> </span>copied<span class="_ _a"> </span>(fast)</span></div><div class="t m0 x1 hc y40 ff1 fs7 fc0 sc0 ls0 ws0">Disadvantages:</div><div class="t m0 xe h6 y41 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">The<span class="_ _a"> </span>a<span class="_ _5"></span>rgument<span class="_ _d"> </span>may<span class="_ _d"> </span>b<span class="_ _c"></span>e<span class="_ _a"> </span>a<span class="_ _d"> </span>null<span class="_ _a"> </span>p<span class="_ _c"></span>ointer</span></div><div class="t m0 xe h6 y42 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Dereferencing<span class="_ _a"> </span>a<span class="_ _d"> </span>p<span class="_ _c"></span>ointer<span class="_ _a"> </span>is<span class="_ _d"> </span>slow<span class="_ _5"></span>er<span class="_ _d"> </span>than<span class="_ _a"> </span>accessing<span class="_ _a"> </span>a<span class="_ _a"> </span>value<span class="_ _a"> </span>directly</span></div><div class="t m0 x1 he y43 ff10 fs7 fc0 sc0 ls0 ws0">When<span class="_ _6"> </span>to<span class="_ _6"> </span>use:</div><div class="t m0 xe h6 y44 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff11">Raw<span class="_ _6"> </span><span class="ff4">arra<span class="_ _5"></span>ys<span class="_ _d"> </span>(use<span class="_ _12"> </span><span class="ffe">const<span class="_ _b"> </span>T*<span class="_ _12"> </span></span>if<span class="_ _d"> </span>read-only)</span></span></div><div class="t m0 x1 he y45 ff10 fs7 fc0 sc0 ls0 ws0">When<span class="_ _6"> </span>not<span class="_ _6"> </span>to<span class="_ _8"> </span>use:</div><div class="t m0 xe h6 y46 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">All<span class="_ _a"> </span>other<span class="_ _d"> </span>cases</span></div><div class="t m0 x7 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">8/62</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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAI6UlEQVR42u3ZMUpDQRCA4X3ytlxU8AJilQsoIhYWglh4ED2Ilwikj41EsLXQQryAjTewku2mshMbLSLBfXnfd4FMZlP8TLq9g6MEAADNeHt+2rAFAABaI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAPjSRYQtAADQjpyzSyoAAM0RqQAAiFQAABCpAAAMTj+gWSfHJx4MAGA5r48PA5rWJRUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAArLcuIoYya63VgwEALKeUMpRRc84uqQAANEekAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAwMj0VvBH++cXY/vKL/cL7w4ArFQXEUOZtdbqwQAAllNKGcqoOWd/9wMA0ByRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAPBNFxG2AABAO3LOLqkAADRHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFKtAAAAkQoAACIVAACRCgAAIhUAAJEKAAAr1lsB0KBaqyX8pJRiCcDac0kFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQCAkekiwhYAAGhHztklFQCA5ohUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEqhUAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAADrpP+43rWFRryfTi0BAGByeJa2U5dSSun2LqXLWUqb8/+Z5Wq26k/Ymo/vhac3fuUA/GZnbge06ROkUC/8bF9p6AAAAABJRU5ErkJggg=="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">P<span class="_ _5"></span>ass<span class="_ _8"> </span>b<span class="_ _5"></span>y-Reference</div><div class="t m0 xc hc y2f ff1 fs7 fc1 sc0 ls0 ws0">Call-b<span class="_ _5"></span>y-reference</div><div class="t m0 xc hc y3b ff4 fs7 fc0 sc0 ls0 ws0">The<span class="_ _f"> </span>reference<span class="_ _a"> </span>of<span class="_ _f"> </span>a<span class="_ _f"> </span>variable<span class="_ _a"> </span>is<span class="_ _f"> </span>copied<span class="_ _f"> </span>and<span class="_ _f"> </span>assigned<span class="_ _f"> </span>to<span class="_ _f"> </span>input<span class="_ _f"> </span>a<span class="_ _5"></span>rguments<span class="_ _f"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>metho<span class="_ _c"></span>d</div><div class="t m0 x5 he y3c ffe fs7 fc0 sc0 ls0 ws0">f(T&amp;<span class="_ _13"> </span>x)</div><div class="t m0 x1 hc y47 ff1 fs7 fc0 sc0 ls0 ws0">A<span class="_ _5"></span>dvantages:</div><div class="t m0 xe h6 y48 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Allows<span class="_ _d"> </span>a<span class="_ _d"> </span>function<span class="_ _a"> </span>to<span class="_ _a"> </span>change<span class="_ _a"> </span>the<span class="_ _a"> </span>value<span class="_ _d"> </span>of<span class="_ _a"> </span>the<span class="_ _a"> </span>argument<span class="_ _d"> </span>(b<span class="_ _c"></span>etter<span class="_ _d"> </span>readability<span class="_ _d"> </span>compared<span class="_ _d"> </span>with</span></div><div class="t m0 x6 h6 y49 ff4 fs4 fc0 sc0 ls0 ws0">p<span class="_ _c"></span>ointers)</div><div class="t m0 xe h6 y4a fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">The<span class="_ _a"> </span>a<span class="_ _5"></span>rgument<span class="_ _d"> </span>is<span class="_ _a"> </span>not<span class="_ _a"> </span>copied<span class="_ _a"> </span>(fast)</span></div><div class="t m0 xe h6 y4b fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">References<span class="_ _a"> </span>must<span class="_ _d"> </span>b<span class="_ _c"></span>e<span class="_ _a"> </span>initialized<span class="_ _d"> </span>(no<span class="_ _a"> </span>null<span class="_ _a"> </span>p<span class="_ _c"></span>ointer)</span></div><div class="t m0 xe h6 y4c fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Avoid<span class="_ _d"> </span>implicit<span class="_ _d"> </span>conversion<span class="_ _a"> </span>(without<span class="_ _12"> </span><span class="ffe">const<span class="_ _b"> </span>T&amp;<span class="_ _d"> </span></span>)</span></div><div class="t m0 x1 he y4d ff10 fs7 fc0 sc0 ls0 ws0">When<span class="_ _6"> </span>to<span class="_ _6"> </span>use:</div><div class="t m0 xe h6 y4e fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">All<span class="_ _a"> </span>cases<span class="_ _d"> </span>except<span class="_ _a"> </span>raw<span class="_ _d"> </span>p<span class="_ _c"></span>ointers</span></div><div class="t m0 x1 he y4f ff10 fs7 fc0 sc0 ls0 ws0">When<span class="_ _6"> </span>not<span class="_ _6"> </span>to<span class="_ _8"> </span>use:</div><div class="t m0 xe h6 y50 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Pass<span class="_ _d"> </span>b<span class="_ _5"></span>y-value<span class="_ _d"> </span><span class="ff11">could<span class="_ _6"> </span></span>give<span class="_ _d"> </span>p<span class="_ _c"></span>erformance<span class="_ _d"> </span>advantages<span class="_ _d"> </span>and<span class="_ _d"> </span>imp<span class="_ _5"></span>rove<span class="_ _d"> </span>the<span class="_ _d"> </span>readability<span class="_ _d"> </span>with<span class="_ _d"> </span>built-in</span></div><div class="t m0 x6 h6 y51 ff4 fs4 fc0 sc0 ls0 ws0">data<span class="_ _d"> </span>type<span class="_ _a"> </span>and<span class="_ _a"> </span>small<span class="_ _a"> </span>objects<span class="_ _a"> </span>that<span class="_ _d"> </span>are<span class="_ _d"> </span>trivially<span class="_ _a"> </span>copy<span class="_ _5"></span>able</div><div class="t m0 x7 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">9/62</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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Examples</div><div class="t m0 xc hf y52 ff5 fs8 fc8 sc0 ls0 ws0">struct<span class="_ _10"> </span><span class="fc4">MyStruct<span class="ffb fc0">;</span></span></div><div class="t m0 xc hd y53 ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f1<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">a);<span class="_ _14"> </span><span class="ffc fc6">//<span class="_ _10"> </span>pass<span class="_ _10"> </span><span class="ffd">b<span class="_ _5"></span>y-value</span></span></span></div><div class="t m0 xc hd y54 ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f2<span class="fc0">(</span></span>int<span class="ffb fc5">&amp;<span class="_ _10"> </span><span class="fc0">a);<span class="_ _15"> </span><span class="ffc fc6">//<span class="_ _10"> </span>pass<span class="_ _10"> </span><span class="ffd">b<span class="_ _5"></span>y-reference</span></span></span></span></div><div class="t m0 xc hd y55 ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f3<span class="fc0">(</span></span><span class="fc8">const<span class="_ _10"> </span></span>int<span class="ffb fc5">&amp;<span class="_ _10"> </span><span class="fc0">a);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>pass<span class="_ _10"> </span><span class="ffd">b<span class="_ _5"></span>y-const<span class="_ _d"> </span>reference</span></span></span></span></div><div class="t m0 xc hd y56 ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f4<span class="fc0">(MyStruct<span class="fc5">&amp;<span class="_ _10"> </span></span>a);<span class="_ _16"> </span><span class="ffc fc6">//<span class="_ _10"> </span>pass<span class="_ _10"> </span><span class="ffd">b<span class="_ _5"></span>y-reference</span></span></span></span></div><div class="t m0 xc hd y57 ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f5<span class="fc0">(</span></span>int<span class="ffb fc5">*<span class="_ _10"> </span><span class="fc0">a);<span class="_ _15"> </span><span class="ffc fc6">//<span class="_ _10"> </span>pass<span class="_ _10"> </span><span class="ffd">b<span class="_ _5"></span>y-p<span class="_ _c"></span>ointer</span></span></span></span></div><div class="t m0 xc hd y58 ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f6<span class="fc0">(</span></span><span class="fc8">const<span class="_ _10"> </span></span>int<span class="ffb fc5">*<span class="_ _10"> </span><span class="fc0">a);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>pass<span class="_ _10"> </span><span class="ffd">b<span class="_ _5"></span>y-const<span class="_ _d"> </span>p<span class="_ _c"></span>ointer</span></span></span></span></div><div class="t m0 xc hd y59 ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f7<span class="fc0">(MyStruct<span class="fc5">*<span class="_ _10"> </span></span>a);<span class="_ _16"> </span><span class="ffc fc6">//<span class="_ _10"> </span>pass<span class="_ _10"> </span><span class="ffd">b<span class="_ _5"></span>y-p<span class="_ _c"></span>ointer</span></span></span></span></div><div class="t m0 xc hd y5a ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f8<span class="fc0">(</span></span>int<span class="ffb fc5">*&amp;<span class="_ _10"> </span><span class="fc0">a);<span class="_ _17"> </span><span class="ffc fc6">//<span class="_ _10"> </span>pass<span class="_ _10"> </span>a<span class="_ _10"> </span>pointer<span class="_ _10"> </span><span class="ffd">b<span class="_ _5"></span>y-reference</span></span></span></span></div><div class="t m0 xc hf y5b ffc fs8 fc6 sc0 ls0 ws0">//--------------------------------------------------------------</div><div class="t m0 xc hf y5c ff5 fs8 fc3 sc0 ls0 ws0">char<span class="_ _10"> </span><span class="ffb fc0">c<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span><span class="ff12 fc7">&apos;<span class="ffb">a</span>&apos;</span></span>;</span></div><div class="t m0 xc hd y5d ffb fs8 fc0 sc0 ls0 ws0">f1(c);<span class="_ _18"> </span><span class="ffc fc6">//<span class="_ _10"> </span>ok,<span class="_ _10"> </span>pass<span class="_ _10"> </span><span class="ffd">b<span class="_ _5"></span>y-value<span class="_ _10"> </span><span class="ffc">(implicit<span class="_ _10"> </span>conversion)</span></span></span></div><div class="t m0 xc hd y5e ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>f2(c);<span class="_ _10"> </span>//<span class="_ _10"> </span><span class="ffd">compile<span class="_ _d"> </span>erro<span class="_ _5"></span>r<span class="_ _10"> </span><span class="ffc">different<span class="_ _10"> </span>types</span></span></div><div class="t m0 xc hd y5f ffb fs8 fc0 sc0 ls0 ws0">f3(c);<span class="_ _18"> </span><span class="ffc fc6">//<span class="_ _10"> </span>ok,<span class="_ _10"> </span>pass<span class="_ _10"> </span><span class="ffd">b<span class="_ _5"></span>y-value<span class="_ _10"> </span><span class="ffc">(implicit<span class="_ _10"> </span>conversion)</span></span></span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">10/62</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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _8"> </span>Signature<span class="_ _8"> </span>and<span class="_ _8"> </span>Overloading<span class="_ _19"> </span>1/2</div><div class="t m0 xc hc y60 ff1 fs7 fc1 sc0 ls0 ws0">Signature</div><div class="t m0 xc hc y61 ff1 fs7 fc0 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _6"> </span>signature<span class="_ _f"> </span><span class="ff4">defines<span class="_ _f"> </span>the<span class="_ _f"> </span><span class="ff11">input<span class="_ _f"> </span>t<span class="_ _5"></span>yp<span class="_ _c"></span>es<span class="_ _8"> </span><span class="ff4">fo<span class="_ _5"></span>r<span class="_ _f"> </span>a<span class="_ _f"> </span>(sp<span class="_ _c"></span>ecialized)<span class="_ _a"> </span>function<span class="_ _f"> </span>and<span class="_ _f"> </span>the</span></span></span></div><div class="t m0 xc hc y62 ff11 fs7 fc0 sc0 ls0 ws0">inputs<span class="_ _f"> </span>+<span class="_ _a"> </span>outputs<span class="_ _f"> </span>types<span class="_ _10"> </span><span class="ff4">fo<span class="_ _5"></span>r<span class="_ _f"> </span>a<span class="_ _f"> </span>template<span class="_ _f"> </span>function</span></div><div class="t m0 xc hc y63 ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span>function<span class="_ _a"> </span>signature<span class="_ _f"> </span>includes<span class="_ _f"> </span>the<span class="_ _f"> </span>numb<span class="_ _c"></span>er<span class="_ _f"> </span>of<span class="_ _f"> </span>a<span class="_ _5"></span>rguments,<span class="_ _f"> </span>the<span class="_ _f"> </span>t<span class="_ _5"></span>yp<span class="_ _c"></span>es<span class="_ _a"> </span>of<span class="_ _f"> </span>arguments,<span class="_ _a"> </span>and</div><div class="t m0 xc hc y64 ff4 fs7 fc0 sc0 ls0 ws0">the<span class="_ _f"> </span>o<span class="_ _5"></span>rder<span class="_ _f"> </span>of<span class="_ _f"> </span>the<span class="_ _a"> </span>arguments</div><div class="t m0 xb hc y65 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">The<span class="_ _f"> </span>C++<span class="_ _f"> </span>standa<span class="_ _5"></span>rd<span class="_ _f"> </span>p<span class="_ _5"></span>rohibits<span class="_ _f"> </span>a<span class="_ _f"> </span>function<span class="_ _f"> </span>decla<span class="_ _5"></span>ration<span class="_ _f"> </span>that<span class="_ _a"> </span>only<span class="_ _f"> </span>differs<span class="_ _f"> </span>in<span class="_ _f"> </span>the<span class="_ _f"> </span>return</span></div><div class="t m0 x6 hc y66 ff4 fs7 fc0 sc0 ls0 ws0">t<span class="_ _5"></span>yp<span class="_ _c"></span>e</div><div class="t m0 xb hc y67 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">F<span class="_ _5"></span>unction<span class="_ _f"> </span>decla<span class="_ _5"></span>rations<span class="_ _f"> </span>with<span class="_ _f"> </span>different<span class="_ _f"> </span>signatures<span class="_ _f"> </span>can<span class="_ _f"> </span>have<span class="_ _a"> </span>distinct<span class="_ _f"> </span>return<span class="_ _f"> </span>types</span></div><div class="t m0 xc hc y68 ff1 fs7 fc1 sc0 ls0 ws0">Overloading</div><div class="t m0 xc hc y69 ff1 fs7 fc0 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _6"> </span>overloading<span class="_ _f"> </span><span class="ff4">allows<span class="_ _a"> </span>having<span class="_ _f"> </span>distinct<span class="_ _f"> </span>functions<span class="_ _f"> </span>with<span class="_ _f"> </span>the<span class="_ _f"> </span>same<span class="_ _f"> </span>name<span class="_ _f"> </span>but<span class="_ _f"> </span>with</span></div><div class="t m0 xc hc y6a ff4 fs7 fc0 sc0 ls0 ws0">different<span class="_ _f"> </span><span class="ff11">signatures</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">11/62</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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _8"> </span>Signature<span class="_ _8"> </span>and<span class="_ _8"> </span>Overloading<span class="_ _19"> </span>2/2</div><div class="t m0 xc hd y6b ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">a,<span class="_ _10"> </span></span>char<span class="ffb fc5">*<span class="_ _10"> </span><span class="fc0">b);<span class="_ _14"> </span><span class="ffc fc6">//<span class="_ _10"> </span><span class="ffd">signature</span>:<span class="_ _16"> </span>(int,<span class="_ _10"> </span>char*)</span></span></span></div><div class="t m0 xc hd y6c ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>char<span class="_ _10"> </span>f(int<span class="_ _10"> </span>a,<span class="_ _10"> </span>char*<span class="_ _10"> </span>b);<span class="_ _1a"> </span>//<span class="_ _10"> </span><span class="ffd">compile<span class="_ _d"> </span>erro<span class="_ _5"></span>r<span class="_ _10"> </span><span class="ffc">same<span class="_ _10"> </span>signature</span></span></div><div class="t m0 x10 hf y6d ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>but<span class="_ _10"> </span>different<span class="_ _10"> </span>return<span class="_ _10"> </span>types</div><div class="t m0 xc hd y6e ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span><span class="fc8">const<span class="_ _10"> </span></span>int<span class="_ _10"> </span><span class="ffb fc0">a,<span class="_ _10"> </span></span>char<span class="ffb fc5">*<span class="_ _10"> </span><span class="fc0">b);<span class="_ _16"> </span><span class="ffc fc6">//<span class="_ _10"> </span><span class="ffd">same<span class="_ _d"> </span>signature</span>,<span class="_ _10"> </span>ok</span></span></span></div><div class="t m0 x10 hf y6f ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>const<span class="_ _10"> </span>int<span class="_ _10"> </span>==<span class="_ _10"> </span>int</div><div class="t m0 xc hd y70 ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">a,<span class="_ _10"> </span></span><span class="fc8">const<span class="_ _10"> </span></span>char<span class="ffb fc5">*<span class="_ _10"> </span><span class="fc0">b);<span class="_ _16"> </span><span class="ffc fc6">//<span class="_ _10"> </span><span class="ffd">overloading<span class="_ _d"> </span>with<span class="_ _d"> </span>signature</span>:<span class="_ _10"> </span>(int,<span class="_ _10"> </span>const<span class="_ _10"> </span>char*)</span></span></span></div><div class="t m0 xc hd y71 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>float<span class="ffb fc0">);<span class="_ _1b"> </span><span class="ffc fc6">//<span class="_ _10"> </span><span class="ffd">overloading<span class="_ _d"> </span>with<span class="_ _d"> </span>signature</span>:<span class="_ _10"> </span>(float)</span></span></div><div class="t m0 x10 hf y72 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>the<span class="_ _10"> </span>return<span class="_ _10"> </span>type<span class="_ _10"> </span>is<span class="_ _10"> </span>different</div><div class="t m0 x1 h10 y73 ff13 fs8 fc0 sc0 ls0 ws0">GCC<span class="_ _d"> </span>14<span class="_ _d"> </span>adds<span class="_ _d"> </span>the<span class="_ _d"> </span>flag<span class="_ _1c"> </span><span class="ffb">-fdiagnostics-all-candidates<span class="_ _1c"> </span></span>to<span class="_ _d"> </span>show<span class="_ _d"> </span>all<span class="_ _d"> </span>function<span class="_ _1d"> </span>candidates<span class="_ _1d"> </span>when</div><div class="t m0 x1 h10 y74 ff13 fs8 fc0 sc0 ls0 ws0">overload<span class="_ _1d"> </span>resolution<span class="_ _d"> </span>failure<span class="_ _d"> </span>o<span class="_ _c"></span>ccurs</div><div class="t m0 xb hf y75 ffb fs8 fc9 sc0 ls0 ws0">New<span class="_ _10"> </span>C++<span class="_ _10"> </span>features<span class="_ _10"> </span>in<span class="_ _10"> </span>GCC<span class="_ _10"> </span>14</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">12/62</div><a class="l" href="https://developers.redhat.com/articles/2024/05/15/new-c-features-gcc-14#new_and_improved_warnings"><div class="d m1" style="border-style:none;position:absolute;left:34.722000px;bottom:0.271000px;width:124.384000px;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="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,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AEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAA8D+0xQg4ijl0x44Dtm83h8Po4G3bDAGATWhluVzuKmddX193YQAAh8/a2tquctTFYuFzPwAAm45IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAADgSbTECjmIO3bHjgO3bzeEwOnjbNkMAYBNaWS6Xu8pZ19fXXRgAwOGztra2qxx1sVj43A8AwKYjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQCA/8rKcrk0BQAANo/FYuElFQCATUekAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAMC/2fK7A/c2BQ6HQ/Y7yBAAgP+Ffc+/f3u2UtW9vrFX0wObLtz0waaTNr2w6QZNP21abXpi0xWbvtR05qY3NN2x6S9NNT2yab+mTzWduumVTbds+l3Tnk3Parpm03ebzt30jqZ7ttrD2trdmh7adPGmjzadsumlTTdp+lXTWtNTm67a9PWmsze9pemuTX9vWjQ9tumyTZ9r2rfptU23bfpj0wmantt0naYfNp2/6T1N9221n7e1WzQ9uOmiTR9uOnnTi5tu1HRI09Gbntx05aavNJ216U1Nd27a0bR706ObLtP0mabTNr266dZN603Hazqo6dpN3286b9O7mu7dap9oaysr0yOaLtn08aZTNb286WZNv2k6VtPTm67e9K2mcza9renurbZb09amxzddvukLTWdsOrjp9k1/bjpx0/Obrtf046YLNr2/6f6tNitb26vpQU0XafpQ08maXtR0w6afNe3RtL3pSk1fbjpL0xub7tS0bFppelTTpZs+3XSaplc13arp903HaXp207Wavtd0nqZ3Nt2r1Z658/4f3nSJpo817d30sqabNv266ZhNT2u6WtM3ms7R9NambU3/aDpa0+OaLtf0+aYzNL2u6XZNf2o6YdPzmq7b9KOmCzS9t+l+rfa3nff/kKaLNX2k6RRNL2m6cdMvm47R9JSmqzR9relsTW9uukvTX5u2ND2maf+mzzadvuk1Tbdp+kPT8Zue03RA0w+aztf07qb7tNo3d97/gU2Xavpk0z5Nr2i6edNvm47d9IymazR9u+lcTW9vukernahpmp7QdIWmLzadqen1TXdoOrTpJE0vaLp+00+aLtT0gaYHtEe777z/jdr/J23w/v9ig/f/q0dw/497BPd/dYP3/30bvP+7rWzs/n/nCO7/6Y7Q/h+9rRu8//7//f//5/3/J8aanSt1ewNcAAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Overloading<span class="_ _8"> </span>Resolution<span class="_ _8"> </span>R<span class="_ _5"></span>ules</div><div class="t m0 xb hc y76 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">An<span class="_ _f"> </span>exact<span class="_ _f"> </span>match</span></div><div class="t m0 xb hc y77 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">A<span class="_ _f"> </span>p<span class="_ _5"></span>romotion<span class="_ _f"> </span>(e.g.<span class="_ _3"> </span><span class="ffe">char<span class="_ _12"> </span></span>to<span class="_ _12"> </span><span class="ffe">int<span class="_ _d"> </span></span>)</span></div><div class="t m0 xb hc y78 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">A<span class="_ _f"> </span>standa<span class="_ _5"></span>rd<span class="_ _f"> </span>t<span class="_ _5"></span>yp<span class="_ _c"></span>e<span class="_ _a"> </span>conversion<span class="_ _f"> </span>(e.g.<span class="_ _3"> </span><span class="ffe">float<span class="_ _1e"> </span></span>and<span class="_ _12"> </span><span class="ffe">int<span class="_ _d"> </span></span>)</span></div><div class="t m0 xb hc y79 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">A<span class="_ _f"> </span>constructo<span class="_ _5"></span>r<span class="_ _f"> </span>o<span class="_ _5"></span>r<span class="_ _f"> </span>user-defined<span class="_ _f"> </span>t<span class="_ _5"></span>yp<span class="_ _c"></span>e<span class="_ _a"> </span>conversion<span class="_ _f"> </span><span class="ff14"></span></span></div><div class="t m0 xc hf y7a ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>int<span class="_ _1f"> </span><span class="ffb fc0">a);</span></div><div class="t m0 xc hf y7b ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>float<span class="_ _10"> </span><span class="ffb fc0">b);<span class="_ _20"> </span><span class="ffc fc6">//<span class="_ _10"> </span>overload</span></span></div><div class="t m0 xc hf y7c ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>float<span class="_ _10"> </span><span class="ffb fc0">b,<span class="_ _10"> </span></span>char<span class="_ _10"> </span><span class="ffb fc0">c);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>overload</span></span></div><div class="t m0 xc hf y7d ffc fs8 fc6 sc0 ls0 ws0">//--------------------------------------------------------------</div><div class="t m0 x11 hf y7e ffb fs8 fc0 sc0 ls0 ws0">f(<span class="fc5">0</span>);<span class="_ _14"> </span><span class="ffc fc6">//<span class="_ _10"> </span>exact<span class="_ _10"> </span>match</span></div><div class="t m0 x11 hf y7f ffb fs8 fc0 sc0 ls0 ws0">f(<span class="ff12 fc7">&apos;<span class="ffb">a</span>&apos;</span>);<span class="_ _17"> </span><span class="ffc fc6">//<span class="_ _10"> </span>promotion<span class="_ _10"> </span>from<span class="_ _10"> </span>char<span class="_ _10"> </span>to<span class="_ _10"> </span>int<span class="_ _10"> </span>(promotion)</span></div><div class="t m0 xc hd y80 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>f(3LL);<span class="_ _17"> </span>//<span class="_ _10"> </span><span class="ffd">compile<span class="_ _1d"> </span>error<span class="_ _10"> </span></span>ambiguous<span class="_ _10"> </span>match</div><div class="t m0 x11 hf y81 ffb fs8 fc0 sc0 ls0 ws0">f(<span class="fc5">2.3f</span>);<span class="_ _1a"> </span><span class="ffc fc6">//<span class="_ _10"> </span>exact<span class="_ _10"> </span>match</span></div><div class="t m0 xc hd y82 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>f(2.3);<span class="_ _17"> </span>//<span class="_ _10"> </span><span class="ffd">compile<span class="_ _1d"> </span>error<span class="_ _10"> </span></span>ambiguous<span class="_ _10"> </span>match</div><div class="t m0 x11 hf y83 ffb fs8 fc0 sc0 ls0 ws0">f(<span class="fc5">2.3</span>,<span class="_ _10"> </span><span class="ff12 fc7">&apos;<span class="ffb">a</span>&apos;</span>);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>standard<span class="_ _10"> </span>type<span class="_ _10"> </span>conversion,<span class="_ _10"> </span>ambiguity<span class="_ _10"> </span>is<span class="_ _10"> </span>not<span class="_ _10"> </span>possible<span class="_ _10"> </span>here</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">13/62</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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AQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAESqEQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAADryQYj4Di130EHGcLx7NBNmwwBgPVuYXV1db2cdWVlxYUBAGyZ5eXl9XLUxcVFf/cDALDmiFQAAEQqAACIVAAARCoAAGyt9fR1PwAA2wNf9wMAsBaJVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBgu7Lh6AN3MwWOa0ftc4ghAAD/pT322rddWqjqgCN2bXp406WbPtZ0hqaXNd286WdNS01Pbbpm01ebztf01qZ7NP21qabHN+3T9NmmszW9rukOTUc37dL0/KbrN32v6WJN7216QEs9po3dt+nRTZdv+mTTWZpe1XTrpl83LTc9q+k6Td9qulDTO5vu03Rs02LTk5uu2vTFpj2a3tR0l6Y/Np266UVNN276UdNeTR9senBL/aKN3b7pkU2Xbfp405maXtF0y6ajmnZuekbTtZu+3nSBprc33avpb007Nj2x6SpNn286R9Mbmu7UtNJ0yqZDmm7Y9IOmPZve3/TAlvp0G1tYmB7XdMWmTzWdtek1Tbdt+m3TSZue07R/05FNF2l6d9P9WmqHpo1NT2m6etOXm87TdGjT3Zr+3HS6ppc03bTpJ017N32k6aEtNQsb27XpEU2XaTqs6YxNL2+6RdPPm3ZqenrTtZq+1nT+prc13bNptWmh6QlNV276XNPZm17fdMem3zedvOkFTTdo+n7TxZve13RASz1v8/0/tukKTYc37db06qbbNP2m6SRNz266btMRTRduelfTpqZ/NJ2o6aCmqzV9qencTW9uumvTn5pO0/Tipps0/bjpkk0fanpISx2z+f4f1XS5pk80nbnplU23avpV04mbntm0X9M3my7Y9I6mezf9vWlD05Oa9m36QtO5mt7YdOemPzSdqumFTTdq+mHTJZo+0PSglvr25vs/sOlKTZ9p2r3ptU23a/pd08mantt0vabvNF206T1N92+p0zZN08FN12j6StN5m97SdPemvzSdvumlTTdr+mnTpZo+2vSwdmrHzfe/rfb/adt4/3+5jff/G1u5/6fYyv1f2sb7/+FtvP87LGzb/f/uVu7/Obdq/3du4zbef7//fv//8/7/EyD1lCvPND2CAAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Overloading<span class="_ _8"> </span>and<span class="_ _8"> </span><span class="ff5">=delete</span></div><div class="t m0 xc hc y84 ffe fs7 fc0 sc0 ls0 ws0">=delete<span class="_ _12"> </span><span class="ff4">can<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _a"> </span>used<span class="_ _f"> </span>to<span class="_ _f"> </span>prevent<span class="_ _a"> </span>calling<span class="_ _f"> </span>the<span class="_ _f"> </span>wrong<span class="_ _f"> </span>overload</span></div><div class="t m0 xc hf y85 ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">g<span class="fc0">(</span></span>int<span class="ffb fc0">)<span class="_ _10"> </span>{}</span></div><div class="t m0 xc hf y86 ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">g<span class="fc0">(</span></span>double<span class="ffb fc0">)<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span></span><span class="fc8">delete<span class="ffb fc0">;</span></span></div><div class="t m0 xc hf y87 ffb fs8 fc0 sc0 ls0 ws0">g(<span class="fc5">3</span>);<span class="_ _1f"> </span><span class="ffc fc6">//<span class="_ _10"> </span>ok</span></div><div class="t m0 xc hf y88 ffb fs8 fc0 sc0 ls0 ws0">g(<span class="fc5">3.0</span>);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>compile<span class="_ _10"> </span>error</span></div><div class="t m0 xc hf y89 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>include<span class="_ _22"> </span><span class="fc6">&lt;cstddef&gt;<span class="_ _22"> </span>//<span class="_ _10"> </span>std::nullptr_t</span></div><div class="t m0 xc hf y8a ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>int<span class="ffb fc5">*<span class="fc0">)<span class="_ _10"> </span>{}</span></span></div><div class="t m0 xc hf y8b ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(std<span class="fc5">::</span>nullptr_t)<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span></span></span><span class="fc8">delete<span class="ffb fc0">;</span></span></div><div class="t m0 xc hf y8c ffb fs8 fc0 sc0 ls0 ws0">f(<span class="ff5 fc8">nullptr</span>);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>compile<span class="_ _10"> </span>error</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">14/62</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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAI6ElEQVR42u3ZMUpDQRCA4X3ytlxU8AJilROIiIWFYOk5tMwhrHIDIdgGCyEHsNDCG9h4AyvZbio7C4sUAXHX930XyDCb4mfecHR8mgAAoBnvry87tgAAQGtEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAA34aIsAUAANqRc3ZJBQCgOSIVAACRCgAAIhUAgO6MHc06Ozv3YAAA23l7fupoWpdUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAPC/DRHRy6y1Vg8GALCdUkovo+acXVIBAGiOSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAADTNkSELQAA0I6cs0sqAADNEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUKwAAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQCgFWNHs9ZaPRgAwHZKKR1N65IKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAQDNGKwAacbVYWMIPj/O5JQDTNEREL7PWWj0YAMB2Sim9jJpz9rkfAIDmiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAJiIISJsAQCAduScXVIBAGiOSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAm42ft4e2QDs+Lu4sAQAmbnZymfbTkFJKab1O6XqZ0u7qb2a5Wf72L+ytpvfC9w/+5QBscrCyA9r0BYm+MAUrjex6AAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _8"> </span>Default<span class="_ _8"> </span>P<span class="_ _5"></span>a<span class="_ _5"></span>rameters</div><div class="t m0 xc hc y2f ff1 fs7 fc1 sc0 ls0 ws0">Default/Optional<span class="_ _6"> </span>parameter</div><div class="t m0 xc hc y3b ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="ff1">default<span class="_ _6"> </span>pa<span class="_ _5"></span>rameter<span class="_ _f"> </span><span class="ff4">is<span class="_ _f"> </span>a<span class="_ _f"> </span>function<span class="_ _f"> </span>parameter<span class="_ _a"> </span>that<span class="_ _f"> </span>has<span class="_ _f"> </span>a<span class="_ _f"> </span>default<span class="_ _f"> </span>value</span></span></div><div class="t m0 xe h6 y8d fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">If<span class="_ _a"> </span>the<span class="_ _d"> </span>user<span class="_ _a"> </span>do<span class="_ _c"></span>es<span class="_ _d"> </span>not<span class="_ _a"> </span>supply<span class="_ _a"> </span>a<span class="_ _a"> </span>value<span class="_ _a"> </span>fo<span class="_ _5"></span>r<span class="_ _a"> </span>this<span class="_ _d"> </span>parameter,<span class="_ _d"> </span>the<span class="_ _a"> </span>default<span class="_ _a"> </span>value<span class="_ _a"> </span>will<span class="_ _d"> </span>b<span class="_ _c"></span>e<span class="_ _a"> </span>used</span></div><div class="t m0 xe h6 y8e fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">All<span class="_ _a"> </span>default<span class="_ _d"> </span>parameters<span class="_ _d"> </span>must<span class="_ _a"> </span>b<span class="_ _c"></span>e<span class="_ _d"> </span>the<span class="_ _a"> </span>rightmost<span class="_ _a"> </span>parameters</span></div><div class="t m0 xe h6 y8f fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Default<span class="_ _a"> </span>pa<span class="_ _5"></span>rameters<span class="_ _d"> </span>must<span class="_ _a"> </span>b<span class="_ _c"></span>e<span class="_ _a"> </span>decla<span class="_ _5"></span>red<span class="_ _d"> </span>only<span class="_ _a"> </span>once</span></div><div class="t m0 xe h6 y90 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Default<span class="_ _a"> </span>pa<span class="_ _5"></span>rameters<span class="_ _d"> </span>can<span class="_ _a"> </span>improve<span class="_ _d"> </span>compile<span class="_ _a"> </span>time<span class="_ _a"> </span>and<span class="_ _a"> </span>avoid<span class="_ _d"> </span>redundant<span class="_ _a"> </span>co<span class="_ _c"></span>de<span class="_ _d"> </span>b<span class="_ _c"></span>ecause<span class="_ _a"> </span>they</span></div><div class="t m0 x6 h6 y91 ff4 fs4 fc0 sc0 ls0 ws0">avoid<span class="_ _d"> </span>defining<span class="_ _a"> </span>other<span class="_ _a"> </span>overloaded<span class="_ _a"> </span>functions</div><div class="t m0 xc h11 y92 ff5 fs5 fc3 sc0 ls0 ws0">void<span class="_ _8"> </span><span class="ff15 fc4">f<span class="fc0">(</span></span>int<span class="_ _6"> </span><span class="ff15 fc0">a,<span class="_ _8"> </span></span>int<span class="_ _8"> </span><span class="ff15 fc0">b<span class="_ _6"> </span><span class="fc5">=<span class="_ _8"> </span>20</span>);<span class="_ _20"> </span><span class="ffc fc6">//<span class="_ _8"> </span>declaration</span></span></div><div class="t m0 xc h11 y93 ffc fs5 fc6 sc0 ls0 ws0">//void<span class="_ _8"> </span>f(int<span class="_ _6"> </span>a,<span class="_ _8"> </span>int<span class="_ _6"> </span>b<span class="_ _8"> </span>=<span class="_ _6"> </span>10)<span class="_ _8"> </span>{<span class="_ _8"> </span>...<span class="_ _6"> </span>}<span class="_ _8"> </span>//<span class="_ _6"> </span><span class="ff16">compile<span class="_ _1d"> </span>error</span>,<span class="_ _6"> </span>already<span class="_ _8"> </span>set<span class="_ _8"> </span>in<span class="_ _6"> </span>the<span class="_ _8"> </span>declaration</div><div class="t m0 xc h11 y94 ff5 fs5 fc3 sc0 ls0 ws0">void<span class="_ _8"> </span><span class="ff15 fc4">f<span class="fc0">(</span></span>int<span class="_ _6"> </span><span class="ff15 fc0">a,<span class="_ _8"> </span></span>int<span class="_ _8"> </span><span class="ff15 fc0">b)<span class="_ _6"> </span>{<span class="_ _8"> </span>...<span class="_ _8"> </span>}<span class="_ _23"> </span><span class="ffc fc6">//<span class="_ _8"> </span>definition,<span class="_ _6"> </span>default<span class="_ _8"> </span>value<span class="_ _6"> </span>of<span class="_ _8"> </span>&quot;b&quot;<span class="_ _6"> </span>is<span class="_ _8"> </span>already<span class="_ _8"> </span>set</span></span></div><div class="t m0 xc h11 y95 ff15 fs5 fc0 sc0 ls0 ws0">f(<span class="fc5">5</span>);<span class="_ _24"> </span><span class="ffc fc6">//<span class="_ _8"> </span>b<span class="_ _6"> </span>is<span class="_ _8"> </span>20</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">15/62</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 xa h2 y96 ff1 fs0 fc0 sc0 ls0 ws0">F<span class="_ _e"></span>unction<span class="_ _1"> </span>P<span class="_ _e"></span>ointers</div><div class="t m0 xa h2 y1f ff1 fs0 fc0 sc0 ls0 ws0">and<span class="_ _1"> </span>F<span class="_ _e"></span>unction</div><div class="t m0 xa h2 y97 ff1 fs0 fc0 sc0 ls0 ws0">Objects</div><a class="l" href="#pf12" data-dest-detail='[18,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:171.623000px;width:241.993000px;height:19.206000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf12" data-dest-detail='[18,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:137.252000px;width:241.993000px;height:19.206000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf12" data-dest-detail='[18,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:98.061000px;width:87.942000px;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="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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAInElEQVR42u3YMWoCQRiG4X9lp1yMkAuEVJ4giLWQs8SDeInA9ks6r2Bh5QlS2FvJdlPZpQwhITijz3OBHb7Z4mWa55dlAABAMT73u4kVAAAojUgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAOBLk3O2AgAA5UgpeUkFAKA4IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJFqAgAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAgJ9rKzrrOI4uDADgd7quq+i0XlIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpJgAAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAVWpyzlYAAKAcKSUvqQAAFEekAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAAD+oj1vnqxApU6rdyMAwO2ZL15jFk1ERBy3EW99xHS4zlnW/X9/4WG4vxs+fPjLAfjO42ADynQBfqobZ/4wKBAAAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _8"> </span>P<span class="_ _5"></span>ointer<span class="_ _8"> </span>-<span class="_ _8"> </span>F<span class="_ _5"></span>unction<span class="_ _8"> </span>as<span class="_ _8"> </span>Argument<span class="_ _25"> </span>1/2</div><div class="t m0 x1 hc y98 ff4 fs7 fc0 sc0 ls0 ws0">Standa<span class="_ _5"></span>rd<span class="_ _f"> </span>C<span class="_ _f"> </span>achieves<span class="_ _a"> </span>generic<span class="_ _f"> </span>programming<span class="_ _a"> </span>capabilities<span class="_ _f"> </span>and<span class="_ _f"> </span>comp<span class="_ _c"></span>osabilit<span class="_ _5"></span>y<span class="_ _f"> </span>through<span class="_ _f"> </span>the</div><div class="t m0 x1 hc y99 ff4 fs7 fc0 sc0 ls0 ws0">concept<span class="_ _f"> </span>of<span class="_ _8"> </span><span class="ff1">function<span class="_ _6"> </span>p<span class="_ _c"></span>ointer</span></div><div class="t m0 x1 hc y9a ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span>function<span class="_ _a"> </span>can<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _f"> </span>passed<span class="_ _f"> </span>as<span class="_ _f"> </span>a<span class="_ _f"> </span>p<span class="_ _c"></span>ointer<span class="_ _a"> </span>to<span class="_ _f"> </span>another<span class="_ _f"> </span>function<span class="_ _f"> </span>and<span class="_ _f"> </span>b<span class="_ _c"></span>ehaves<span class="_ _a"> </span>as<span class="_ _f"> </span>an<span class="_ _f"> </span><span class="ff11">“indirect</span></div><div class="t m0 x1 h12 y9b ff11 fs7 fc0 sc0 ls0 ws0">call”</div><div class="t m0 xc hf y9c ffc fs8 fca sc0 ls0 ws0">#include<span class="_ _22"> </span><span class="fc6">&lt;stdlib.h&gt;<span class="_ _22"> </span>//<span class="_ _10"> </span>qsort</span></div><div class="t m0 xc hf y9d ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc4">descending<span class="fc0">(</span></span><span class="fc8">const<span class="_ _10"> </span></span>void<span class="ffb fc5">*<span class="_ _10"> </span><span class="fc0">a,<span class="_ _10"> </span></span></span><span class="fc8">const<span class="_ _10"> </span></span>void<span class="ffb fc5">*<span class="_ _10"> </span><span class="fc0">b)<span class="_ _10"> </span>{</span></span></div><div class="t m0 x6 hf y9e ff5 fs8 fc8 sc0 ls0 ws0">return<span class="_ _10"> </span><span class="ffb fc5">*<span class="fc0">((</span></span>const<span class="_ _10"> </span><span class="fc3">int<span class="ffb fc5">*<span class="fc0">)<span class="_ _10"> </span>a)<span class="_ _10"> </span></span>&gt;<span class="_ _10"> </span>*<span class="fc0">((</span></span></span>const<span class="_ _10"> </span><span class="fc3">int<span class="ffb fc5">*<span class="fc0">)<span class="_ _10"> </span>b);</span></span></span></div><div class="t m0 xc hf y9f ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xc hf ya0 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc0">array[]<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>{<span class="fc5">7</span>,<span class="_ _10"> </span><span class="fc5">2</span>,<span class="_ _10"> </span><span class="fc5">5</span>,<span class="_ _10"> </span><span class="fc5">1</span>};</span></div><div class="t m0 xc hf ya1 ffb fs8 fc0 sc0 ls0 ws0">qsort(array,<span class="_ _10"> </span><span class="fc5">4</span>,<span class="_ _10"> </span><span class="ff5 fc8">sizeof</span>(<span class="ff5 fc3">int</span>),<span class="_ _10"> </span>descending);</div><div class="t m0 xc hf ya2 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>array:<span class="_ _10"> </span>{<span class="_ _10"> </span>7,<span class="_ _10"> </span>5,<span class="_ _10"> </span>2,<span class="_ _10"> </span>1<span class="_ _10"> </span>}</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">16/62</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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _8"> </span>P<span class="_ _5"></span>ointer<span class="_ _8"> </span>-<span class="_ _8"> </span>F<span class="_ _5"></span>unction<span class="_ _8"> </span>as<span class="_ _8"> </span>Argument<span class="_ _25"> </span>2/2</div><div class="t m0 xc hf ya3 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc4">eval<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">a,<span class="_ _10"> </span></span>int<span class="_ _10"> </span><span class="ffb fc0">b,<span class="_ _10"> </span></span>int<span class="_ _10"> </span><span class="ffb fc0">(<span class="fc5">*</span>f)(</span>int<span class="ffb fc0">,<span class="_ _10"> </span></span>int<span class="ffb fc0">))<span class="_ _10"> </span>{</span></div><div class="t m0 x6 hf ya4 ff5 fs8 fc8 sc0 ls0 ws0">return<span class="_ _10"> </span><span class="ffb fc0">f(a,<span class="_ _10"> </span>b);</span></div><div class="t m0 xc hf ya5 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xc hf ya6 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>type:<span class="_ _10"> </span>int<span class="_ _10"> </span>(*)(int,<span class="_ _10"> </span>int)</div><div class="t m0 xc hf ya7 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc4">add<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">a,<span class="_ _10"> </span></span>int<span class="_ _10"> </span><span class="ffb fc0">b)<span class="_ _10"> </span>{<span class="_ _10"> </span></span><span class="fc8">return<span class="_ _10"> </span><span class="ffb fc0">a<span class="_ _10"> </span><span class="fc5">+<span class="_ _10"> </span></span>b;<span class="_ _10"> </span>}</span></span></div><div class="t m0 xc hf ya8 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc4">sub<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">a,<span class="_ _10"> </span></span>int<span class="_ _10"> </span><span class="ffb fc0">b)<span class="_ _10"> </span>{<span class="_ _10"> </span></span><span class="fc8">return<span class="_ _10"> </span><span class="ffb fc0">a<span class="_ _10"> </span><span class="fc5">-<span class="_ _10"> </span></span>b;<span class="_ _10"> </span>}</span></span></div><div class="t m0 xc hf ya9 ffb fs8 fc0 sc0 ls0 ws0">cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>eval(<span class="fc5">4</span>,<span class="_ _10"> </span><span class="fc5">3</span>,<span class="_ _10"> </span>add);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span>7</span></div><div class="t m0 xc hf yaa ffb fs8 fc0 sc0 ls0 ws0">cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>eval(<span class="fc5">4</span>,<span class="_ _10"> </span><span class="fc5">3</span>,<span class="_ _10"> </span>sub);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span>1</span></div><div class="t m0 x1 hc yab ff1 fs7 fc0 sc0 ls0 ws0">Problems:</div><div class="t m0 x12 hc yac ff1 fs7 fc0 sc0 ls0 ws0">Safet<span class="_ _5"></span>y<span class="_ _4"> </span><span class="ff4">There<span class="_ _f"> </span>is<span class="_ _f"> </span>no<span class="_ _f"> </span>check<span class="_ _a"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>argument<span class="_ _a"> </span>type<span class="_ _f"> </span>in<span class="_ _f"> </span>the<span class="_ _f"> </span>generic<span class="_ _f"> </span>case<span class="_ _f"> </span>(e.g.<span class="_ _3"> </span><span class="ffe">qsort<span class="_ _1d"> </span></span>)</span></div><div class="t m0 x4 hc yad ff1 fs7 fc0 sc0 ls0 ws0">P<span class="_ _5"></span>erfo<span class="_ _5"></span>rmance<span class="_ _4"> </span><span class="ff4">Any<span class="_ _f"> </span>op<span class="_ _c"></span>eration<span class="_ _a"> </span>requires<span class="_ _f"> </span>an<span class="_ _f"> </span>indirect<span class="_ _f"> </span>call<span class="_ _f"> </span>to<span class="_ _f"> </span>the<span class="_ _f"> </span>o<span class="_ _5"></span>riginal<span class="_ _f"> </span>function.<span class="_ _10"> </span>Function</span></div><div class="t m0 x13 hc yae ff4 fs7 fc0 sc0 ls0 ws0">inlining<span class="_ _f"> </span>is<span class="_ _a"> </span>not<span class="_ _f"> </span>p<span class="_ _c"></span>ossible</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">17/62</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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAI1UlEQVR42u3YMUoDQRSA4RnZKRcVvICIRRotg4iFheAt0seD2OgNhPQL6ewttPAGNt7ASqabyk6sFBbczITvqwN5eZPi58Wj+XkAAIBqvL++7NgCAAC1EakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAHyLpRRbAACgHikll1QAAKojUgEAEKkAACBSAQBoTtfQrLOLSw8GADDO2/NTQ9O6pAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQCA7RZLKa3MmnP2YAAA4/R938qoKSWXVAAAqiNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAACYTCyl2AIAAPVIKbmkAgBQHZEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAW6JraNacswcDABin7/uGpnVJBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApFoBAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgBA+2IpxRYAAKhHSsklFQCA6ohUAABEKgAAiFQAAEQqAACIVAAAtk73eXtoC/DTx9WDJQDABs3OrsN+iCGEEOaPd4vlKoTd4WS5iVluVv/9DXvDNL/kdLL93S/++sTx2r8cgN8cDHZAnb4Ad6opGY5ZP6AAAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _8"> </span>Object<span class="_ _8"> </span>(o<span class="_ _5"></span>r<span class="_ _8"> </span>F<span class="_ _5"></span>uncto<span class="_ _5"></span>r)<span class="_ _26"> </span>1/2</div><div class="t m0 xc hc y2f ff1 fs7 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _6"> </span>Object</div><div class="t m0 xc hc y3b ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="ff1">function<span class="_ _6"> </span>object</span>,<span class="_ _f"> </span>or<span class="_ _a"> </span><span class="ff1">functor</span>,<span class="_ _a"> </span>is<span class="_ _f"> </span>a<span class="_ _f"> </span><span class="ff11">callable<span class="_ _8"> </span></span>object<span class="_ _a"> </span>that<span class="_ _f"> </span>can<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _a"> </span>treated<span class="_ _f"> </span>as<span class="_ _f"> </span>a</div><div class="t m0 xc hc y3c ff4 fs7 fc0 sc0 ls0 ws0">pa<span class="_ _5"></span>rameter</div><div class="t m0 x1 hc yaf ff4 fs7 fc0 sc0 ls0 ws0">C++<span class="_ _f"> </span>p<span class="_ _5"></span>rovides<span class="_ _f"> </span>a<span class="_ _a"> </span>more<span class="_ _a"> </span>efficient<span class="_ _f"> </span>and<span class="_ _f"> </span>convenience<span class="_ _f"> </span>wa<span class="_ _5"></span>y<span class="_ _a"> </span>to<span class="_ _f"> </span>pass<span class="_ _f"> </span><span class="ff11">“procedure”<span class="_ _8"> </span></span>to<span class="_ _f"> </span>other</div><div class="t m0 x1 hc yb0 ff4 fs7 fc0 sc0 ls0 ws0">functions<span class="_ _f"> </span>called<span class="_ _a"> </span><span class="ff1">function<span class="_ _8"> </span>object</span></div><div class="t m0 xc hf yb1 ffc fs8 fca sc0 ls0 ws0">#include<span class="_ _22"> </span><span class="fc6">&lt;algorithm&gt;<span class="_ _22"> </span>//<span class="_ _10"> </span>for<span class="_ _10"> </span>std::sort</span></div><div class="t m0 xc hf yb2 ff5 fs8 fc8 sc0 ls0 ws0">struct<span class="_ _10"> </span><span class="fc4">Descending<span class="_ _10"> </span><span class="ffb fc0">{<span class="_ _1b"> </span><span class="ffc fc6">//<span class="_ _10"> </span>&lt;--<span class="_ _10"> </span>function<span class="_ _10"> </span>object</span></span></span></div><div class="t m0 x6 hf yb3 ff5 fs8 fc3 sc0 ls0 ws0">bool<span class="_ _10"> </span><span class="ffb fc4">operator<span class="fc0">()(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">a,<span class="_ _10"> </span></span>int<span class="_ _10"> </span><span class="ffb fc0">b)<span class="_ _10"> </span>{<span class="_ _16"> </span><span class="ffc fc6">//<span class="_ _10"> </span>function<span class="_ _10"> </span>call<span class="_ _10"> </span>operator</span></span></div><div class="t m0 x14 hf yb4 ff5 fs8 fc8 sc0 ls0 ws0">return<span class="_ _10"> </span><span class="ffb fc0">a<span class="_ _10"> </span><span class="fc5">&gt;<span class="_ _10"> </span></span>b;</span></div><div class="t m0 x6 hf yb5 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xc hf yb6 ffb fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 xc hf yb7 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc0">array[]<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>{<span class="fc5">7</span>,<span class="_ _10"> </span><span class="fc5">2</span>,<span class="_ _10"> </span><span class="fc5">5</span>,<span class="_ _10"> </span><span class="fc5">1</span>};</span></div><div class="t m0 xc hf yb8 ffb fs8 fc0 sc0 ls0 ws0">std<span class="fc5">::</span>sort(array,<span class="_ _10"> </span>array<span class="_ _10"> </span><span class="fc5">+<span class="_ _10"> </span>4</span>,<span class="_ _10"> </span>Descending{});</div><div class="t m0 xc hf yb9 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>array:<span class="_ _10"> </span>{<span class="_ _10"> </span>7,<span class="_ _10"> </span>5,<span class="_ _10"> </span>2,<span class="_ _10"> </span>1<span class="_ _10"> </span>}</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">18/62</div></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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _8"> </span>Object<span class="_ _8"> </span>(o<span class="_ _5"></span>r<span class="_ _8"> </span>F<span class="_ _5"></span>uncto<span class="_ _5"></span>r)<span class="_ _26"> </span>2/2</div><div class="t m0 x1 hc yba ff1 fs7 fc0 sc0 ls0 ws0">A<span class="_ _5"></span>dvantages:</div><div class="t m0 x12 hc ybb ff1 fs7 fc0 sc0 ls0 ws0">Safet<span class="_ _5"></span>y<span class="_ _4"> </span><span class="ff4">Argument<span class="_ _f"> </span>t<span class="_ _5"></span>yp<span class="_ _c"></span>e<span class="_ _a"> </span>checking<span class="_ _f"> </span>is<span class="_ _f"> </span>alwa<span class="_ _5"></span>ys<span class="_ _a"> </span>p<span class="_ _c"></span>ossible.<span class="_ _10"> </span>It<span class="_ _f"> </span>could<span class="_ _f"> </span>involve<span class="_ _f"> </span>templates</span></div><div class="t m0 x4 hc ybc ff1 fs7 fc0 sc0 ls0 ws0">P<span class="_ _5"></span>erfo<span class="_ _5"></span>rmance<span class="_ _4"> </span><span class="ff4">The<span class="_ _f"> </span>compiler<span class="_ _f"> </span>injects<span class="_ _12"> </span><span class="ffe">operator()<span class="_ _12"> </span></span>in<span class="_ _f"> </span>the<span class="_ _f"> </span>co<span class="_ _c"></span>de<span class="_ _f"> </span>of<span class="_ _a"> </span>the<span class="_ _f"> </span>destination<span class="_ _f"> </span>function</span></div><div class="t m0 x13 hc ybd ff4 fs7 fc0 sc0 ls0 ws0">and<span class="_ _f"> </span>then<span class="_ _a"> </span>compile<span class="_ _f"> </span>the<span class="_ _f"> </span>routine.<span class="_ _b"> </span>Operator<span class="_ _a"> </span>inlining<span class="_ _f"> </span>is<span class="_ _f"> </span>the<span class="_ _f"> </span>standard<span class="_ _a"> </span>b<span class="_ _c"></span>ehavio<span class="_ _5"></span>r</div><div class="t m0 x1 hc ybe ff4 fs7 fcb sc0 ls0 ws0">C++11<span class="_ _f"> </span><span class="fc0">simplifies<span class="_ _a"> </span>the<span class="_ _f"> </span>concept<span class="_ _f"> </span>by<span class="_ _a"> </span>providing<span class="_ _a"> </span>less<span class="_ _f"> </span>verb<span class="_ _c"></span>ose<span class="_ _a"> </span><span class="ffe">function<span class="_ _13"> </span>objects<span class="_ _f"> </span></span>called</span></div><div class="t m0 x1 hc ybf ff1 fs7 fc0 sc0 ls0 ws0">lamb<span class="_ _c"></span>da<span class="_ _f"> </span>expressions</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">19/62</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,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"/><div class="t m0 xa h2 y1f ff1 fs0 fc0 sc0 ls0 ws0">Lamb<span class="_ _0"></span>da<span class="_ _1"> </span>Exp<span class="_ _e"></span>ressions</div><a class="l" href="#pf17" data-dest-detail='[23,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:132.432000px;width:230.130000px;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="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,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Lamb<span class="_ _c"></span>da<span class="_ _8"> </span>Exp<span class="_ _5"></span>ression</div><div class="t m0 xc hc y60 ff1 fs7 fc1 sc0 ls0 ws0">Lamb<span class="_ _c"></span>da<span class="_ _f"> </span>Expression</div><div class="t m0 xc hc yc0 ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="fcb">C++11<span class="_ _a"> </span></span><span class="ff1">lamb<span class="_ _c"></span>da<span class="_ _6"> </span>expression<span class="_ _a"> </span></span>is<span class="_ _f"> </span>an<span class="_ _f"> </span><span class="ff11">inline<span class="_ _f"> </span>lo<span class="_ _c"></span>cal-scop<span class="_ _c"></span>e<span class="_ _6"> </span></span>function<span class="_ _f"> </span>object</div><div class="t m0 xc hc yc1 ff5 fs7 fc0 sc0 ls0 ws0">auto<span class="_ _13"> </span>x<span class="_ _13"> </span>=<span class="_ _1c"> </span><span class="ffe fc4">[capture<span class="_ _13"> </span>clause]<span class="_ _13"> </span>(parameters)<span class="_ _13"> </span><span class="ff17">{<span class="_ _13"> </span></span>body<span class="_ _13"> </span><span class="ff17">}</span></span></div><div class="t m0 xb hc yc2 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">The<span class="_ _12"> </span><span class="ff5">[capture<span class="_ _13"> </span>clause]<span class="_ _12"> </span></span>marks<span class="_ _a"> </span>the<span class="_ _f"> </span>declaration<span class="_ _a"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>lamb<span class="_ _c"></span>da<span class="_ _a"> </span>and<span class="_ _f"> </span>how<span class="_ _a"> </span>the<span class="_ _f"> </span>lo<span class="_ _c"></span>cal</span></div><div class="t m0 x6 hc yc3 ff4 fs7 fc0 sc0 ls0 ws0">scop<span class="_ _c"></span>e<span class="_ _a"> </span>arguments<span class="_ _a"> </span>are<span class="_ _a"> </span>captured<span class="_ _f"> </span>(b<span class="_ _5"></span>y-value,<span class="_ _f"> </span>b<span class="_ _5"></span>y-reference,<span class="_ _f"> </span>etc.)</div><div class="t m0 xb hc yc4 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">The<span class="_ _12"> </span><span class="ff5">parameters<span class="_ _12"> </span></span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>lamb<span class="_ _c"></span>da<span class="_ _f"> </span>a<span class="_ _5"></span>re<span class="_ _f"> </span>no<span class="_ _5"></span>rmal<span class="_ _f"> </span>function<span class="_ _f"> </span>pa<span class="_ _5"></span>rameters<span class="_ _f"> </span>(optional<span class="_ _f"> </span>in</span></div><div class="t m0 x6 hc yc5 ff4 fs7 fcb sc0 ls0 ws0">C++23<span class="fc0">*)</span></div><div class="t m0 xb hc yc6 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">The<span class="_ _12"> </span><span class="ff5">body<span class="_ _12"> </span></span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>lamb<span class="_ _c"></span>da<span class="_ _f"> </span>is<span class="_ _f"> </span>a<span class="_ _f"> </span>no<span class="_ _5"></span>rmal<span class="_ _f"> </span>function<span class="_ _f"> </span>b<span class="_ _c"></span>ody</span></div><div class="t m0 x1 hc yc7 ff11 fs7 fc0 sc0 ls0 ws0">The<span class="_ _f"> </span>exp<span class="_ _5"></span>ression<span class="_ _f"> </span>to<span class="_ _a"> </span>the<span class="_ _f"> </span>right<span class="_ _10"> </span><span class="ff4">of<span class="_ _12"> </span><span class="ffe">=<span class="_ _12"> </span></span>is<span class="_ _f"> </span>the<span class="_ _f"> </span><span class="ff1">lamb<span class="_ _c"></span>da<span class="_ _6"> </span>expression</span>,<span class="_ _a"> </span>and<span class="_ _f"> </span></span>the<span class="_ _f"> </span>runtime<span class="_ _f"> </span>object</div><div class="t m0 xc hc yc8 ffe fs7 fc0 sc0 ls0 ws0">x<span class="_ _12"> </span><span class="ff4">created<span class="_ _f"> </span>by<span class="_ _a"> </span>that<span class="_ _f"> </span>exp<span class="_ _5"></span>ression<span class="_ _f"> </span>is<span class="_ _f"> </span>the<span class="_ _f"> </span><span class="ff1">closure</span></span></div><div class="t m0 xb h10 yc9 ff1 fs8 fc9 sc0 ls0 ws0">*<span class="_ _1d"> </span><span class="ff13">some<span class="_ _d"> </span>compilers<span class="_ _d"> </span>supp<span class="_ _c"></span>ort<span class="_ _1d"> </span>lambd<span class="_ _c"></span>a<span class="_ _1d"> </span>expressions<span class="_ _1d"> </span>without<span class="_ _d"> </span>pa<span class="_ _5"></span>rameters<span class="_ _d"> </span>in<span class="_ _d"> </span>previous<span class="_ _1d"> </span>C++<span class="_ _d"> </span>standards</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">20/62</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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Lamb<span class="_ _c"></span>da<span class="_ _8"> </span>Exp<span class="_ _5"></span>ression<span class="_ _8"> </span>Examples</div><div class="t m0 xc hf yca ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>include<span class="_ _22"> </span><span class="fc6">&lt;algorithm&gt;<span class="_ _22"> </span>//<span class="_ _10"> </span>for<span class="_ _10"> </span>std::sort</span></div><div class="t m0 xc hf ycb ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc0">array[]<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>{<span class="fc5">7</span>,<span class="_ _10"> </span><span class="fc5">2</span>,<span class="_ _10"> </span><span class="fc5">5</span>,<span class="_ _10"> </span><span class="fc5">1</span>};</span></div><div class="t m0 xc hf ycc ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[](</span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">a,<span class="_ _10"> </span></span>int<span class="_ _10"> </span><span class="ffb fc0">b){<span class="_ _10"> </span></span></span>return<span class="_ _10"> </span><span class="ffb fc0">a<span class="_ _10"> </span><span class="fc5">&gt;<span class="_ _10"> </span></span>b;<span class="_ _10"> </span>};<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span><span class="ff18">named<span class="_ _10"> </span></span>lambda</span></span></div><div class="t m0 xc hf ycd ffb fs8 fc0 sc0 ls0 ws0">std<span class="fc5">::</span>sort(array,<span class="_ _10"> </span>array<span class="_ _10"> </span><span class="fc5">+<span class="_ _10"> </span>4</span>,<span class="_ _10"> </span>lambda);</div><div class="t m0 xc hf yce ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>array:<span class="_ _10"> </span>{<span class="_ _10"> </span>7,<span class="_ _10"> </span>5,<span class="_ _10"> </span>2,<span class="_ _10"> </span>1<span class="_ _10"> </span>}</div><div class="t m0 xc hf ycf ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>in<span class="_ _10"> </span>alternative,<span class="_ _10"> </span>in<span class="_ _10"> </span>one<span class="_ _10"> </span>line<span class="_ _10"> </span>of<span class="_ _10"> </span>code:<span class="_ _27"> </span>//<span class="_ _10"> </span><span class="ff18">unnamed<span class="_ _10"> </span></span>lambda</div><div class="t m0 xc hf yd0 ffb fs8 fc0 sc0 ls0 ws0">std<span class="fc5">::</span>sort(array,<span class="_ _10"> </span>array<span class="_ _10"> </span><span class="fc5">+<span class="_ _10"> </span>4</span>,<span class="_ _10"> </span>[](<span class="ff5 fc3">int<span class="_ _10"> </span></span>a,<span class="_ _10"> </span><span class="ff5 fc3">int<span class="_ _10"> </span></span>b){<span class="_ _10"> </span><span class="ff5 fc8">return<span class="_ _10"> </span></span>a<span class="_ _10"> </span><span class="fc5">&gt;<span class="_ _10"> </span></span>b;<span class="_ _10"> </span>});</div><div class="t m0 xc hf yd1 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>array:<span class="_ _10"> </span>{<span class="_ _10"> </span>7,<span class="_ _10"> </span>5,<span class="_ _10"> </span>2,<span class="_ _10"> </span>1<span class="_ _10"> </span>}</div><div class="t m0 xc hf yd2 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda2<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[]{<span class="_ _10"> </span></span>return<span class="_ _10"> </span><span class="ffb fc5">3<span class="fc0">;<span class="_ _10"> </span>};<span class="_ _1b"> </span><span class="ffc fc6">//<span class="_ _10"> </span><span class="ff18">no<span class="_ _10"> </span>parameters</span>,<span class="_ _10"> </span>C++23</span></span></span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">21/62</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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Capture<span class="_ _8"> </span>List</div><div class="t m0 x1 hc y84 ff4 fs7 fc0 sc0 ls0 ws0">Lamb<span class="_ _c"></span>da<span class="_ _a"> </span>expressions<span class="_ _a"> </span><span class="ff11">capture<span class="_ _8"> </span></span>external<span class="_ _a"> </span>variables<span class="_ _a"> </span>used<span class="_ _f"> </span>in<span class="_ _f"> </span>the<span class="_ _f"> </span>b<span class="_ _c"></span>ody<span class="_ _f"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>lamb<span class="_ _c"></span>da<span class="_ _f"> </span>in<span class="_ _f"> </span>t<span class="_ _5"></span>w<span class="_ _5"></span>o</div><div class="t m0 x1 hc yd3 ff4 fs7 fc0 sc0 ls0 ws0">w<span class="_ _5"></span>a<span class="_ _5"></span>ys:</div><div class="t m0 xb hc yd4 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Capture<span class="_ _f"> </span><span class="ff11">b<span class="_ _5"></span>y-value</span></span></div><div class="t m0 xb hc yd5 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Capture<span class="_ _f"> </span><span class="ff11">b<span class="_ _5"></span>y-reference<span class="_ _8"> </span><span class="ff4">(can<span class="_ _a"> </span>mo<span class="_ _c"></span>dify<span class="_ _a"> </span>external<span class="_ _f"> </span>variable<span class="_ _a"> </span>values)</span></span></span></div><div class="t m0 x1 hc yd6 ff1 fs7 fc0 sc0 ls0 ws0">Capture<span class="_ _6"> </span>list<span class="_ _f"> </span><span class="ff4">can<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _a"> </span>passed<span class="_ _f"> </span>as<span class="_ _f"> </span>follows</span></div><div class="t m0 xb hc yd7 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe fc4">[]<span class="_ _12"> </span></span><span class="ff4">no<span class="_ _f"> </span>capture</span></div><div class="t m0 xb hc yd8 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe fc4">[=]<span class="_ _12"> </span></span><span class="ff4">captures<span class="_ _f"> </span>all<span class="_ _f"> </span>va<span class="_ _5"></span>riables<span class="_ _f"> </span><span class="ff11">b<span class="_ _5"></span>y-value</span></span></div><div class="t m0 xb hc yd9 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe fc4">[&amp;]<span class="_ _12"> </span></span><span class="ff4">captures<span class="_ _f"> </span>all<span class="_ _f"> </span>va<span class="_ _5"></span>riables<span class="_ _f"> </span><span class="ff11">b<span class="_ _5"></span>y-reference</span></span></div><div class="t m0 xb hc yda fff fs7 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe fc4">[var1]<span class="_ _12"> </span></span><span class="ff4">captures<span class="_ _f"> </span>only<span class="_ _12"> </span><span class="ffe">var1<span class="_ _1e"> </span><span class="ff11">b<span class="_ _5"></span>y-value</span></span></span></div><div class="t m0 xb hc ydb fff fs7 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe fc4">[&amp;var2]<span class="_ _12"> </span></span><span class="ff4">captures<span class="_ _f"> </span>only<span class="_ _12"> </span><span class="ffe">var2<span class="_ _1e"> </span><span class="ff11">b<span class="_ _5"></span>y-reference</span></span></span></div><div class="t m0 xb hc ydc fff fs7 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe fc4">[var1,<span class="_ _13"> </span>&amp;var2]<span class="_ _12"> </span></span><span class="ff4">captures<span class="_ _12"> </span><span class="ffe">var1<span class="_ _1e"> </span><span class="ff11">b<span class="_ _5"></span>y-value<span class="_ _8"> </span><span class="ff4">and<span class="_ _22"> </span><span class="ffe">var2<span class="_ _1e"> </span></span></span>by-reference</span></span></span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">22/62</div></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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Capture<span class="_ _8"> </span>List<span class="_ _8"> </span>Examples</div><div class="t m0 xc hf ydd ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>GOAL:<span class="_ _10"> </span>find<span class="_ _10"> </span>the<span class="_ _10"> </span>first<span class="_ _10"> </span>element<span class="_ _10"> </span>greater<span class="_ _10"> </span>than<span class="_ _10"> </span>&quot;limit&quot;</div><div class="t m0 xc hf yde ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>include<span class="_ _22"> </span><span class="fc6">&lt;algorithm&gt;<span class="_ _22"> </span>//<span class="_ _10"> </span>for<span class="_ _10"> </span>std::find_if</span></div><div class="t m0 xc hf ydf ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc0">limit<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>...</span></div><div class="t m0 xc hf ye0 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda1<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[<span class="fc5">=</span>](</span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">value)<span class="_ _17"> </span>{<span class="_ _10"> </span></span></span>return<span class="_ _10"> </span><span class="ffb fc0">value<span class="_ _10"> </span><span class="fc5">&gt;<span class="_ _10"> </span></span>limit;<span class="_ _10"> </span>};<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>by-value</span></span></div><div class="t m0 xc hf ye1 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda2<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[<span class="fc5">&amp;</span>](</span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">value)<span class="_ _17"> </span>{<span class="_ _10"> </span></span></span>return<span class="_ _10"> </span><span class="ffb fc0">value<span class="_ _10"> </span><span class="fc5">&gt;<span class="_ _10"> </span></span>limit;<span class="_ _10"> </span>};<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>by-reference</span></span></div><div class="t m0 xc hf ye2 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda3<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[limit](</span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">value)<span class="_ _16"> </span>{<span class="_ _10"> </span></span></span>return<span class="_ _10"> </span><span class="ffb fc0">value<span class="_ _10"> </span><span class="fc5">&gt;<span class="_ _10"> </span></span>limit;<span class="_ _10"> </span>};<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>&quot;limit&quot;<span class="_ _10"> </span>by-value</span></span></div><div class="t m0 xc hf ye3 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda4<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[<span class="fc5">&amp;</span>limit](</span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">value)<span class="_ _10"> </span>{<span class="_ _10"> </span></span></span>return<span class="_ _10"> </span><span class="ffb fc0">value<span class="_ _10"> </span><span class="fc5">&gt;<span class="_ _10"> </span></span>limit;<span class="_ _10"> </span>};<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>&quot;limit&quot;<span class="_ _10"> </span>by-reference</span></span></div><div class="t m0 xc hf ye4 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>auto<span class="_ _10"> </span>lambda5<span class="_ _10"> </span>=<span class="_ _10"> </span>[](int<span class="_ _10"> </span>value)<span class="_ _18"> </span>{<span class="_ _10"> </span>return<span class="_ _10"> </span>value<span class="_ _10"> </span>&gt;<span class="_ _10"> </span>limit;<span class="_ _10"> </span>};<span class="_ _10"> </span>//<span class="_ _10"> </span>no<span class="_ _10"> </span>capture</div><div class="t m0 x15 hd ye5 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span><span class="ffd">compile<span class="_ _1d"> </span>error</span></div><div class="t m0 xc hf ye6 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc0">array[]<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>{<span class="fc5">7</span>,<span class="_ _10"> </span><span class="fc5">2</span>,<span class="_ _10"> </span><span class="fc5">5</span>,<span class="_ _10"> </span><span class="fc5">1</span>};</span></div><div class="t m0 xc hf ye7 ffb fs8 fc0 sc0 ls0 ws0">std<span class="fc5">::</span>find_if(array,<span class="_ _10"> </span>array<span class="_ _10"> </span><span class="fc5">+<span class="_ _10"> </span>4</span>,<span class="_ _10"> </span>lambda1);</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">23/62</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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Capture<span class="_ _8"> </span>List<span class="_ _8"> </span>-<span class="_ _8"> </span>Other<span class="_ _8"> </span>Cases</div><div class="t m0 xb hc ye8 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ff5">[=,<span class="_ _13"> </span>&amp;var1]<span class="_ _12"> </span><span class="ff4">captures<span class="_ _f"> </span>all<span class="_ _f"> </span>va<span class="_ _5"></span>riables<span class="_ _f"> </span>used<span class="_ _f"> </span>in<span class="_ _f"> </span>the<span class="_ _f"> </span>b<span class="_ _c"></span>ody<span class="_ _f"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>lamb<span class="_ _c"></span>da<span class="_ _a"> </span><span class="ff1">by-value</span>,</span></span></div><div class="t m0 x6 hc ye9 ff4 fs7 fc0 sc0 ls0 ws0">except<span class="_ _12"> </span><span class="ffe">var1<span class="_ _12"> </span></span>that<span class="_ _f"> </span>is<span class="_ _f"> </span>captured<span class="_ _f"> </span><span class="ff1">by-reference</span></div><div class="t m0 xb hc yea fff fs7 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ff5">[&amp;,<span class="_ _13"> </span>var1]<span class="_ _12"> </span><span class="ff4">captures<span class="_ _f"> </span>all<span class="_ _f"> </span>va<span class="_ _5"></span>riables<span class="_ _f"> </span>used<span class="_ _f"> </span>in<span class="_ _f"> </span>the<span class="_ _f"> </span>b<span class="_ _c"></span>ody<span class="_ _f"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>lamb<span class="_ _c"></span>da<span class="_ _a"> </span><span class="ff1">by-reference</span>,</span></span></div><div class="t m0 x6 hc yeb ff4 fs7 fc0 sc0 ls0 ws0">except<span class="_ _12"> </span><span class="ffe">var1<span class="_ _12"> </span></span>that<span class="_ _f"> </span>is<span class="_ _f"> </span>captured<span class="_ _f"> </span><span class="ff1">by-value</span></div><div class="t m0 xb hc yec fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">A<span class="_ _f"> </span>lamb<span class="_ _c"></span>da<span class="_ _a"> </span>expression<span class="_ _a"> </span>can<span class="_ _f"> </span>read<span class="_ _f"> </span>a<span class="_ _f"> </span>va<span class="_ _5"></span>riable<span class="_ _f"> </span>without<span class="_ _f"> </span>capturing<span class="_ _f"> </span>it<span class="_ _f"> </span>if<span class="_ _f"> </span>the<span class="_ _a"> </span>variable<span class="_ _a"> </span>is</span></div><div class="t m0 x16 he yed ffe fs7 fc0 sc0 ls0 ws0">constexpr</div><div class="t m0 xc hf yee ff5 fs8 fc8 sc0 ls0 ws0">constexpr<span class="_ _10"> </span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">limit<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span>5</span>;</span></span></div><div class="t m0 xc hf yef ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc0">var1<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span>3</span>,<span class="_ _10"> </span>var2<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span>4</span>;</span></div><div class="t m0 xc hf yf0 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda1<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[](</span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">value){<span class="_ _10"> </span></span></span>return<span class="_ _10"> </span><span class="ffb fc0">value<span class="_ _10"> </span><span class="fc5">&gt;<span class="_ _10"> </span></span>limit;<span class="_ _10"> </span>};</span></div><div class="t m0 xc hf yf1 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda2<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[<span class="fc5">=</span>,<span class="_ _10"> </span><span class="fc5">&amp;</span>var2]()<span class="_ _10"> </span>{<span class="_ _10"> </span></span>return<span class="_ _10"> </span><span class="ffb fc0">var1<span class="_ _10"> </span><span class="fc5">&gt;<span class="_ _10"> </span></span>var2;<span class="_ _1f"> </span>};</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">24/62</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,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Lamb<span class="_ _c"></span>da<span class="_ _8"> </span>Exp<span class="_ _5"></span>ression<span class="_ _8"> </span>and<span class="_ _8"> </span>F<span class="_ _5"></span>unction<span class="_ _8"> </span>Relation</div><div class="t m0 x1 hc yf2 ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="ff11">lamb<span class="_ _c"></span>da<span class="_ _a"> </span>expression<span class="_ _a"> </span></span>can<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _f"> </span>converted<span class="_ _f"> </span>to<span class="_ _f"> </span>a<span class="_ _f"> </span>function<span class="_ _a"> </span>(<span class="ff11">stateless<span class="_ _28"></span></span>)<span class="_ _f"> </span>if<span class="_ _a"> </span>its<span class="_ _f"> </span>capture<span class="_ _f"> </span>list<span class="_ _f"> </span>is</div><div class="t m0 x1 hc yf3 ff4 fs7 fc0 sc0 ls0 ws0">empt<span class="_ _5"></span>y</div><div class="t m0 xc hf yf4 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span><span class="ff18">lambda<span class="_ _a"> </span>func<span class="_ _10"> </span></span>is<span class="_ _10"> </span>equivalent<span class="_ _10"> </span>to</div><div class="t m0 xc hf yf5 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>int<span class="_ _10"> </span><span class="ff18">lambda<span class="_ _a"> </span>func</span>(int<span class="_ _10"> </span>first,<span class="_ _10"> </span>int<span class="_ _10"> </span>second){<span class="_ _10"> </span>return<span class="_ _10"> </span>first<span class="_ _10"> </span>+<span class="_ _10"> </span>second;<span class="_ _10"> </span>};</div><div class="t m0 xc hf yf6 ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">(lambda_func)(</span>int<span class="ffb fc0">,<span class="_ _10"> </span></span>int<span class="ffb fc0">))<span class="_ _10"> </span>{</span></div><div class="t m0 x6 hf yf7 ffb fs8 fc0 sc0 ls0 ws0">cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>lambda_func(<span class="fc5">2</span>,<span class="_ _10"> </span><span class="fc5">3</span>);</div><div class="t m0 xc hf yf8 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xc hf yf9 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[](</span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">first,<span class="_ _10"> </span></span>int<span class="_ _10"> </span><span class="ffb fc0">second){<span class="_ _10"> </span></span></span>return<span class="_ _10"> </span><span class="ffb fc0">first<span class="_ _10"> </span><span class="fc5">+<span class="_ _10"> </span></span>second;<span class="_ _10"> </span>};</span></div><div class="t m0 xc hf yfa ffb fs8 fc0 sc0 ls0 ws0">f(lambda);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span>5</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">25/62</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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">P<span class="_ _5"></span>a<span class="_ _5"></span>rameter<span class="_ _8"> </span>Notes</div><div class="t m0 x1 hc yfb ff4 fs7 fcb sc0 ls0 ws0">C++14<span class="_ _f"> </span><span class="fc0">Lamb<span class="_ _c"></span>da<span class="_ _a"> </span>expression<span class="_ _a"> </span>pa<span class="_ _5"></span>rameters<span class="_ _f"> </span>can<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _a"> </span>automatically<span class="_ _f"> </span>deduced</span></div><div class="t m0 xc hc yfc ffe fs7 fc0 sc0 ls0 ws0">auto<span class="_ _13"> </span>x<span class="_ _13"> </span>=<span class="_ _13"> </span>[](<span class="fc4">auto<span class="_ _13"> </span></span>value)<span class="_ _13"> </span><span class="ff17">{<span class="_ _13"> </span></span>return<span class="_ _13"> </span>value<span class="_ _13"> </span>+<span class="_ _13"> </span>4;<span class="_ _13"> </span><span class="ff17">}</span>;</div><div class="t m0 x1 hc yfd ff4 fs7 fcb sc0 ls0 ws0">C++14<span class="_ _f"> </span><span class="fc0">Lamb<span class="_ _c"></span>da<span class="_ _a"> </span>expression<span class="_ _a"> </span>pa<span class="_ _5"></span>rameters<span class="_ _f"> </span>can<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _a"> </span>initialized</span></div><div class="t m0 xc hc yfe ffe fs7 fc0 sc0 ls0 ws0">auto<span class="_ _13"> </span>x<span class="_ _13"> </span>=<span class="_ _13"> </span>[](int<span class="_ _13"> </span>i<span class="_ _13"> </span>=<span class="_ _13"> </span>6)<span class="_ _13"> </span><span class="ff17">{<span class="_ _13"> </span></span>return<span class="_ _13"> </span>i<span class="_ _13"> </span>+<span class="_ _13"> </span>4;<span class="_ _13"> </span><span class="ff17">}</span>;</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">26/62</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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Comp<span class="_ _c"></span>osabilit<span class="_ _5"></span>y<span class="_ _29"> </span>1/2</div><div class="t m0 x1 hc y84 ff1 fs7 fc0 sc0 ls0 ws0">Lamb<span class="_ _c"></span>da<span class="_ _f"> </span>expressions<span class="_ _f"> </span>can<span class="_ _8"> </span>be<span class="_ _8"> </span>composed</div><div class="t m0 xc hf y85 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda1<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[](</span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">value){<span class="_ _10"> </span></span></span>return<span class="_ _10"> </span><span class="ffb fc0">value<span class="_ _10"> </span><span class="fc5">+<span class="_ _10"> </span>4</span>;<span class="_ _10"> </span>};</span></div><div class="t m0 xc hf yff ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda2<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[](</span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">value){<span class="_ _10"> </span></span></span>return<span class="_ _10"> </span><span class="ffb fc0">value<span class="_ _10"> </span><span class="fc5">*<span class="_ _10"> </span>2</span>;<span class="_ _10"> </span>};</span></div><div class="t m0 xc hf y100 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda3<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[<span class="fc5">&amp;</span>](</span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">value){<span class="_ _10"> </span></span></span>return<span class="_ _10"> </span><span class="ffb fc0">lambda2(lambda1(value));<span class="_ _10"> </span>};</span></div><div class="t m0 xc hf y87 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>returns<span class="_ _10"> </span>(value<span class="_ _10"> </span>+<span class="_ _10"> </span>4)<span class="_ _10"> </span>*<span class="_ _10"> </span>2</div><div class="t m0 x1 hc y101 ff1 fs7 fc0 sc0 ls0 ws0">A<span class="_ _6"> </span>function<span class="_ _6"> </span>can<span class="_ _8"> </span>return<span class="_ _f"> </span>a<span class="_ _6"> </span>lamb<span class="_ _c"></span>da</div><div class="t m0 x1 hc y102 ff4 fs7 fc0 sc0 ls0 ws0">(dynamic<span class="_ _f"> </span>dispatch<span class="_ _a"> </span>is<span class="_ _f"> </span>also<span class="_ _f"> </span>p<span class="_ _c"></span>ossible<span class="_ _f"> </span>if<span class="_ _f"> </span>the<span class="_ _f"> </span>capture<span class="_ _f"> </span>list<span class="_ _f"> </span>is<span class="_ _a"> </span>empty)</div><div class="t m0 xc hf y103 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">f()<span class="_ _10"> </span>{</span></div><div class="t m0 x6 hf y104 ff5 fs8 fc8 sc0 ls0 ws0">return<span class="_ _10"> </span><span class="ffb fc0">[](</span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">value){<span class="_ _10"> </span></span></span>return<span class="_ _10"> </span><span class="ffb fc0">value<span class="_ _10"> </span><span class="fc5">+<span class="_ _10"> </span>4</span>;<span class="_ _10"> </span>};</span></div><div class="t m0 xc hf y105 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xc hf y106 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>f();</span></div><div class="t m0 xc hf y107 ffb fs8 fc0 sc0 ls0 ws0">cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>lambda(<span class="fc5">2</span>);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span>&quot;6&quot;</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">27/62</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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAUdklEQVR42u3Y8X8I9L7H8c1ms9kYY4wxREQppUQp5XA4lFJKKaWUUkrp1KlTt05OSonD4XCIQxZZlmVZlmWMMcYYY4wxxhjLMpa1Ze5v9w+495fOuc/nX/B9vL+/vB6fwKt63RYAAAC/GYezN9ezAgAAvzUiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQCA/xFYU1NjBQAAfjvq16/vkgoAwG+OSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAOA/XvC/0VsvXLjgwwAA/nciIyP/jV7rkgoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEg1AQAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAA/p8LrKmpsQIAAL8d9evXd0kFAOA3R6QCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSTQAAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAAD+T4LPf9jeCsB/gLMDPjMCwH+Ga3oPCvpsw8X3N1R+sqEyfMOFof3WhE9+ddgda8OmTBzed13o1JdH3LY+ZNqEkX02Bs94cdStm4NmjR/da2vgnOfH3Lw9YN64sT131i14dtyNuy8vGju+x97aJU9PuH5/TcKYid0PVi9/ctK1hy8ljn6929GqpMffvOb4xeRRb3c5WZny6LtXnz6fOvL9Tmcr0h7+4Kpz59JHfNThfHnGg5+0u3g2c/j0+EtlWffPbFNzOnvY7LjLpTn3zm0VcDJ36PzYoJK8IQtbhBzPH7w4Jqy4YNDSZhFHCwcui25cVDRgRZOmh4v7r4xqXlhy96pGLQ+W9lsd2bqg7M41DdvuL++7Nrx9fsXt6xp03FvZZ31o57yq3hvrd91d3Wtz8HW5tbdsrXfDzrqe2wNvygm8aeeVW7YH99hd1zs79Ia9v96+Nbz7/to7syKvO/jL3Zujuh2uHpAZ3fXoz4M2xnQ5XjUkI7bzyQv3ro/rdLry/vT4jmd/enBdhw7nKh5O69T+/I+Pru0Sf7H88dRubS+deXJN97iasqdTerS+fOrZ1T1jA0qfT+7VMujEi6v6xISUvJzUt3nYsVdX9ouOKP5jYv+mjY/8acXAqKZFf14+uHHzQ/+1bGhky8K/JAyLaH3gr0uHh7ct+HDJiLD2+z5ePDK0Y/6ni0aFdN7zt4Wjg7vm/X3BmKDrdv1j/tjAG3L/OW9cwE07Pps7vu6WnH/NmXC597bPZ0+svT37i1mTau7c8uXM16vvzvpqxpuXBmz6evrbVYMyv5n27sUhG7+N+Muke/qlhv/11fvuSAv7cOIDfdNDP375odsyQj6d8EifzOC/vfjYrVlBfx//RK/swH88/9TNOQH/HPdMz9y6z5597sa8y/8a+0KP/NrPn37p+oKaL8a80r2w+ssnX7u26NJXo9/oVlz19eNvXVNy8ZtR73Qprfz20feuLjv/3cjJncorvn94ylUV534YMbVDZfmGB6e1qzq7afiM+OqyLffPalN7etuwOXF1pTvundcq8OSuoQtig0v2DFnUIvT4vsFLYsKLDwxKaBZ59NDA5dFRRUcGJDaJPnysf1JUTOGJu5MbxR481S8lMq7gzJ2pDeP3/9g3LbxD/k+3pzfotPdCn4zQLnk/986s3233L72ygrvn/npLdr0eO6/0zAnsmVPvptwrvbbX75FX1ye7wQ35v/bd2rB7QW2/rEbXFf7Sf3OTbkXVAzObdS3+efDGFl1KqoZmtOpcemHY+jadyiqHp7frWP7TiHVXdaioGJl2dfvKH0etvSa+qnx06rVtq8+MWXN9XG3Z2JQbW9edGrf65tjA0vHJt7YMPjFh1W0xoSUTk+5oHn5s0sq7oiOLX0/8XdOoI2+u+H1UdNHby//QOObQu8vuiYwtfD/hvoi4Ax8sfSA8vuCjJQ+Fddj3yeJHQjvlT1/0WEiXPTMXPhHcLW/2gqeCuu+aO/+ZwB658+c9F9Bzx8K5L9T1ylk856XLfbYtnf1Kbd/sZbNeq+m3ZcXMN6r7Z62c8dalgZtWTX+nanDm6k/f++PQu9ZETJ40rN/a8CmvDr9jXdjUiSP6rg+d9vLI2zaGzJgwqs/m4Fkvjr51a9Cc8WN6bQ+c9/zYm3cGLBg3rufuukXPjr9x7+UlYyf02F+b8PTE6w/WLB8zqfvh6sQnX7/26KWk0W92O16V/Pjb15y8mDLq3S6nK1Mfff/qs+fTRn7Q6VxF+sMfXXX+XMaITzpcLM98cHq7S2ezhs+MrynLvn92m8unc4bNjQsozb13fqugk3lDF8aGlOQPWdwi7HjB4KUxEcWFg5Y1a3y0aOCK6KZFxQNSK7aWbqhK+3H7yU0X08t3lmypzDiz+/i285lle4t3VGSd2n9017ns0oNFe8pzThw+vO9sbsnRwgNleceOHzx0Or/4ZMGR0oIjp/cfO1lYdDb/REnRoXN7Tx0vLjyfd6a45MDF3T8eLS24lPtTUdm+mp0XDpfnX875ubBiT8D2Xw5W5gVl/1pQtStk65X91blhWfXya3dEbK6/ty6ncWaDvMBtTTc23B2c3TyjUW7olpbrm+wMz2qd3iwnclPbdS22R2W2T2uVHb2h49o2W2MyOqe2y4r9oeuaqzbHpV+XcnVm/Pc3rL5mY4e0m5Kvzej03S2rrl/fJbV30o3p3b69feXN67qn3Jl4a1qPb+5ecdvanskDlt+R2uvrQcvuWtMnaUjC71L6fnXv0t+v7pd4/5I/JPf/8sHF96wauPzhRfclDf7i0YUPrBya8PiChxKHff7k/EdWDF/y9LzHvhzR7pmWT3QeGf9czFOdRrV5ofkzHUfHvRT9XIcxrV5p+kL7sbGvRb0UP67FG41faTs+5q3I1+ImNHsn4o3WE6PfC38rdlKTyWHvtHw9akroezFvNpoaMrn525HTgqdEv9twRtDUpu+HzwqcFvVBgzkBMxp/FDqvblbkJ/UXXJ4TMT14Ue288Jn1ltQsCJsdmFC9KHTuleWXloTMr0usSghe+GvSxeVBi2uTKxMDl/6Scj4pYFl1akVy3Yqf086lXF5ZlV6eWrvqQsbZtJrVlZll6dVrfso6nXFpbUV2aWbVuh9zTmZdXF+eW5JdufFM3vGc85vL8otzK7aeKjiad257aWFRfvnOE0WHC87uLikuLCzbe6zkYNHp/cWlBcWlB4+U7S85ebioPL+05Oihir1lx48XVuaVF588ULW74ujpgurcyqKz+2p3Vh0+l1+XU114fk/g9tqDF/OCs+sKLu0K3Rq4vyY3PCs4//KOyM2hewNyojLD84K2RW+M3B2SHZMRlRu2JXZ99M6IrLj0mJzGm+LXxW5vmtkhLS67+YZOa+O3tszoktohq/UP3dZ02tw2vXtKl8z23/dY3W1jx7Seyd0zOn/Xa1WP9V1T+yT1TL/u274re627IaVfYp+0m77pv6Lv2luSBy7vl9r768HL+q+5PWlowsCUO78atnTw6rsThy8ZmjzgyxGLh60atHzkouFJQ74YtXDEynsTRi8YmXj/52Pmj1rx4OdjYx/v8lC7cS2f7PxI/PiYpzs91mZC82c7PhE3Mfr5Dk+1mtT0xfbPxL4e9XL8cy3ebPxq2xdi3o78Y9xLzd6N+FPrV6LfD/9z7GtNPgj7r5ZvRH0U+peYtxp9EvLX5u9ETg/+MPq9hjODPm46OXx24KdRUxrMDfhb46mh8+v+Hjmt/sLL/4iYEby49p/hs+otrfksbE7gsup/hc67suLS5yEL6lZWfRG86NdVF78MWlK7uvKrwIRf1pz/OmB59dqKb+oSf1537tvLSVXry7+rTb6w8ez3NSmVm8t+qE79aevpDZfSKraXbqpK/3HnyS0XM8p3l2yrzDyz9/iO81ll+4t3VWSfOnh0z7mc0sNF+8pzTxw9fOBsXsnxwkNl+cdOHjxyuqD4dMGx0sIjZ/efOFlUdC7/VEnxofN7zxwvKbyY92Nx6YFLu386WlZQk3uhqHzf5Z0/H67ID8j5pbByT9D2Xw9W5YVkXymo3hW2td7+2tyIrPr5dTsab26wNzCnaWbDvOBtzTc22h2a3TKjSW74ltbrm+2MzGqb3iInalP7da22R2d2TGuTHbOh89p2W2MzuqZelRX3w3Vrrt4cn35DyjWZHb6/afW1Gzul3ZJ8fUaX73qvunF9t9Tbk25O7/7tnStvXdcj5e7E29J6fjNgxR1reyUPWn5Xap+vhyz73Zq+Sfcm/D6l31f3L/3D6v6JDy65J3nglw8vvm/V4OWPLnogaegXjy98aOWwhCcXPJI4/POnFzzWdUSHZ2Kf6DKy3XMtn+o8Kv6FmGc6jW7zUvPnOo6JeyX6hQ5jW73W9KX242LfiHolfnyLtxq/1nZCzDuRb8RNbPZexFutJ0VPDn8n9vUmU8Lea/lm1NTQyTFvN5oWMqX5u5EzgqdGv99wVtC0ph+EzwmcEfVRg3kBsxp/Erqgbk7k9PqLLs+LmBm8pHZB+Ox6CTWLwuYGLq9eEjr/SuKlhJCFdUnHPi7+b8G3r8zo/wJjAAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Comp<span class="_ _c"></span>osabilit<span class="_ _5"></span>y<span class="_ _29"> </span>2/2</div><div class="t m0 x1 hc y108 ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span>lamb<span class="_ _c"></span>da<span class="_ _a"> </span>expression<span class="_ _a"> </span>can<span class="_ _f"> </span>contain<span class="_ _f"> </span>another<span class="_ _f"> </span>lamb<span class="_ _c"></span>da<span class="_ _a"> </span>expression</div><div class="t m0 xc hf y109 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda1<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[](</span>auto<span class="_ _10"> </span><span class="ffb fc0">value)<span class="_ _10"> </span>{</span></div><div class="t m0 x6 hf y10a ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _16"> </span><span class="ffb fc0">x<span class="_ _15"> </span><span class="fc5">=<span class="_ _10"> </span>5</span>;</span></div><div class="t m0 x6 hf y10b ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda2<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[<span class="fc5">=</span>](</span>auto<span class="_ _10"> </span><span class="ffb fc0">v)<span class="_ _10"> </span>{<span class="_ _10"> </span></span>return<span class="_ _10"> </span><span class="ffb fc0">x<span class="_ _10"> </span><span class="fc5">*<span class="_ _10"> </span></span>value<span class="_ _10"> </span><span class="fc5">+<span class="_ _10"> </span></span>v;<span class="_ _10"> </span>};</span></div><div class="t m0 x6 hf y10c ff5 fs8 fc8 sc0 ls0 ws0">return<span class="_ _10"> </span><span class="ffb fc0">lambda2(<span class="fc5">3</span>);</span></div><div class="t m0 xc hf y10d ffb fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 xc hf y10e ffb fs8 fc0 sc0 ls0 ws0">cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>lambda1(<span class="fc5">2</span>);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span>&quot;13&quot;</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">28/62</div></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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Recursion</div><div class="t m0 x17 h13 y10f ff14 fs5 fc1 sc0 ls0 ws0"></div><div class="t m0 x1 hc y110 ff4 fs7 fc0 sc0 ls0 ws0">Lamb<span class="_ _c"></span>da<span class="_ _a"> </span>expressions<span class="_ _a"> </span>can<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _a"> </span>called<span class="_ _f"> </span>recursively</div><div class="t m0 xc hf y111 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">factorial<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[](</span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">n,<span class="_ _10"> </span></span></span>auto<span class="_ _10"> </span><span class="ffb fc0">fac)<span class="_ _10"> </span>{</span></div><div class="t m0 x6 hf y112 ff5 fs8 fc8 sc0 ls0 ws0">return<span class="_ _10"> </span><span class="ffb fc0">(n<span class="_ _10"> </span><span class="fc5">&lt;=<span class="_ _10"> </span>1</span>)<span class="_ _10"> </span><span class="fc5">?<span class="_ _10"> </span>1<span class="_ _10"> </span>:<span class="_ _10"> </span></span>n<span class="_ _10"> </span><span class="fc5">*<span class="_ _10"> </span></span>fac(n<span class="_ _10"> </span><span class="fc5">-<span class="_ _10"> </span>1</span>,<span class="_ _10"> </span>fac);</span></div><div class="t m0 xc hf y113 ffb fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 xc hf y114 ffb fs8 fc0 sc0 ls0 ws0">factorial(<span class="fc5">5</span>,<span class="_ _10"> </span>factorial);</div><div class="t m0 x1 hc y115 ff4 fs7 fcb sc0 ls0 ws0">C++23<span class="_ _f"> </span><span class="fc0">allo<span class="_ _5"></span>ws<span class="_ _f"> </span>to<span class="_ _a"> </span>access<span class="_ _f"> </span>the<span class="_ _1e"> </span><span class="ffe">this<span class="_ _12"> </span></span>p<span class="_ _c"></span>ointer<span class="_ _f"> </span>of<span class="_ _f"> </span>a<span class="_ _a"> </span>lamb<span class="_ _c"></span>da<span class="_ _f"> </span>object<span class="_ _f"> </span>with<span class="_ _f"> </span>the<span class="_ _f"> </span>syntax</span></div><div class="t m0 xc hc y116 ffe fs7 fc0 sc0 ls0 ws0">this<span class="_ _13"> </span>auto<span class="_ _12"> </span><span class="ff4">as<span class="_ _f"> </span>first<span class="_ _f"> </span>parameter</span></div><div class="t m0 xc hf y117 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">factorial<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[](</span>this<span class="_ _10"> </span>auto<span class="_ _10"> </span><span class="ffb fc0">self,<span class="_ _10"> </span></span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">n)<span class="_ _10"> </span><span class="fc5">-&gt;<span class="_ _10"> </span></span></span>int<span class="_ _10"> </span><span class="ffb fc0">{<span class="_ _16"> </span><span class="ffc fc6">//<span class="_ _10"> </span>or<span class="_ _10"> </span><span class="ff19">&apos;</span>this<span class="_ _10"> </span>auto<span class="ff18">&amp;&amp;<span class="ff19">&apos;</span></span></span></span></span></div><div class="t m0 x6 hf y118 ff5 fs8 fc8 sc0 ls0 ws0">return<span class="_ _10"> </span><span class="ffb fc0">(n<span class="_ _10"> </span><span class="fc5">&lt;=<span class="_ _10"> </span>1</span>)<span class="_ _10"> </span><span class="fc5">?<span class="_ _10"> </span>1<span class="_ _10"> </span>:<span class="_ _10"> </span></span>n<span class="_ _10"> </span><span class="fc5">*<span class="_ _10"> </span></span>self(n<span class="_ _10"> </span><span class="fc5">-<span class="_ _10"> </span>1</span>);</span></div><div class="t m0 xc hf y119 ffb fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 xc hf y11a ffb fs8 fc0 sc0 ls0 ws0">factiorial(<span class="fc5">5</span>);</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">29/62</div></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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAUuElEQVR42u3Y/3sI9N7H8c2+2RhjjDHGIiIiIiLicDiUclJKKaWUUkqnTp266+SklDgcDoc4RGRZlmVZlrEsy7Isy7Isy7Isy7JZ1mZz/3Jf92/3D/d9Xee+dd2Px1/wuV6fX57XO/CSgdcEAADAReNo9t5GVgAA4GIjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAA+E+BtbW1VgAA4OIREhLikgoAwEVHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAA/y3BJgAuclVVVUb4V4iMjDQCcNFySQUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAAL9ugbW1tVYAAODiERIS4pIKAMBFR6QCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAOBiF2wC4CJXVVVlhH+FyMhIIwAXLZdUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAAPB/K7C2ttYKAABcPEJCQlxSAQC46IhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEA+H8m+Ff01qqqKh8GAPA/ExkZ+St6rUsqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAi1QQAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCp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"/><div class="t m0 x4 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">constexpr<span class="ff1">/</span>consteval<span class="_ _8"> </span><span class="ff1">Lamb<span class="_ _c"></span>da<span class="_ _8"> </span>Exp<span class="_ _5"></span>ression</span></div><div class="t m0 x1 hc y98 ff4 fs7 fcb sc0 ls0 ws0">C++17<span class="_ _f"> </span><span class="fc0">Lamb<span class="_ _c"></span>da<span class="_ _a"> </span>expressions<span class="_ _a"> </span>supp<span class="_ _c"></span>o<span class="_ _5"></span>rt<span class="_ _12"> </span><span class="ffe">constexpr</span></span></div><div class="t m0 x1 hc y11b ff4 fs7 fcb sc0 ls0 ws0">C++20<span class="_ _f"> </span><span class="fc0">Lamb<span class="_ _c"></span>da<span class="_ _a"> </span>expressions<span class="_ _a"> </span>supp<span class="_ _c"></span>o<span class="_ _5"></span>rt<span class="_ _12"> </span><span class="ffe">consteval</span></span></div><div class="t m0 xc hf y11c ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>constexpr<span class="_ _10"> </span>lambda</div><div class="t m0 xc hf y11d ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">factorial<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[](</span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">value)<span class="_ _10"> </span></span></span>constexpr<span class="_ _10"> </span><span class="ffb fc0">{</span></div><div class="t m0 x6 hf y11e ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc0">ret<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span>1</span>;</span></div><div class="t m0 x6 hf y11f ff5 fs8 fc8 sc0 ls0 ws0">for<span class="_ _10"> </span><span class="ffb fc0">(</span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">i<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span>2</span>;<span class="_ _10"> </span>i<span class="_ _10"> </span><span class="fc5">&lt;=<span class="_ _10"> </span></span>value;<span class="_ _10"> </span>i<span class="fc5">++</span>)</span></span></div><div class="t m0 x14 hf y120 ffb fs8 fc0 sc0 ls0 ws0">ret<span class="_ _10"> </span><span class="fc5">*=<span class="_ _10"> </span></span>i;</div><div class="t m0 x6 hf y121 ff5 fs8 fc8 sc0 ls0 ws0">return<span class="_ _10"> </span><span class="ffb fc0">ret;</span></div><div class="t m0 xc hf y122 ffb fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 xc hf y123 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">mul<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[](</span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">v)<span class="_ _10"> </span></span></span>consteval<span class="_ _10"> </span><span class="ffb fc0">{<span class="_ _10"> </span></span>return<span class="_ _10"> </span><span class="ffb fc0">v<span class="_ _10"> </span><span class="fc5">*<span class="_ _10"> </span>2</span>;<span class="_ _10"> </span>};</span></div><div class="t m0 xc hf y124 ff5 fs8 fc8 sc0 ls0 ws0">constexpr<span class="_ _10"> </span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">v1<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>factorial(<span class="fc5">4</span>)<span class="_ _10"> </span><span class="fc5">+<span class="_ _10"> </span></span>mul(<span class="fc5">5</span>);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span><span class="ff19">&apos;</span>24<span class="ff19">&apos;<span class="_ _10"> </span></span>+<span class="_ _10"> </span><span class="ff19">&apos;</span>10<span class="ff19">&apos;</span></span></span></span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">30/62</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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAUw0lEQVR42u3b/3vI9cLH8c2+2RhjjDHGIiIiIiLicDhEHEoppZRSSunUqVN3nZyUEofD4RCHiCzLsizLMpZlWZZlWZZlWZZlWTbL2jL3b/cfcM65rlvXeTz+gvf1ev/yvN6f6xN4Wf/rAgAA4JJxLHtfAysAAHCpEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAPyfwNraWisAAHDpCAkJ8ZIKAMAlR6QCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAMB/iWATAJe4qqoqI/wLIiMjXaJLhF8vL6kAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgDAf1RgbW2tFQAAuHSEhIR4SQUA4JIjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUA4Fcm+Fd01qqqKhcGAPCviYyM/BWd1ksqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAi1QQAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBALjEBZsA/l/U1NVNWbrUDpeI5LlzjQBwSQmsra39tZy1qqrKhQEA/GsiIyN/LUcNCQnxuR8AgEuOSAUAQKQCAIBIBQBApAIAwL/r1/R3PwAA/w383Q8AwKVIpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFJNAACASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQCA/3LBZ1/qaAWA/4jTI143AsC/74oBo4Je33PuhT2Vr+6pjNhTNXbojoh5j42/fmf4/DkTB+8KW/DI5Ot2hy6cPWXg3uDFD029dl/Q0lnT+u8PXP7A9GsOBKycOaPvwfrV9828+tCFtTNm9T5ct/6e2Vcdqd04fU7PozWb75p75bHzidOe6H68OumOp644cS556jNdT1am3Pbc5afOpk55ofPpirRbXrzszJn0yS8nnC3PmPRqh3OnMycuij9fljVhSbvaU9njl8VdKM0Zt6JNwMncsatig0ryxqxpFXoif/S6mPDiglEbWjQ+XjhyU3TToqIRW5o1P1Y8fGtUy8KSYduatD5aOnR7ZNuCsiE7GrU/Uj54Z0TH/IpBuxp2Olw5cHdYl7zqAXtDuh2q6b8vuEduXb/9DXodrO97ILBPTmCfgxf7HQjufah+QHZYr8O/DNof0fNI3ZCsyB5Hfx62L6r7sZoRmdHdjv80am9M1xPVYzJiu5ysGrc7rvOpygnp8Z1O/zhpV0LCmYpb0jp3PPvDbTu7xp8rvyO1e/vz39+1o2dcbdk9Kb3bXvjuvu19YwNKH0ju3zro24e2DYwJLXkkaXDL8G8e2zo0unHxHxKHN2/69R+3jIxqXvSnzaObtvzqfzaNjWxd+OeN4xu3/fIvGyZGtC94af3k8I5fvLJuSlin/NfWTg3t8vlf10wL7pb3t9XTg3p89vdVMwJ75f5j5cyAPp++vmJWfb+cfy6ffWHAJ28sm1M3KPvNpXNrh3z81pInaoZlvb34qfMjPnpn0TPVozLfXfjcuTF732v857k3Dk2N+MtjN12fFv7SnN8PTg975ZGbr8sIfW32rQMzg//60O3XZgX9bdad/bMD//7A3dfkBPxj5r19c+tfv+/+q/Mu/HPGg73z69645+GrCmrfnP5oz8Kat+56/Mqi829Pe7J7cfU7dzx9Rcm5d6c+27W08r3bnr+87Oz7U+Z1Lq/44Jb5l1Wc+XDygoTK8j2TFnaoPv3RxMXxNWUfT1jaru7UJ+OXx9WXfjpuZZvAk5+NXR0bXPL5mLWtwk58MXp9TETxl6M2tog8/tXIzdFRRV+PSGwWfeyb4UlRMYXfDktuEnv0u6EpkXEF3w9JbRR/5IfBaREJ+T8OSm/Y+XDVwIywrnk/DcgM6X7o5/5ZwT1zf+mX3aD3wYt9cwL75jTok3ux/4GQ3nn1A7Mb9sr/ZfD+Rj0L6oZmNelR+PPwfc26F9WMzGzRrfin0XtbdS2pHpvRpktp1fjd7TqXVU5M79Cp/MfJuy5LqKiYknZ5x8ofpu68Ir66fFrqle1rvp++46q4urIZKVe3rf9u5vZrYgNLZyVf2zr429nbrosJK5mTdH3LiG/mbr0hOrL4icTfNI/6+qktv42KLnpm8++axnz13KYbI2MLX9h4U+O4L1/c8PuI+IKX198cnvDFq+tuDeucv2jt7aFdP1+y5s7g7nnLVt8d1POzFavuDeydu2rl/QF9P12z4sH6/jnrlj98YeAnG5Y9Wjc4e9PSx2uHfrxlyZM1w7O2Ln76/MiPti16tnp05vbXnv/D2Bt2NJ43d/zQnRHzH5t4/a7wBXMmD94dtvCRKdftDV08e+rAfcFLH5p27f6g5bOm9z8QuPKBGdccDFg9c2bfQ/Vr75t19eEL62fM7n2kbuM9c646Wrt5+tyex2oS73riyuPnk6Y91f1EdfIdz1xx8lzK1Oe6nqpMve2Fy0+fTZvyYuczFem3vHzZ2TMZk19NOFeeOWlRh/OnsyYuia8ty56wrN2FUznjV8QFlOaOW9Um6GTe2DWxoSX5Y9a1Cj9RMHpDTOPiwlGbWjQ9XjRyS3TzouIRW5u1PFYyfFtU68LSYdubtD1aNnRHZPuC8iE7G3U8UjF4V0Sn/MpBuxt2OVw9cG9Yt7yaAftCehyq678/uFdufb8DDfocDOx7MLBfTnCfQxcHHAjrfbh+UHZEryO/DNkf2fNo3bCsqB7Hfh6xL7r78ZpRmTHdTvw0Zm9s15PV4zLiupyqmrA7vvPpyknpCZ1qcsOzGuTXfdp4X8jh+pymmQ3zAj9pvrfRoeDslhlNcsM+br272cGIrLbpLXIiP2q/q9WBqMyOaW2yo/d02tluf0xGl9QOWbEfdttx2b649B4pl2fGf9Br+xV7E9L6JF+Z0fn9ftuu2t01dUDS1end3xu09ZpdPVOGJF6b1vvdYVuu29k3ecTm61P7vzNq0w07BiaN2fiblMFvj9vw2+1DEyes/13y8Lcmrbtx28jNt6y9KWn0m7et+f3WsRvvWH1z4vg37lp165aJ6+9Zeftbkzvc2/rOLlPi74+5u/PUdg+2vLfTtLiHo+9PmN7m0eYPdpwR+3jUw/EzWz3Z9NH2s2Kejnw8bnaLZxs/2XZO9PMRT8fObTYv/NnWT0TND3s+5qkmC0LntXwmcmHw/OjnGi0OWtD8hYilgQujXmy4PGBx05fDVtYvjXw1ZPWF5Y0XBa+tWxmxpMH62tXhywI31qwNW3Fx8/n1oavqE6s3Bq/5Jenc5qB1dcmViYEbfk45mxSwqSa1Irl+y09pZ1IubK1OL0+t21aVcTqtdntlZll6zY4fs05lnN9ZkV2aWb3rh5yTWed2l+eWZFfu/T7vRM7ZfWX5xbkV+78rOJ535kBpYVF++cFvi44VnD5UUlxYWHb4m5KjRaeOFJcWFJce/brsSMnJY0Xl+aUlx7+qOFx24kRhZV558ckvqw9VHD9VUJNbWXT6i7qD1cfO5Nfn1BSe/TzwQN3Rc3nB2fUF5z8L2x94pDY3Iis4/8KnkfvCDgfkRGVG5AV9Er038lBodkxGVG74x7G7ow82zopLj8lp+lH8rtgDzTMT0uKyW+7pvDN+f+uMrqkJWW0/7L6j87726T1TumZ2/KD39u57O6X1Te6Z0eX9/tt67+6WOjCpb3qP9wZv7b+rV8rQxIFpfd4dvmXwzn7JIzcPTR3wzuhNw3cMShq7cWTKkLfHbxi9fVjixPVjk0e8NXnd+G2jNk9ZOzFpzJtT10zeOm7jtNVTEie8MX3V1C2T3pgRe0fXmzvMbH1Xl1vjZ8Xc0/n2drNb3tfpzrg50Q8k3N1mbvOHOt4b+0TUI/H3t3qq6WPtH4x5JvIPcQ+3eK7xH9s+Gv1CxJ9iH2/2Yvj/tH4y6uWwP8c83eTV0L+0fDZyUfBL0c83WhL0SvN5EcsCX4ua33BFwF+bLghbVf+3yIUhay78vfHi4HV1/4hY2mBD7evhywM31fwzbOXFLeffCF1dv7X6zeC1v2w791bQ+rrtlW8Hbvx5x9l3AjbX7Kx4tz7xp11n3ruQVL27/P265Kq9pz+oTancV/ZhTeqP+0/tOZ9WcaD0o+r0Hw6e/PhcRvmhkk8qM78/fOLTs1llR4o/q8j+7ujxz8/klB4r+qI899vjx748nVdyovCrsvxvTh79+lRB8amCb0oLvz595NuTRUVn8r8rKf7q7OHvT5QUnsv7obj0y/OHfjxeVlCbW1VU/sWFgz8dq8gPyPm5sPLzoAO/HK3OC82+WFDzWfj+BkfqchtnheTXf9p0X8PDgTnNMxvlBX/Scm+TQ2HZrTOa5UZ83HZ3i4ORWe3TW+VEfdRxV5sD0Zmd0tplx+zpsrPD/tiMbqmXZcV92GPH5fvi03ulXJGZ8EGf7Vfu7ZzWL/mqjK7vD9h29e7uqYOSrknv+d6Qrdfu6p0yLPG6tL7vjthy/c7+yaM235A68J0xm36zY3DSuI2/TRn69oQNv9s+PHHS+huTR751y7qbto3efNva3yeNffOONTdvHb/xrtW3Jk58457Vt3ebnHBv7J1dp3S4v/XdXabGPxhzb+dp7R5ueX+n6XGPRj+YMKPN480f7jgz9smoR+NntXq66ePtZ8c8G/lk3JwWzzd+uu3c6HkRz8Y+0Wx++POtn4paEDYv5pkmC0Pnt3wucnHwgugXGi0NWtj8xYjlgYujXm64MmBp01fDVtcvj1wUsvbCysZLgtfXrY5Y1mBj7drwFYGba9aHrbqYeH5j6Jr6pG9eKf5f7mGVZm+u1esAAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">template<span class="_ _8"> </span><span class="ff1">Lamb<span class="_ _c"></span>da<span class="_ _8"> </span>Exp<span class="_ _5"></span>ression<span class="_ _8"> </span><span class="ff14"><span class="_ _2a"> </span></span>1/2</span></div><div class="t m0 x1 hc y125 ff4 fs7 fcb sc0 ls0 ws0">C++20<span class="_ _f"> </span><span class="fc0">Lamb<span class="_ _c"></span>da<span class="_ _a"> </span>expression<span class="_ _a"> </span>supp<span class="_ _c"></span>o<span class="_ _5"></span>rts<span class="_ _12"> </span><span class="ffe">template<span class="_ _12"> </span></span>and<span class="_ _12"> </span><span class="ffe">requires<span class="_ _1e"> </span></span>clause</span></div><div class="t m0 xc hf y126 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[]<span class="fc5">&lt;</span></span>typename<span class="_ _10"> </span><span class="fc4">T<span class="ffb fc5">&gt;<span class="fc0">(T<span class="_ _10"> </span>value)</span></span></span></div><div class="t m0 x18 hf y127 ff5 fs8 fc8 sc0 ls0 ws0">requires<span class="_ _10"> </span><span class="ffb fc0">std<span class="fc5">::</span>is_arithmetic_v<span class="fc5">&lt;</span>T<span class="fc5">&gt;<span class="_ _10"> </span></span>{</span></div><div class="t m0 x6 hf y128 ff5 fs8 fc8 sc0 ls0 ws0">return<span class="_ _10"> </span><span class="ffb fc0">value<span class="_ _10"> </span><span class="fc5">*<span class="_ _10"> </span>2</span>;</span></div><div class="t m0 xc hf y129 ffb fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 xc hf y12a ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">v<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>lambda(<span class="fc5">3.4</span>);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>v:<span class="_ _10"> </span>6.8<span class="_ _10"> </span>(double)</span></span></div><div class="t m0 xc hf y12b ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>lambda(nullptr);<span class="_ _1f"> </span>//<span class="_ _10"> </span>compiler<span class="_ _10"> </span>error</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">31/62</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,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"/><div class="t m0 x4 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">template<span class="_ _8"> </span><span class="ff1">Lamb<span class="_ _c"></span>da<span class="_ _8"> </span>Exp<span class="_ _5"></span>ression<span class="_ _8"> </span><span class="ff14"><span class="_ _2a"> </span></span>2/2</span></div><div class="t m0 x1 hc y84 ff4 fs7 fc0 sc0 ls0 ws0">Befo<span class="_ _5"></span>re<span class="_ _f"> </span><span class="fcb">C++20</span>,<span class="_ _12"> </span><span class="ffe">template<span class="_ _12"> </span></span>arguments<span class="_ _a"> </span>can<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _f"> </span>emulated<span class="_ _a"> </span>with<span class="_ _1e"> </span><span class="ffe">auto<span class="_ _12"> </span></span>+<span class="_ _1e"> </span><span class="ffe">decltype</span></div><div class="t m0 xc hf y12c ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[](</span>auto<span class="_ _10"> </span><span class="ffb fc0">value)<span class="_ _10"> </span>{</span></div><div class="t m0 x6 hf y12d ff5 fs8 fc8 sc0 ls0 ws0">using<span class="_ _10"> </span><span class="ffb fc0">T<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>decltyle(value);<span class="_ _16"> </span><span class="ffc fc6">//<span class="_ _10"> </span>T:<span class="_ _10"> </span>double</span></span></div><div class="t m0 xc hf y12e ffb fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 xc hf y12f ffb fs8 fc0 sc0 ls0 ws0">lambda(<span class="fc5">3.4</span>);</div><div class="t m0 x1 hc y130 ff4 fs7 fc0 sc0 ls0 ws0">Lamb<span class="_ _c"></span>da<span class="_ _a"> </span>and<span class="_ _f"> </span>template<span class="_ _f"> </span>without<span class="_ _f"> </span>automatic<span class="_ _f"> </span>deduction<span class="_ _f"> </span>needs<span class="_ _f"> </span>the<span class="_ _f"> </span>full<span class="_ _a"> </span>syntax</div><div class="t m0 xc hf y131 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[]<span class="fc5">&lt;</span></span>typename<span class="_ _10"> </span><span class="fc4">T<span class="ffb fc5">&gt;<span class="fc0">(</span></span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">value)<span class="_ _10"> </span>{</span></span></span></div><div class="t m0 x6 hf y132 ff5 fs8 fc8 sc0 ls0 ws0">return<span class="_ _10"> </span><span class="ffb fc0">value<span class="_ _10"> </span><span class="fc5">*<span class="_ _10"> </span><span class="fc4">sizeof</span></span>(T);</span></div><div class="t m0 xc hf y133 ffb fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 xc hf y134 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>lambda&lt;double&gt;(3);<span class="_ _20"> </span>//<span class="_ _10"> </span>compiler<span class="_ _10"> </span>error</div><div class="t m0 xc hf y135 ffb fs8 fc0 sc0 ls0 ws0">lambda.<span class="ff5 fc8">operator</span>()<span class="fc5">&lt;<span class="ff5 fc3">double</span>&gt;</span>(<span class="fc5">3</span>);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>ok</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">32/62</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 x4 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">mutable<span class="_ _8"> </span><span class="ff1">Lamb<span class="_ _c"></span>da<span class="_ _8"> </span>Exp<span class="_ _5"></span>ression</span></div><div class="t m0 x1 hc y98 ff4 fs7 fc0 sc0 ls0 ws0">Lamb<span class="_ _c"></span>da<span class="_ _a"> </span>capture<span class="_ _f"> </span>is<span class="_ _f"> </span><span class="ff11">by-const-value</span></div><div class="t m0 x1 hc y11b ffe fs7 fc4 sc0 ls0 ws0">mutable<span class="_ _f"> </span><span class="ff4 fc0">sp<span class="_ _c"></span>ecifier<span class="_ _a"> </span>allows<span class="_ _a"> </span>the<span class="_ _f"> </span>lamb<span class="_ _c"></span>da<span class="_ _a"> </span>to<span class="_ _f"> </span>mo<span class="_ _c"></span>dify<span class="_ _a"> </span>the<span class="_ _f"> </span>parameters<span class="_ _a"> </span>captured<span class="_ _f"> </span><span class="ff11">by-value</span></span></div><div class="t m0 xc hf y136 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _16"> </span><span class="ffb fc0">var<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span>1</span>;</span></div><div class="t m0 xc hf y137 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda1<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[<span class="fc5">&amp;</span>](){<span class="_ _10"> </span>var<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span>4</span>;<span class="_ _10"> </span>};<span class="_ _20"> </span><span class="ffc fc6">//<span class="_ _10"> </span>ok</span></span></div><div class="t m0 xc hf y138 ffb fs8 fc0 sc0 ls0 ws0">lambda1();</div><div class="t m0 xc hf y139 ffb fs8 fc0 sc0 ls0 ws0">cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>var;<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span><span class="ff19">&apos;</span>4<span class="ff19">&apos;</span></span></div><div class="t m0 xc hd y13a ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>auto<span class="_ _10"> </span>lambda2<span class="_ _10"> </span>=<span class="_ _10"> </span>[=](){<span class="_ _10"> </span>var<span class="_ _10"> </span>=<span class="_ _10"> </span>3;<span class="_ _10"> </span>};<span class="_ _17"> </span>//<span class="_ _10"> </span><span class="ffd">compile<span class="_ _1d"> </span>error</span></div><div class="t m0 xc hf y13b ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>lambda<span class="_ _10"> </span>operator()<span class="_ _10"> </span>is<span class="_ _10"> </span>const</div><div class="t m0 xc hf y13c ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda3<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[<span class="fc5">=</span>]()<span class="_ _10"> </span></span>mutable<span class="_ _10"> </span><span class="ffb fc0">{<span class="_ _10"> </span>var<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span>3</span>;<span class="_ _10"> </span>};<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>ok</span></span></div><div class="t m0 xc hf y13d ffb fs8 fc0 sc0 ls0 ws0">lambda3();</div><div class="t m0 xc hf y13e ffb fs8 fc0 sc0 ls0 ws0">cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>var;<span class="_ _16"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span><span class="ff19">&apos;</span>4<span class="ff19">&apos;</span>,<span class="_ _10"> </span>lambda3<span class="_ _10"> </span>captures<span class="_ _10"> </span>by-value</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">33/62</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAJd0lEQVR42u3bv2oUURTA4Tsyx0K44CMoViJCUonYKCJEJSBILHwHUVjzDFbptPMh9B0sbG1S+QZWcrtbWbiksMi/DfHMzPdVuzDF7NmF/XGGO9y696AAAEAaP79/u2IKAABkI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAADgy9N5NAQCAPCLCJhUAgHREKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAATMxoBMD8tNaW/PFrrX4DgEj1t+ePDQDggnncDwCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAHIbeu+mAABAHhFhkwoAQDoiFQAAkQoAACcZjeD0WmsLn0Ct1c8AALgENqkAAIhUAAAQqQAAiFQAANiUg1MAs7L5EU9HJIEMbFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgDAZkYjAJiTWqshADMw9N5NAQCAPCLC434AANIRqQAAiFQAABCpAABMjtP9Z9BaM4RjOFMMAFwUm1QAAEQqAACIVAAARCoAAGzKwSmABbmQA6BOSQKXwCYVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAAAmZjQCgOWotRoCMAk2qQAApDP03k0BAIA8IsImFQCAdEQqAAAiFQAATuJ0/xm01v77PTiZCwAsgU0qAADp2KRCLhkW9sezzgfgEtikAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAwMKMRgCp1FoNAQCG3rspAACQR0R43A8AQDoiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAASzdO6F5ba74wAIDzqbVO6G5tUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKlGAACASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAOYxGAMCEvDg4MIR/fFmtDIH5GXrvU7nX1povDADgfGqtU7nViPC4HwCAdEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAAGkMvXdTAAAgj4iwSQUAIJ3x94ebpgAwD7+efDYEYAZu398p2+vXD3/c2D/cK6Wu3+88ffX82es7uy8f7W5vlVK2Pt3dP9wrR9e/W19/df3+8f7q/ds3pUQp5XopZfj49/qv19QwgBoGOJs/ispW/E5ZRY0AAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Capture<span class="_ _8"> </span>List<span class="_ _8"> </span>and<span class="_ _8"> </span>Classes<span class="_ _8"> </span><span class="ff14"></span></div><div class="t m0 xe h6 y13f fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ff5">[this]<span class="_ _22"> </span><span class="ff4">captures<span class="_ _a"> </span>the<span class="_ _d"> </span>current<span class="_ _a"> </span>object<span class="_ _22"> </span><span class="ffe">(*this)<span class="_ _22"> </span><span class="ff11">by-reference<span class="_ _f"> </span></span></span>(implicit<span class="_ _a"> </span>in<span class="_ _a"> </span><span class="fcb">C++17</span>)</span></span></div><div class="t m0 xe h6 y140 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ff5">[x<span class="_ _b"> </span>=<span class="_ _b"> </span>x]<span class="_ _22"> </span><span class="ff4">captures<span class="_ _a"> </span>the<span class="_ _a"> </span>current<span class="_ _a"> </span>object<span class="_ _d"> </span>memb<span class="_ _c"></span>er<span class="_ _22"> </span><span class="ffe">x<span class="_ _22"> </span><span class="ff11">by-value<span class="_ _f"> </span></span></span><span class="fcb">C++14</span></span></span></div><div class="t m0 xe h6 y141 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ff5">[&amp;x<span class="_ _b"> </span>=<span class="_ _b"> </span>x]<span class="_ _22"> </span><span class="ff4">captures<span class="_ _a"> </span>the<span class="_ _a"> </span>current<span class="_ _a"> </span>object<span class="_ _d"> </span>memb<span class="_ _c"></span>er<span class="_ _22"> </span><span class="ffe">x<span class="_ _22"> </span><span class="ff11">by-reference<span class="_ _f"> </span></span></span><span class="fcb">C++14</span></span></span></div><div class="t m0 xe h6 y142 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ff5">[=]<span class="_ _22"> </span><span class="ff4">default<span class="_ _a"> </span>capture<span class="_ _d"> </span>of<span class="_ _22"> </span><span class="ffe">this<span class="_ _12"> </span></span>p<span class="_ _c"></span>ointer<span class="_ _d"> </span>by<span class="_ _d"> </span>value<span class="_ _a"> </span>has<span class="_ _d"> </span>b<span class="_ _c"></span>een<span class="_ _a"> </span>dep<span class="_ _5"></span>recated<span class="_ _a"> </span><span class="fcb">C++20</span></span></span></div><div class="t m0 xc h11 y143 ff5 fs5 fc8 sc0 ls0 ws0">class<span class="_ _8"> </span><span class="fc4">A<span class="_ _6"> </span><span class="ff15 fc0">{</span></span></div><div class="t m0 x19 h11 y144 ff5 fs5 fc3 sc0 ls0 ws0">int<span class="_ _8"> </span><span class="ff15 fc0">data<span class="_ _6"> </span><span class="fc5">=<span class="_ _8"> </span>1</span>;</span></div><div class="t m0 x19 h11 y145 ff5 fs5 fc3 sc0 ls0 ws0">void<span class="_ _8"> </span><span class="ff15 fc4">f<span class="fc0">()<span class="_ _6"> </span>{</span></span></div><div class="t m0 x1a h11 y146 ff5 fs5 fc3 sc0 ls0 ws0">int<span class="_ _24"> </span><span class="ff15 fc0">var<span class="_ _2b"> </span><span class="fc5">=<span class="_ _8"> </span>2</span>;<span class="_ _2c"> </span><span class="ffc fc6">//<span class="_ _8"> </span>&lt;--<span class="_ _6"> </span>local<span class="_ _8"> </span>variable</span></span></div><div class="t m0 x1a h11 y147 ff5 fs5 fc8 sc0 ls0 ws0">auto<span class="_ _8"> </span><span class="ff15 fc0">lambda1<span class="_ _6"> </span><span class="fc5">=<span class="_ _8"> </span></span>[<span class="fc5">=</span>]()<span class="_ _2b"> </span>{<span class="_ _8"> </span></span>return<span class="_ _6"> </span><span class="ff15 fc0">var;<span class="_ _24"> </span>};<span class="_ _2d"> </span><span class="ffc fc6">//<span class="_ _8"> </span>copy<span class="_ _6"> </span>by-value,<span class="_ _8"> </span>return<span class="_ _6"> </span>2</span></span></div><div class="t m0 x1a h11 y148 ff5 fs5 fc8 sc0 ls0 ws0">auto<span class="_ _8"> </span><span class="ff15 fc0">lambda2<span class="_ _6"> </span><span class="fc5">=<span class="_ _8"> </span></span>[<span class="fc5">=</span>]()<span class="_ _2b"> </span>{<span class="_ _8"> </span></span><span class="fc3">int<span class="_ _6"> </span><span class="ff15 fc0">var<span class="_ _8"> </span><span class="fc5">=<span class="_ _8"> </span>3</span>;<span class="_ _6"> </span></span></span>return<span class="_ _8"> </span><span class="ff15 fc0">var;<span class="_ _8"> </span>};<span class="_ _6"> </span><span class="ffc fc6">//<span class="_ _8"> </span>return<span class="_ _8"> </span>3<span class="_ _6"> </span>(nearest<span class="_ _8"> </span>scope)</span></span></div><div class="t m0 x1a h11 y149 ff5 fs5 fc8 sc0 ls0 ws0">auto<span class="_ _8"> </span><span class="ff15 fc0">lambda3<span class="_ _6"> </span><span class="fc5">=<span class="_ _8"> </span></span>[</span>this<span class="ff15 fc0">]()<span class="_ _24"> </span>{<span class="_ _8"> </span></span>return<span class="_ _6"> </span><span class="ff15 fc0">data;<span class="_ _8"> </span>};<span class="_ _2d"> </span><span class="ffc fc6">//<span class="_ _6"> </span>copy<span class="_ _8"> </span>by-reference,<span class="_ _6"> </span>return<span class="_ _8"> </span>1</span></span></div><div class="t m0 x1a h11 y14a ff5 fs5 fc8 sc0 ls0 ws0">auto<span class="_ _8"> </span><span class="ff15 fc0">lambda4<span class="_ _6"> </span><span class="fc5">=<span class="_ _8"> </span></span>[<span class="fc5">*</span></span>this<span class="ff15 fc0">]()<span class="_ _8"> </span>{<span class="_ _6"> </span></span>return<span class="_ _8"> </span><span class="ff15 fc0">data;<span class="_ _8"> </span>};<span class="_ _2e"> </span><span class="ffc fc6">//<span class="_ _8"> </span>copy<span class="_ _6"> </span>by-value<span class="_ _8"> </span>(C++17),<span class="_ _6"> </span>return<span class="_ _8"> </span>1</span></span></div><div class="t m0 xc h11 y14b ffc fs5 fc6 sc0 ls0 ws0">//<span class="_ _2f"> </span>auto<span class="_ _8"> </span>lambda5<span class="_ _6"> </span>=<span class="_ _8"> </span>[data]()<span class="_ _9"> </span>{<span class="_ _8"> </span>return<span class="_ _6"> </span>data;<span class="_ _8"> </span>};<span class="_ _30"> </span>//<span class="_ _8"> </span><span class="ff16">compile<span class="_ _1d"> </span>erro<span class="_ _5"></span>r<span class="_ _6"> </span><span class="ff19">&apos;<span class="ffc">data</span>&apos;<span class="_ _8"> </span><span class="ffc">is<span class="_ _6"> </span>not<span class="_ _8"> </span>visible</span></span></span></div><div class="t m0 x1a h11 y14c ff5 fs5 fc8 sc0 ls0 ws0">auto<span class="_ _8"> </span><span class="ff15 fc0">lambda6<span class="_ _6"> </span><span class="fc5">=<span class="_ _8"> </span></span>[data<span class="_ _8"> </span><span class="fc5">=<span class="_ _6"> </span></span>data]()<span class="_ _8"> </span>{<span class="_ _8"> </span></span>return<span class="_ _6"> </span><span class="ff15 fc0">data;<span class="_ _8"> </span>};<span class="_ _8"> </span><span class="ffc fc6">//<span class="_ _6"> </span>return<span class="_ _8"> </span>1</span></span></div><div class="t m0 x19 h11 y14d ff15 fs5 fc0 sc0 ls0 ws0">}</div><div class="t m0 xc h11 y14e ff15 fs5 fc0 sc0 ls0 ws0">};</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">34/62</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 xa h2 y1f ff1 fs0 fc0 sc0 ls0 ws0">Prep<span class="_ _e"></span>ro<span class="_ _0"></span>cessing</div><a class="l" href="#pf27" data-dest-detail='[39,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:132.432000px;width:157.641000px;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="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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Prep<span class="_ _5"></span>ro<span class="_ _c"></span>cessing<span class="_ _8"> </span>and<span class="_ _8"> </span>Macro</div><div class="t m0 x1 hc y84 ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="ff1">p<span class="_ _5"></span>rep<span class="_ _5"></span>ro<span class="_ _c"></span>cesso<span class="_ _5"></span>r<span class="_ _f"> </span>directive<span class="_ _f"> </span><span class="ff4">is<span class="_ _f"> </span>any<span class="_ _f"> </span>line<span class="_ _f"> </span>preceded<span class="_ _a"> </span>by<span class="_ _a"> </span>a<span class="_ _f"> </span><span class="ff11">hash<span class="_ _f"> </span></span>symb<span class="_ _c"></span>ol<span class="_ _f"> </span>(<span class="ffe">#</span>)<span class="_ _f"> </span>which<span class="_ _f"> </span>tells<span class="_ _a"> </span>the</span></span></div><div class="t m0 x1 hc yd3 ff4 fs7 fc0 sc0 ls0 ws0">compiler<span class="_ _f"> </span>ho<span class="_ _5"></span>w<span class="_ _f"> </span>to<span class="_ _a"> </span>interpret<span class="_ _a"> </span>the<span class="_ _f"> </span>source<span class="_ _f"> </span>co<span class="_ _c"></span>de<span class="_ _f"> </span><span class="ff11">b<span class="_ _c"></span>efo<span class="_ _5"></span>re<span class="_ _6"> </span><span class="ff4">compiling<span class="_ _f"> </span>it</span></span></div><div class="t m0 x1 hc y14f ff1 fs7 fc0 sc0 ls0 ws0">Macro<span class="_ _f"> </span><span class="ff4">a<span class="_ _5"></span>re<span class="_ _f"> </span>p<span class="_ _5"></span>rep<span class="_ _5"></span>ro<span class="_ _c"></span>cesso<span class="_ _5"></span>r<span class="_ _a"> </span>directives<span class="_ _f"> </span>which<span class="_ _f"> </span>substitute<span class="_ _f"> </span>any<span class="_ _f"> </span>o<span class="_ _c"></span>ccurrence<span class="_ _a"> </span>of<span class="_ _f"> </span>an<span class="_ _f"> </span><span class="ff11">identifier<span class="_ _b"> </span></span>in</span></div><div class="t m0 x1 hc y150 ff4 fs7 fc0 sc0 ls0 ws0">the<span class="_ _f"> </span>rest<span class="_ _a"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>co<span class="_ _c"></span>de<span class="_ _f"> </span>b<span class="_ _5"></span>y<span class="_ _f"> </span>replacement</div><div class="t m0 x1 h8 y151 ff1 fs2 fc0 sc0 ls0 ws0">Macro<span class="_ _b"> </span>a<span class="_ _5"></span>re<span class="_ _b"> </span>evil:</div><div class="t m0 x1 h8 y152 ff1 fs2 fcc sc0 ls0 ws0">Do<span class="_ _b"> </span>not<span class="_ _b"> </span>use<span class="_ _4"> </span>macro<span class="_ _b"> </span>expansion!!</div><div class="t m0 x1 hc y153 ff4 fs7 fc0 sc0 ls0 ws0">...o<span class="_ _5"></span>r<span class="_ _f"> </span>use<span class="_ _f"> </span>as<span class="_ _a"> </span>little<span class="_ _f"> </span>as<span class="_ _f"> </span>p<span class="_ _c"></span>ossible</div><div class="t m0 xe h6 y154 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Macro<span class="_ _a"> </span>cannot<span class="_ _d"> </span>b<span class="_ _c"></span>e<span class="_ _a"> </span>directly<span class="_ _d"> </span>debugged</span></div><div class="t m0 xe h6 y155 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Macro<span class="_ _a"> </span>expansions<span class="_ _d"> </span>can<span class="_ _a"> </span>have<span class="_ _a"> </span>unexp<span class="_ _c"></span>ected<span class="_ _d"> </span>side<span class="_ _a"> </span>effects</span></div><div class="t m0 xe h6 y156 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Macro<span class="_ _a"> </span>have<span class="_ _d"> </span>no<span class="_ _a"> </span>namespace<span class="_ _a"> </span>or<span class="_ _d"> </span>scop<span class="_ _c"></span>e</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">35/62</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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Prep<span class="_ _5"></span>ro<span class="_ _c"></span>cesso<span class="_ _5"></span>rs</div><div class="t m0 x1 h7 y157 ff1 fs3 fc0 sc0 ls0 ws0">All<span class="_ _8"> </span>statements<span class="_ _8"> </span>sta<span class="_ _5"></span>rting<span class="_ _8"> </span>with<span class="_ _1e"> </span><span class="ff5">#</span></div><div class="t m0 xb h7 y158 ff9 fs3 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ff5">#include<span class="_ _22"> </span>&quot;my<span class="_ _8"> </span>file.h&quot;</span></div><div class="t m0 x6 h7 y159 ff8 fs3 fc0 sc0 ls0 ws0">Inject<span class="_ _f"> </span>the<span class="_ _6"> </span>co<span class="_ _c"></span>de<span class="_ _6"> </span>in<span class="_ _6"> </span>the<span class="_ _6"> </span>current<span class="_ _6"> </span>file</div><div class="t m0 xb h7 y15a ff9 fs3 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ff5">#define<span class="_ _22"> </span>MACRO<span class="_ _22"> </span><span class="ff1a">&lt;</span>expression<span class="ff1a">&gt;</span></span></div><div class="t m0 x6 h7 y15b ff8 fs3 fc0 sc0 ls0 ws0">Define<span class="_ _f"> </span>a<span class="_ _6"> </span>new<span class="_ _6"> </span>macro</div><div class="t m0 xb h7 y15c ff9 fs3 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ff5">#undef<span class="_ _22"> </span>MACRO</span></div><div class="t m0 x6 h7 y15d ff8 fs3 fc0 sc0 ls0 ws0">Undefine<span class="_ _f"> </span>a<span class="_ _6"> </span>macro</div><div class="t m0 x6 h10 y15e ff13 fs8 fc0 sc0 ls0 ws0">(a<span class="_ _1d"> </span>macro<span class="_ _d"> </span>should<span class="_ _d"> </span>b<span class="_ _c"></span>e<span class="_ _1d"> </span>undefined<span class="_ _d"> </span>as<span class="_ _d"> </span>early<span class="_ _1d"> </span>as<span class="_ _d"> </span>p<span class="_ _c"></span>ossible<span class="_ _1d"> </span>for<span class="_ _1d"> </span>safety<span class="_ _1d"> </span>reasons)</div><div class="t m0 x1 h7 y15f ff1 fs3 fc0 sc0 ls0 ws0">Multi-line<span class="_ _8"> </span>Prep<span class="_ _5"></span>ro<span class="_ _c"></span>cessing:<span class="_ _9"> </span><span class="ff17">\<span class="_ _1e"> </span><span class="ff8">at<span class="_ _6"> </span>the<span class="_ _6"> </span>end<span class="_ _6"> </span>of<span class="_ _6"> </span>the<span class="_ _6"> </span>line</span></span></div><div class="t m0 x1 h7 y160 ff1 fs3 fc0 sc0 ls0 ws0">Indent:<span class="_ _9"> </span><span class="ff1b">#<span class="_ _31"> </span>define</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">36/62</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,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Conditional<span class="_ _8"> </span>Compiling</div><div class="t m0 xb hc y76 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ff5">#if<span class="_ _13"> </span><span class="ff1c">&lt;</span>condition<span class="ff1c">&gt;</span></span></div><div class="t m0 x1b he y161 ffe fs7 fc0 sc0 ls0 ws0">code</div><div class="t m0 x16 h14 y162 ff5 fs7 fc0 sc0 ls0 ws0">#elif<span class="_ _13"> </span><span class="ff1c">&lt;</span>condition<span class="ff1c">&gt;</span></div><div class="t m0 x1b he y163 ffe fs7 fc0 sc0 ls0 ws0">code</div><div class="t m0 x16 h14 y164 ff5 fs7 fc0 sc0 ls0 ws0">#else</div><div class="t m0 x1b he y165 ffe fs7 fc0 sc0 ls0 ws0">code</div><div class="t m0 x16 h14 y166 ff5 fs7 fc0 sc0 ls0 ws0">#endif</div><div class="t m0 xb hc y167 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ff5">#if<span class="_ _13"> </span>defined(MACRO)<span class="_ _12"> </span><span class="ff4">equal<span class="_ _f"> </span>to<span class="_ _12"> </span></span>#ifdef<span class="_ _13"> </span>MACRO</span></div><div class="t m0 x16 hc y168 ff5 fs7 fc0 sc0 ls0 ws0">#elif<span class="_ _13"> </span>defined(MACRO)<span class="_ _12"> </span><span class="ff4">equal<span class="_ _f"> </span>to<span class="_ _12"> </span></span>#elifdef<span class="_ _13"> </span>MACRO<span class="_ _1e"> </span><span class="ff4 fcb">C++23</span></div><div class="t m0 x6 hc y169 ff4 fs7 fc0 sc0 ls0 ws0">Check<span class="_ _f"> </span>if<span class="_ _a"> </span>a<span class="_ _f"> </span>macro<span class="_ _f"> </span>is<span class="_ _f"> </span>defined</div><div class="t m0 xb hc y16a fff fs7 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ff5">#if<span class="_ _13"> </span>!defined(MACRO)<span class="_ _12"> </span><span class="ff4">equal<span class="_ _f"> </span>to<span class="_ _12"> </span></span>#ifndef<span class="_ _13"> </span>MACRO</span></div><div class="t m0 x16 hc y16b ff5 fs7 fc0 sc0 ls0 ws0">#elif<span class="_ _13"> </span>!defined(MACRO)<span class="_ _12"> </span><span class="ff4">equal<span class="_ _f"> </span>to<span class="_ _12"> </span></span>#elifndef<span class="_ _13"> </span>MACRO<span class="_ _1e"> </span><span class="ff4 fcb">C++23</span></div><div class="t m0 x6 hc y16c ff4 fs7 fc0 sc0 ls0 ws0">Check<span class="_ _f"> </span>if<span class="_ _a"> </span>a<span class="_ _f"> </span>macro<span class="_ _f"> </span>is<span class="_ _f"> </span>not<span class="_ _f"> </span>defined</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">37/62</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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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>1</div><div class="t m0 x1c hc y16d ff4 fs7 fc2 sc0 ls0 ws0">A<span class="_ _32"> </span><span class="ff1 fc0">Define<span class="_ _6"> </span>macros<span class="_ _6"> </span>in<span class="_ _8"> </span>header<span class="_ _f"> </span>files<span class="_ _6"> </span>and<span class="_ _8"> </span>before<span class="_ _f"> </span>includes!!</span></div><div class="t m0 xc hf y16e ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>include<span class="_ _22"> </span><span class="fc6">&lt;iostream&gt;</span></div><div class="t m0 xc hf y16f ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>value<span class="_ _18"> </span><span class="fc6">//<span class="_ _10"> </span>very<span class="_ _10"> </span>dangerous!!</span></div><div class="t m0 xc hf y170 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>include<span class="_ _22"> </span><span class="fc6">&quot;big_lib.hpp&quot;</span></div><div class="t m0 xc hf y171 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc4">main<span class="fc0">()<span class="_ _10"> </span>{</span></span></div><div class="t m0 x6 hf y172 ffb fs8 fc0 sc0 ls0 ws0">std<span class="fc5">::</span>cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>f(<span class="fc5">4</span>);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>should<span class="_ _10"> </span>print<span class="_ _10"> </span>7,<span class="_ _10"> </span>but<span class="_ _10"> </span>it<span class="_ _10"> </span><span class="ff18">always<span class="_ _10"> </span></span>prints<span class="_ _10"> </span>3</span></div><div class="t m0 xc hf y173 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 h10 y174 ff5 fs8 fc0 sc0 ls0 ws0">big<span class="_ _a"> </span>lib.hpp<span class="ff13">:</span></div><div class="t m0 xc hf y175 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">value)<span class="_ _10"> </span>{<span class="_ _18"> </span><span class="ffc fc6">//<span class="_ _10"> </span><span class="ff19">&apos;</span>value<span class="ff19">&apos;<span class="_ _10"> </span></span>disappears</span></span></div><div class="t m0 x6 hf y176 ff5 fs8 fc8 sc0 ls0 ws0">return<span class="_ _10"> </span><span class="ffb fc0">value<span class="_ _10"> </span><span class="fc5">+<span class="_ _10"> </span>3</span>;</span></div><div class="t m0 xc hf y177 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 h12 y178 ff11 fs7 fc0 sc0 ls0 ws0">It<span class="_ _f"> </span>is<span class="_ _a"> </span>very<span class="_ _f"> </span>hard<span class="_ _a"> </span>to<span class="_ _f"> </span>see<span class="_ _f"> </span>this<span class="_ _f"> </span>problem<span class="_ _a"> </span>when<span class="_ _f"> </span>the<span class="_ _f"> </span>macro<span class="_ _f"> </span>is<span class="_ _f"> </span>in<span class="_ _f"> </span>a<span class="_ _f"> </span>header</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">38/62</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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>2</div><div class="t m0 x1d hc y16d ff5 fs7 fc0 sc0 ls0 ws0">#if<span class="_ _13"> </span>defined<span class="_ _1e"> </span><span class="ff1">can<span class="_ _8"> </span>introduce<span class="_ _6"> </span>bugs<span class="_ _8"> </span>related<span class="_ _f"> </span>to<span class="_ _8"> </span>macro<span class="_ _f"> </span>visibility</span></div><div class="t m0 xc hf y179 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>#include<span class="_ _10"> </span>&quot;macro_definition.hpp&quot;<span class="_ _10"> </span>//<span class="_ _10"> </span>forget<span class="_ _10"> </span>to<span class="_ _10"> </span>add<span class="_ _10"> </span>the<span class="_ _10"> </span>header<span class="_ _10"> </span>that<span class="_ _10"> </span>defines<span class="_ _10"> </span>ENABLE_DEBUG</div><div class="t m0 xc hf y17a ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>if<span class="_ _10"> </span>defined(ENABLE_DEBUG)</div><div class="t m0 x6 hf y17b ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">v)<span class="_ _10"> </span>{<span class="_ _10"> </span>cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>v<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>endl;<span class="_ _10"> </span></span><span class="fc8">return<span class="_ _10"> </span><span class="ffb fc0">v<span class="_ _10"> </span><span class="fc5">*<span class="_ _10"> </span>3</span>;<span class="_ _10"> </span>}</span></span></div><div class="t m0 xc hf y17c ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>else</div><div class="t m0 x6 hf y17d ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">v)<span class="_ _10"> </span>{<span class="_ _10"> </span></span><span class="fc8">return<span class="_ _10"> </span><span class="ffb fc0">v<span class="_ _10"> </span><span class="fc5">*<span class="_ _10"> </span>3</span>;<span class="_ _10"> </span>}</span></span></div><div class="t m0 xc hf y17e ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>endif</div><div class="t m0 xc hf y17f ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>if<span class="_ _10"> </span>ENABLE_DEBUG<span class="_ _22"> </span><span class="fc6">//<span class="_ _10"> </span>evaluated<span class="_ _10"> </span>to<span class="_ _10"> </span>0<span class="_ _10"> </span>or<span class="_ _10"> </span>1</span></div><div class="t m0 x6 hf y180 ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">v)<span class="_ _10"> </span>{<span class="_ _10"> </span>cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>v<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>endl;<span class="_ _10"> </span></span><span class="fc8">return<span class="_ _10"> </span><span class="ffb fc0">v<span class="_ _10"> </span><span class="fc5">*<span class="_ _10"> </span>3</span>;<span class="_ _10"> </span>}</span></span></div><div class="t m0 xc hf y181 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>else</div><div class="t m0 x6 hf y182 ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">v)<span class="_ _10"> </span>{<span class="_ _10"> </span></span><span class="fc8">return<span class="_ _10"> </span><span class="ffb fc0">v<span class="_ _10"> </span><span class="fc5">*<span class="_ _10"> </span>3</span>;<span class="_ _10"> </span>}</span></span></div><div class="t m0 xc hf y183 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>endif</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">39/62</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAM5klEQVR42u3Yb2zU9R3A8c+VO3qlZa1EjGSMP6txcmOO8WcEoYqTAjqrjJXFxBmHzi48a+J84oxzyzYeXF1wOhIJm3FjxEXDv+HK33Fug5DiKgtb5qKbhGFcC1IKttDrn9uTogdriAKLsLxeTy7f391973uf34N75xLVM2cHAABcNt7c+8cSUwAA4HIjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAeF8in8+bAgAAl49UKuWfVAAALjsiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAABcmZJX0FlPnjzphgEAXJiRI0deQaf1TyoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACLVCAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIV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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>3</div><div class="t m0 x1e hc y184 ff1 fs7 fc0 sc0 ls0 ws0">F<span class="_ _5"></span>o<span class="_ _5"></span>rget<span class="_ _6"> </span>to<span class="_ _6"> </span>use<span class="_ _8"> </span>pa<span class="_ _5"></span>renthesis<span class="_ _f"> </span>in<span class="_ _6"> </span>macro<span class="_ _8"> </span>definitions!!</div><div class="t m0 xc hf y185 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>include<span class="_ _22"> </span><span class="fc6">&lt;iostream&gt;</span></div><div class="t m0 xc hf y186 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>SUB1(a,<span class="_ _10"> </span>b)<span class="_ _16"> </span>a<span class="_ _10"> </span>-<span class="_ _10"> </span>b<span class="_ _15"> </span><span class="fc6">//<span class="_ _10"> </span>WRONG</span></div><div class="t m0 xc hf y187 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>SUB2(a,<span class="_ _10"> </span>b)<span class="_ _10"> </span>(a<span class="_ _10"> </span>-<span class="_ _10"> </span>b)<span class="_ _17"> </span><span class="fc6">//<span class="_ _10"> </span>WRONG</span></div><div class="t m0 xc hf y188 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>SUB3(a,<span class="_ _10"> </span>b)<span class="_ _10"> </span>((a)<span class="_ _10"> </span>-<span class="_ _10"> </span>(b))<span class="_ _16"> </span><span class="fc6">//<span class="_ _10"> </span>correct</span></div><div class="t m0 xc hf y189 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc4">main<span class="fc0">()<span class="_ _10"> </span>{</span></span></div><div class="t m0 x6 hf y18a ffb fs8 fc0 sc0 ls0 ws0">std<span class="fc5">::</span>cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>(<span class="fc5">5<span class="_ _10"> </span>*<span class="_ _10"> </span></span>SUB1(<span class="fc5">2</span>,<span class="_ _10"> </span><span class="fc5">1</span>));<span class="_ _1f"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span>9<span class="_ _10"> </span>not<span class="_ _10"> </span>5!!</span></div><div class="t m0 x6 hf y18b ffb fs8 fc0 sc0 ls0 ws0">std<span class="fc5">::</span>cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>SUB2(<span class="fc5">3<span class="_ _10"> </span>+<span class="_ _10"> </span>3</span>,<span class="_ _10"> </span><span class="fc5">2<span class="_ _10"> </span>+<span class="_ _10"> </span>2</span>);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span>6<span class="_ _10"> </span>not<span class="_ _10"> </span>2!!</span></div><div class="t m0 x6 hf y18c ffb fs8 fc0 sc0 ls0 ws0">std<span class="fc5">::</span>cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>SUB3(<span class="fc5">3<span class="_ _10"> </span>+<span class="_ _10"> </span>3</span>,<span class="_ _10"> </span><span class="fc5">2<span class="_ _10"> </span>+<span class="_ _10"> </span>2</span>);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span>2</span></div><div class="t m0 xc hf y18d ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">40/62</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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAANEElEQVR42u3ZbWzUBx3A8d+VO7jSYgsZy4jIgyxznKjIg8jTxhwFNu2GWHRmIxOYNbxRksmbZZnTqLy4soBM4rCOTEmjYeFJZnmUQ4UQmB2GGGecjiDL5GGUwtrS68P5BmaZuLCSSMk+nzeX///u/v3d7//ivrkmRk2aGgAA0Gu8dvAPRbYAAEBvI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAHhHIp/P2wIAAL1HKpXySyoAAL2OSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAwI2SvIlmvXDhghsGANAzAwYMuImm9UsqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAi1QoAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAG68RD6ftwUAAHqPVCrll1QAAHodkQoAgEgFAACRCgCASAUAAJEKAIBI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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>4</div><div class="t m0 x1f hc y16d ff1 fs7 fc0 sc0 ls0 ws0">Macros<span class="_ _6"> </span>make<span class="_ _f"> </span>hard<span class="_ _f"> </span>to<span class="_ _6"> </span>find<span class="_ _8"> </span>compile<span class="_ _f"> </span>errors!!</div><div class="t m0 xb hf y16e ffb fs8 fc0 sc0 ls0 ws0">1:<span class="_ _10"> </span><span class="ffc fca">#<span class="_ _21"> </span>include<span class="_ _22"> </span><span class="fc6">&lt;iostream&gt;</span></span></div><div class="t m0 xb hf y18e ffb fs8 fc0 sc0 ls0 ws0">2:</div><div class="t m0 xb hf y16f ffb fs8 fc0 sc0 ls0 ws0">3:<span class="_ _10"> </span><span class="ffc fca">#<span class="_ _21"> </span>define<span class="_ _10"> </span>F(a)<span class="_ _10"> </span>{<span class="_ _15"> </span>\</span></div><div class="t m0 xb hf y170 ffb fs8 fc0 sc0 ls0 ws0">4:<span class="_ _20"> </span><span class="ffc fca">...<span class="_ _27"> </span>\</span></div><div class="t m0 xb hf y18f ffb fs8 fc0 sc0 ls0 ws0">5:<span class="_ _20"> </span><span class="ffc fca">...<span class="_ _27"> </span>\</span></div><div class="t m0 xb hf y171 ffb fs8 fc0 sc0 ls0 ws0">6:<span class="_ _20"> </span><span class="ffc fca">return<span class="_ _10"> </span>v;</span></div><div class="t m0 xb hf y172 ffb fs8 fc0 sc0 ls0 ws0">7:</div><div class="t m0 xb hf y173 ffb fs8 fc0 sc0 ls0 ws0">8:<span class="_ _10"> </span><span class="ff5 fc3">int<span class="_ _10"> </span></span><span class="fc4">main</span>()<span class="_ _10"> </span>{</div><div class="t m0 xb hf y190 ffb fs8 fc0 sc0 ls0 ws0">9:<span class="_ _1a"> </span>F(<span class="fc5">3</span>);<span class="_ _1a"> </span><span class="ffc fc6">//<span class="_ _10"> </span>compile<span class="_ _10"> </span>error<span class="_ _10"> </span>at<span class="_ _10"> </span>line<span class="_ _10"> </span>9!!</span></div><div class="t m0 xc hf y191 ffb fs8 fc0 sc0 ls0 ws0">10:<span class="_ _10"> </span>}</div><div class="t m0 x1 hc y192 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _f"> </span><span class="ff1">In<span class="_ _6"> </span>which<span class="_ _6"> </span>line<span class="_ _8"> </span>is<span class="_ _f"> </span>the<span class="_ _6"> </span>error??!<span class="ff4">*</span></span></div><div class="t m0 xb h10 y193 ff13 fs8 fc9 sc0 ls0 ws0">*mo<span class="_ _c"></span>dern<span class="_ _1d"> </span>compilers<span class="_ _d"> </span>are<span class="_ _1d"> </span>able<span class="_ _1d"> </span>to<span class="_ _d"> </span>roll<span class="_ _d"> </span>out<span class="_ _d"> </span>the<span class="_ _d"> </span>macro</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">41/62</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAANIklEQVR42u3YfWzUdx3A8c+VOzigtYWMZUTkQZY5TlTkQeRpY46nTbshFl2yLZNNa0hMbDL5Z1nmNCp/XDGbIGakbpkSomHhSWZ5lJsKIWV2GGKccTqCLJPCKEdXoNfS8x86W4YbgwgFX69/Lt/f3f36/X1+Te6dX2L05GkBAAC9xmt7/1BiCgAA9DYiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQCAdyQKhYIpAADQe6RSKU9SAQDodUQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAACuluQ1tNeWlhY3DADg0pSVlV1Du/UkFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkWoEAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAA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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>5</div><div class="t m0 x20 hc y16d ff1 fs7 fc0 sc0 ls0 ws0">Macro<span class="_ _6"> </span>can<span class="_ _6"> </span>intro<span class="_ _c"></span>duce<span class="_ _6"> </span>bugs<span class="_ _8"> </span>related<span class="_ _f"> </span>to<span class="_ _6"> </span>the<span class="_ _8"> </span>evaluation<span class="_ _f"> </span>of<span class="_ _8"> </span>their<span class="_ _f"> </span>expressions!!</div><div class="t m0 xc hf y179 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>if<span class="_ _10"> </span>defined(DEBUG)</div><div class="t m0 xc hf y194 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _33"> </span>define<span class="_ _10"> </span>CHECK(EXPR)<span class="_ _1f"> </span><span class="fc6">//<span class="_ _10"> </span>do<span class="_ _10"> </span>something<span class="_ _10"> </span>with<span class="_ _10"> </span>EXPR</span></div><div class="t m0 x6 hf y17a ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">check<span class="fc0">(</span></span>bool<span class="_ _10"> </span><span class="ffb fc0">b)<span class="_ _10"> </span>{<span class="_ _10"> </span><span class="ffc fc6">/*<span class="_ _10"> </span>do<span class="_ _10"> </span>something<span class="_ _10"> </span>with<span class="_ _10"> </span>b<span class="_ _10"> </span>*/<span class="_ _22"> </span></span>}</span></div><div class="t m0 xc hf y17b ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>else</div><div class="t m0 xc hf y17c ffc fs8 fca sc0 ls0 ws0">#<span class="_ _33"> </span>define<span class="_ _10"> </span>CHECK(EXPR)<span class="_ _1f"> </span><span class="fc6">//<span class="_ _10"> </span>do<span class="_ _10"> </span>nothing</span></div><div class="t m0 x6 hf y17d ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">check<span class="fc0">(</span></span>bool<span class="ffb fc0">)<span class="_ _10"> </span>{}<span class="_ _16"> </span><span class="ffc fc6">//<span class="_ _10"> </span>do<span class="_ _10"> </span>nothing</span></span></div><div class="t m0 xc hf y17e ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>endif</div><div class="t m0 xc hf y195 ff5 fs8 fc3 sc0 ls0 ws0">bool<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">()<span class="_ _10"> </span>{<span class="_ _10"> </span><span class="ffc fc6">/*<span class="_ _10"> </span>return<span class="_ _10"> </span>a<span class="_ _10"> </span>boolean<span class="_ _10"> </span>value<span class="_ _10"> </span>*/<span class="_ _22"> </span></span>}</span></span></div><div class="t m0 xc hf y196 ffb fs8 fc0 sc0 ls0 ws0">check(<span class="_ _10"> </span>f()<span class="_ _10"> </span>)</div><div class="t m0 xc hf y197 ffb fs8 fc0 sc0 ls0 ws0">CHECK(<span class="_ _10"> </span>f()<span class="_ _10"> </span>)<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>&lt;--<span class="_ _10"> </span>problem<span class="_ _10"> </span>here</span></div><div class="t m0 x1 hc y198 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _f"> </span><span class="ff1">What<span class="_ _6"> </span>happ<span class="_ _c"></span>ens<span class="_ _6"> </span>when<span class="_ _34"> </span><span class="ff5">DEBUG<span class="_ _1e"> </span></span>is<span class="_ _8"> </span>not<span class="_ _f"> </span>defined?</span></div><div class="t m0 x20 hc y199 ffe fs7 fc0 sc0 ls0 ws0">f()<span class="_ _12"> </span><span class="ff4">is<span class="_ _f"> </span>not<span class="_ _f"> </span>evaluated<span class="_ _f"> </span>b<span class="_ _5"></span>y<span class="_ _f"> </span>using<span class="_ _f"> </span>the<span class="_ _f"> </span>macro</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">42/62</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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAQjElEQVR42u3dfXTV9X3A8U/CvXmEhGATqyZgRqolRGUSFgWpSEFtV0RdQM+xraNu9LizM9k6z846T9ftuNJzQjufxpkeap88HFc7AWsHKkK6DRRwqS0wtU1FBdslEUKCCdybh7s/AixBZBbkIfp6/ZP8fr97L998fn/kzb33d5M1vm5aAADAGaP5+f/MNgUAAM40IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAgMOy0um0KQAAcOZIJpOeSQUA4IwjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAcLokhtFa9+3b54QBAByfUaNGDaPVeiYVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRagQAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAA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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>6</div><div class="t m0 x9 hc y16d ff1 fs7 fc0 sc0 ls0 ws0">F<span class="_ _5"></span>o<span class="_ _5"></span>rget<span class="_ _6"> </span>curly<span class="_ _6"> </span>brack<span class="_ _5"></span>ets<span class="_ _f"> </span>in<span class="_ _8"> </span>multi-lines<span class="_ _f"> </span>macros!!</div><div class="t m0 xc hf y16e ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>include<span class="_ _22"> </span><span class="fc6">&lt;iostream&gt;</span></div><div class="t m0 xc hf y18e ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>include<span class="_ _22"> </span><span class="fc6">&lt;nuclear_explosion.hpp&gt;</span></div><div class="t m0 xc hf y170 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>NUCLEAR_EXPLOSION<span class="_ _35"> </span>\<span class="_ _16"> </span><span class="fc6">//<span class="_ _10"> </span>{</span></div><div class="t m0 x6 hf y18f ffb fs8 fc0 sc0 ls0 ws0">std<span class="fc5">::</span>cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span><span class="fc7">&quot;start<span class="_ _10"> </span>nuclear<span class="_ _10"> </span>explosion&quot;</span></span>;<span class="_ _10"> </span>\</div><div class="t m0 x6 hf y171 ffb fs8 fc0 sc0 ls0 ws0">nuclear_explosion();</div><div class="t m0 x21 hf y172 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>}</div><div class="t m0 xc hf y173 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc4">main<span class="fc0">()<span class="_ _10"> </span>{</span></span></div><div class="t m0 x6 hf y190 ff5 fs8 fc3 sc0 ls0 ws0">bool<span class="_ _10"> </span><span class="ffb fc0">never_happen<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span><span class="fc8">false</span></span>;</span></div><div class="t m0 x6 hf y191 ff5 fs8 fc8 sc0 ls0 ws0">if<span class="_ _10"> </span><span class="ffb fc0">(never_happen)</span></div><div class="t m0 x14 hf y19a ffb fs8 fc0 sc0 ls0 ws0">NUCLEAR_EXPLOSION</div><div class="t m0 xc hf y19b ffb fs8 fc0 sc0 ls0 ws0">}<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>BOOM!!</span></div><div class="t m0 x22 h15 y19b ff1d fs8 fc6 sc0 ls0 ws0"><span class="fcd sc0">A</span></div><div class="t m0 x1 hc y19c ff1 fs7 fc0 sc0 ls0 ws0">The<span class="_ _6"> </span>second<span class="_ _6"> </span>line<span class="_ _8"> </span>is<span class="_ _f"> </span>executed!!</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">43/62</div></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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAND0lEQVR42u3ZbWzUBx3A8d+VO3pAsYWMZUTkQZY5TnQIReShG3MU2LQbYtGZjUyG1pAsscnkzbLMaVReXDHMIclItzklVcPCk8yOJzlUCIHZYcjijNMRZJk8jFJYob2Wnm/oVgguUBIpyefz5p//Pfz7u9//xX1zTYydMj0AAKDPeGvvn4tsAQCAvkakAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAADwgUQ+n7cFAAD6jlQq5ZdUAAD6HJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAIDrJXkDzXrmzBk3DACgdwYPHnwDTeuXVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARKoVAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAA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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>7</div><div class="t m0 x23 hc y16d ff1 fs7 fc0 sc0 ls0 ws0">Macros<span class="_ _6"> </span>do<span class="_ _6"> </span>not<span class="_ _8"> </span>have<span class="_ _f"> </span>scop<span class="_ _c"></span>e!!</div><div class="t m0 xc hf y16e ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>include<span class="_ _22"> </span><span class="fc6">&lt;iostream&gt;</span></div><div class="t m0 xc hf y16f ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">()<span class="_ _10"> </span>{</span></span></div><div class="t m0 x6 hf y170 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>value<span class="_ _10"> </span>4</div><div class="t m0 x6 hf y18f ffb fs8 fc0 sc0 ls0 ws0">std<span class="fc5">::</span>cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>value;</div><div class="t m0 xc hf y171 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xc hf y172 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc4">main<span class="fc0">()<span class="_ _10"> </span>{</span></span></div><div class="t m0 x6 hf y173 ffb fs8 fc0 sc0 ls0 ws0">f();<span class="_ _36"> </span><span class="ffc fc6">//<span class="_ _10"> </span>4</span></div><div class="t m0 x6 hf y190 ffb fs8 fc0 sc0 ls0 ws0">std<span class="fc5">::</span>cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>value;<span class="_ _16"> </span><span class="ffc fc6">//<span class="_ _10"> </span>4</span></div><div class="t m0 x6 hf y191 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>value<span class="_ _10"> </span>3</div><div class="t m0 x6 hf y19a ffb fs8 fc0 sc0 ls0 ws0">f();<span class="_ _36"> </span><span class="ffc fc6">//<span class="_ _10"> </span>4</span></div><div class="t m0 x6 hf y19b ffb fs8 fc0 sc0 ls0 ws0">std<span class="fc5">::</span>cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>value;<span class="_ _16"> </span><span class="ffc fc6">//<span class="_ _10"> </span>3</span></div><div class="t m0 xc hf y19d ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xb h10 y19e ff1 fs8 fc9 sc0 ls0 ws0">*<span class="_ _1d"> </span><span class="ff13">In<span class="_ _d"> </span>general,<span class="_ _d"> </span>compilers<span class="_ _d"> </span>raise<span class="_ _d"> </span>a<span class="_ _d"> </span>wa<span class="_ _5"></span>rning<span class="_ _1d"> </span>for<span class="_ _1d"> </span>multiple<span class="_ _d"> </span>definitions<span class="_ _d"> </span>of<span class="_ _d"> </span>the<span class="_ _d"> </span>same<span class="_ _d"> </span>macro</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">44/62</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,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>8</div><div class="t m0 x24 hc y184 ff1 fs7 fc0 sc0 ls0 ws0">Macros<span class="_ _6"> </span>can<span class="_ _6"> </span>have<span class="_ _8"> </span>side<span class="_ _f"> </span>effect!!</div><div class="t m0 xc hf y19f ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>MIN(a,<span class="_ _10"> </span>b)<span class="_ _10"> </span>((a)<span class="_ _10"> </span>&lt;<span class="_ _10"> </span>(b)<span class="_ _10"> </span>?<span class="_ _10"> </span>(a)<span class="_ _10"> </span>:<span class="_ _10"> </span>(b))</div><div class="t m0 xc hf y1a0 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc4">main<span class="fc0">()<span class="_ _10"> </span>{</span></span></div><div class="t m0 x6 hf y1a1 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc0">array1[]<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>{<span class="_ _10"> </span><span class="fc5">1</span>,<span class="_ _10"> </span><span class="fc5">5</span>,<span class="_ _10"> </span><span class="fc5">2<span class="_ _10"> </span></span>};</span></div><div class="t m0 x6 hf y1a2 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc0">array2[]<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>{<span class="_ _10"> </span><span class="fc5">6</span>,<span class="_ _10"> </span><span class="fc5">3</span>,<span class="_ _10"> </span><span class="fc5">4<span class="_ _10"> </span></span>};</span></div><div class="t m0 x6 hf y1a3 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc0">i<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span>0</span>;</span></div><div class="t m0 x6 hf y1a4 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc0">j<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span>0</span>;</span></div><div class="t m0 x6 hf y1a5 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc0">v1<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>MIN(array1[i<span class="fc5">++</span>],<span class="_ _10"> </span>array2[j<span class="fc5">++</span>]);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>v1<span class="_ _10"> </span>=<span class="_ _10"> </span>5!!</span></span></div><div class="t m0 x6 hf y1a6 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc0">v2<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>MIN(array1[i<span class="fc5">++</span>],<span class="_ _10"> </span>array2[j<span class="fc5">++</span>]);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>undefined<span class="_ _10"> </span>behavior/</span></span></div><div class="t m0 xc hf y1a7 ffb fs8 fc0 sc0 ls0 ws0">}<span class="_ _37"> </span><span class="ffc fc6">//<span class="_ _10"> </span>segmentation<span class="_ _10"> </span>fault</span></div><div class="t m0 x25 h15 y1a7 ff1d fs8 fc6 sc0 ls0 ws0"><span class="fcd sc0">A</span></div><div class="t m0 xb hf y1a8 ffb fs8 fc9 sc0 ls0 ws0">arne-mertz.de/2019/03/macro-evil</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">45/62</div><a class="l" href="https://arne-mertz.de/2019/03/macro-evil/"><div class="d m1" style="border-style:none;position:absolute;left:34.722000px;bottom:3.170000px;width:152.628000px;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="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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAANK0lEQVR42u3bbWzUBx3A8d+VO3pAawsZy4jIU5c5TnQIReRpY46nTbshFl2yLRPQGl5JxL1ZljmNyosrhskkGcPhlKCGhSeZHU9yUyGkzIIhizNORxhz8jBK6Qr0+nC+KVtZcGElY+A+nzeX/z38+7vf/8V9c80lKsZPCgAAuGq8svfPRbYAAMDVRqQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAPC2RD6ftwUAAK4eqVTKN6kAAFx1RCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAIArL3kNzdrc3OyCAQD0TGlp6TU0rW9SAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqVYAAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAi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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>9</div><div class="t m0 x26 hc y1a9 ff1 fs7 fc0 sc0 ls0 ws0">Macros<span class="_ _6"> </span>can<span class="_ _6"> </span>have<span class="_ _8"> </span>undefined<span class="_ _f"> </span>b<span class="_ _c"></span>ehavio<span class="_ _5"></span>r<span class="_ _6"> </span>themselves!!</div><div class="t m0 xc hf y1aa ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>MY_MACRO<span class="_ _10"> </span>defined(EXTERNAL_MACRO)</div><div class="t m0 xc hf y1ab ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>if<span class="_ _10"> </span>MY_MACRO</div><div class="t m0 xc hf y1ac ffc fs8 fca sc0 ls0 ws0">#<span class="_ _33"> </span>define<span class="_ _10"> </span>MY_VALUE<span class="_ _10"> </span>1</div><div class="t m0 xc hf y1ad ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>else</div><div class="t m0 xc hf y1ae ffc fs8 fca sc0 ls0 ws0">#<span class="_ _33"> </span>define<span class="_ _10"> </span>MY_VALUE<span class="_ _10"> </span>0</div><div class="t m0 xc hf y1af ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>endif</div><div class="t m0 xc hf y1b0 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">()<span class="_ _10"> </span>{<span class="_ _10"> </span></span></span><span class="fc8">return<span class="_ _10"> </span><span class="ffb fc0">MY_VALUE;<span class="_ _10"> </span>}<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>undefined<span class="_ _10"> </span>behavior</span></span></span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">46/62</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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">When<span class="_ _8"> </span>Prep<span class="_ _5"></span>ro<span class="_ _c"></span>cesso<span class="_ _5"></span>rs<span class="_ _8"> </span>a<span class="_ _5"></span>re<span class="_ _8"> </span>Necessa<span class="_ _5"></span>ry</div><div class="t m0 xb hc ye8 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff1">Conditional<span class="_ _6"> </span>compiling<span class="_ _c"></span><span class="ff4">:<span class="_ _10"> </span>different<span class="_ _a"> </span>architectures,<span class="_ _a"> </span>compiler<span class="_ _f"> </span>features,<span class="_ _f"> </span>etc.</span></span></div><div class="t m0 xb hc y1b1 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff1">Mixing<span class="_ _6"> </span>different<span class="_ _6"> </span>languages<span class="ff4">:<span class="_ _b"> </span>code<span class="_ _f"> </span>generation<span class="_ _f"> </span>(example:<span class="_ _b"> </span><span class="ffe">asm<span class="_ _4"> </span>assembly</span>)</span></span></div><div class="t m0 xb hc y1b2 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff1">Complex<span class="_ _6"> </span>name<span class="_ _6"> </span>replacing<span class="_ _c"></span><span class="ff4">:<span class="_ _10"> </span>see<span class="_ _f"> </span>template<span class="_ _f"> </span>p<span class="_ _5"></span>rogramming</span></span></div><div class="t m0 x1 hc y1b3 ff1 fs7 fc0 sc0 ls0 ws0">Otherwise<span class="ff4">,<span class="_ _f"> </span>p<span class="_ _5"></span>refer<span class="_ _12"> </span><span class="ffe">const<span class="_ _12"> </span></span>and<span class="_ _1e"> </span><span class="ffe">constexpr<span class="_ _12"> </span></span>for<span class="_ _a"> </span>constant<span class="_ _f"> </span>values<span class="_ _f"> </span>and<span class="_ _f"> </span>functions</span></div><div class="t m0 xc hf y1b4 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>SIZE<span class="_ _10"> </span>3<span class="_ _17"> </span><span class="fc6">//<span class="_ _10"> </span>replaced<span class="_ _10"> </span>with</span></div><div class="t m0 xc hf y1b5 ff5 fs8 fc8 sc0 ls0 ws0">const<span class="_ _10"> </span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">SIZE<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span>3</span>;<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>only<span class="_ _10"> </span>C++11<span class="_ _10"> </span>at<span class="_ _10"> </span>global<span class="_ _10"> </span>scope</span></span></span></div><div class="t m0 xc hf y1b6 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>SUB(a,<span class="_ _10"> </span>b)<span class="_ _10"> </span>((a)<span class="_ _10"> </span>-<span class="_ _10"> </span>(b))<span class="_ _22"> </span><span class="fc6">//<span class="_ _10"> </span>replaced<span class="_ _10"> </span>with</span></div><div class="t m0 xc hf y1b7 ff5 fs8 fc8 sc0 ls0 ws0">constexpr<span class="_ _10"> </span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc4">sub<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">a,<span class="_ _10"> </span></span>int<span class="_ _10"> </span><span class="ffb fc0">b)<span class="_ _10"> </span>{</span></span></div><div class="t m0 x6 hf y1b8 ff5 fs8 fc8 sc0 ls0 ws0">return<span class="_ _10"> </span><span class="ffb fc0">a<span class="_ _10"> </span><span class="fc5">-<span class="_ _10"> </span></span>b;</span></div><div class="t m0 xc hf y1b9 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xb hf y1ba ffb fs8 fc9 sc0 ls0 ws0">Are<span class="_ _10"> </span>We<span class="_ _10"> </span>Macro<span class="_ _10"> </span>free<span class="_ _10"> </span>Yet,<span class="_ _10"> </span>CppCon2019</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">47/62</div><a class="l" href="https://github.com/CppCon/CppCon2019/blob/master/Presentations/are_we_macrofree_yet/are_we_macrofree_yet__zhihao_yuan__cppcon_2019.pdf"><div class="d m1" style="border-style:none;position:absolute;left:34.722000px;bottom:6.363000px;width:157.335000px;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="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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Source<span class="_ _8"> </span>Lo<span class="_ _c"></span>cation<span class="_ _8"> </span>Macros<span class="_ _38"> </span>1/3</div><div class="t m0 x13 hc y76 ff5 fs7 fc0 sc0 ls0 ws0">LINE<span class="_ _39"> </span><span class="ff4">Integer<span class="_ _f"> </span>value<span class="_ _a"> </span>representing<span class="_ _a"> </span>the<span class="_ _f"> </span>current<span class="_ _f"> </span>line<span class="_ _f"> </span>in<span class="_ _f"> </span>the<span class="_ _f"> </span>source<span class="_ _f"> </span>co<span class="_ _c"></span>de<span class="_ _a"> </span>file</span></div><div class="t m0 x2 hc y161 ff4 fs7 fc0 sc0 ls0 ws0">b<span class="_ _c"></span>eing<span class="_ _a"> </span>compiled</div><div class="t m0 x13 hc yea ff5 fs7 fc0 sc0 ls0 ws0">FILE<span class="_ _39"> </span><span class="ff4">A<span class="_ _f"> </span>string<span class="_ _a"> </span>literal<span class="_ _f"> </span>containing<span class="_ _f"> </span>the<span class="_ _f"> </span>name<span class="_ _f"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>source<span class="_ _f"> </span>file<span class="_ _f"> </span>b<span class="_ _c"></span>eing</span></div><div class="t m0 x2 hc yeb ff4 fs7 fc0 sc0 ls0 ws0">compiled</div><div class="t m0 x27 hc y1bb ff5 fs7 fc0 sc0 ls0 ws0">FUNCTION<span class="_ _39"> </span><span class="ff4">(non-standa<span class="_ _5"></span>rd,<span class="_ _f"> </span><span class="ffe">gcc</span>,<span class="_ _f"> </span><span class="ffe">clang</span>)<span class="_ _a"> </span>A<span class="_ _f"> </span>string<span class="_ _f"> </span>literal<span class="_ _f"> </span>containing<span class="_ _f"> </span>the<span class="_ _f"> </span>name<span class="_ _f"> </span>of</span></div><div class="t m0 x2 hc y1bc ff4 fs7 fc0 sc0 ls0 ws0">the<span class="_ _f"> </span>function<span class="_ _a"> </span>in<span class="_ _f"> </span>the<span class="_ _f"> </span>macro<span class="_ _f"> </span>scop<span class="_ _c"></span>e</div><div class="t m0 x28 hc y1bd ff5 fs7 fc0 sc0 ls0 ws0">PRETTY<span class="_ _6"> </span>FUNCTION<span class="_ _39"> </span><span class="ff4">(non-standard,<span class="_ _a"> </span><span class="ffe">gcc</span>,<span class="_ _f"> </span><span class="ffe">clang</span>)<span class="_ _f"> </span>A<span class="_ _f"> </span>string<span class="_ _f"> </span>literal<span class="_ _f"> </span>containing<span class="_ _f"> </span>the<span class="_ _f"> </span>full</span></div><div class="t m0 x2 hc y1be ff4 fs7 fc0 sc0 ls0 ws0">signature<span class="_ _f"> </span>of<span class="_ _a"> </span>the<span class="_ _f"> </span>function<span class="_ _f"> </span>in<span class="_ _f"> </span>the<span class="_ _f"> </span>macro<span class="_ _f"> </span>scop<span class="_ _c"></span>e</div><div class="t m0 x29 hc y1bf ffe fs7 fc4 sc0 ls0 ws0">func<span class="_ _3a"> </span><span class="ff4 fc0">(<span class="fcb">C++11<span class="_ _f"> </span></span>k<span class="_ _5"></span>eyw<span class="_ _5"></span>o<span class="_ _5"></span>rd)<span class="_ _f"> </span>A<span class="_ _f"> </span>string<span class="_ _f"> </span>containing<span class="_ _f"> </span>the<span class="_ _a"> </span>name<span class="_ _f"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>function<span class="_ _f"> </span>in</span></div><div class="t m0 x2 hc y1c0 ff4 fs7 fc0 sc0 ls0 ws0">the<span class="_ _f"> </span>macro<span class="_ _a"> </span>scop<span class="_ _c"></span>e</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">48/62</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAM+UlEQVR42u3YbWzUBx3A8d+VO3pAsYWMZUTkqcs2bnMiDyJPgznKk3ZDLLpkWyab1vDKJnNvlmVOo/LiOgMDMSN1y5QQDZMnmV15kNsUQtjsMMQ443AEWSYPoxTWQq8P5xs624kLK1G65PN5c/n/7+5/v/v9X9w3lyifNjMAAKDfePPAH4psAQCA/kakAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAADwvkQ+n7cFAAD6j1Qq5Z9UAAD6HZEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAC4lpIfo1nPnz/vhgEA9M3QoUM/RtP6JxUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJFqBQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIA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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Source<span class="_ _8"> </span>Lo<span class="_ _c"></span>cation<span class="_ _8"> </span>Macros<span class="_ _38"> </span>2/3</div><div class="t m0 x1 h16 y110 ff5 fs8 fc0 sc0 ls0 ws0">source.cpp:</div><div class="t m0 xc hf y1c1 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>include<span class="_ _22"> </span><span class="fc6">&lt;iostream&gt;</span></div><div class="t m0 xc hf y1c2 ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">p)<span class="_ _10"> </span>{</span></div><div class="t m0 x6 hf y1c3 ffb fs8 fc0 sc0 ls0 ws0">std<span class="fc5">::</span>cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>__FILE__<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span><span class="fc7">&quot;:&quot;<span class="_ _10"> </span></span>&lt;&lt;<span class="_ _10"> </span></span>__LINE__;<span class="_ _16"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span><span class="ff19">&apos;</span>source.cpp:4<span class="ff19">&apos;</span></span></div><div class="t m0 x6 hf y1c4 ffb fs8 fc0 sc0 ls0 ws0">std<span class="fc5">::</span>cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>__FUNCTION__;<span class="_ _36"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span><span class="ff19">&apos;</span>f<span class="ff19">&apos;</span></span></div><div class="t m0 x6 hf y1c5 ffb fs8 fc0 sc0 ls0 ws0">std<span class="fc5">::</span>cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>__func__;<span class="_ _3b"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span><span class="ff19">&apos;</span>f<span class="ff19">&apos;</span></span></div><div class="t m0 xc hf y1c6 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xc hf y1c7 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>see<span class="_ _10"> </span>template<span class="_ _10"> </span>lectures</div><div class="t m0 xc hf y1c8 ff5 fs8 fc8 sc0 ls0 ws0">template<span class="ffb fc5">&lt;</span>typename<span class="_ _10"> </span><span class="fc4">T<span class="ffb fc5">&gt;</span></span></div><div class="t m0 xc hf y1c9 ff5 fs8 fc3 sc0 ls0 ws0">float<span class="_ _10"> </span><span class="ffb fc0">g(T<span class="_ _10"> </span>p)<span class="_ _10"> </span>{</span></div><div class="t m0 x6 hf y1ca ffb fs8 fc0 sc0 ls0 ws0">std<span class="fc5">::</span>cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>__PRETTY_FUNCTION__;<span class="_ _27"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span><span class="ff19">&apos;</span>float<span class="_ _10"> </span>g(T)<span class="_ _10"> </span>[T<span class="_ _10"> </span>=<span class="_ _10"> </span>int]<span class="ff19">&apos;</span></span></div><div class="t m0 x6 hf y1cb ff5 fs8 fc8 sc0 ls0 ws0">return<span class="_ _10"> </span><span class="ffb fc5">0.0f<span class="fc0">;</span></span></div><div class="t m0 xc hf y1cc ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xc hf y1cd ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc0">g1()<span class="_ _10"> </span>{<span class="_ _10"> </span>g(<span class="fc5">3</span>);<span class="_ _10"> </span>}</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">49/62</div></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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Source<span class="_ _8"> </span>Lo<span class="_ _c"></span>cation<span class="_ _8"> </span>Macros<span class="_ _38"> </span>3/3</div><div class="t m0 x1 hc y84 ff4 fs7 fcb sc0 ls0 ws0">C++20<span class="_ _f"> </span><span class="fc0">p<span class="_ _5"></span>rovides<span class="_ _f"> </span>source<span class="_ _a"> </span>lo<span class="_ _c"></span>cation<span class="_ _f"> </span>utilities<span class="_ _f"> </span>for<span class="_ _a"> </span>replacing<span class="_ _f"> </span>macro-based<span class="_ _f"> </span>app<span class="_ _5"></span>roach</span></div><div class="t m0 xc he y1ce ffe fs7 fc0 sc0 ls0 ws0">#include<span class="_ _13"> </span><span class="ff1c">&lt;</span>source<span class="_ _6"> </span>location<span class="ff1c">&gt;</span></div><div class="t m0 x19 h6 y1cf ff5 fs4 fc0 sc0 ls0 ws0">current()<span class="_ _24"> </span><span class="ff4">get<span class="_ _d"> </span>source<span class="_ _a"> </span>lo<span class="_ _c"></span>cation<span class="_ _d"> </span>info<span class="_ _a"> </span>(<span class="ffe">static<span class="_ _b"> </span>member</span>)</span></div><div class="t m0 x2a h6 y1d0 ff5 fs4 fc0 sc0 ls0 ws0">line()<span class="_ _24"> </span><span class="ff4">source<span class="_ _d"> </span>co<span class="_ _c"></span>de<span class="_ _a"> </span>line</span></div><div class="t m0 x16 h6 y1d1 ff5 fs4 fc0 sc0 ls0 ws0">column()<span class="_ _24"> </span><span class="ff4">line<span class="_ _d"> </span>column</span></div><div class="t m0 x2b h6 y1d2 ff5 fs4 fc0 sc0 ls0 ws0">file<span class="_ _f"> </span>name()<span class="_ _24"> </span><span class="ff4">current<span class="_ _a"> </span>file<span class="_ _a"> </span>name</span></div><div class="t m0 x28 h6 y1d3 ff5 fs4 fc0 sc0 ls0 ws0">function<span class="_ _f"> </span>name()<span class="_ _24"> </span><span class="ff4">current<span class="_ _a"> </span>function<span class="_ _a"> </span>name</span></div><div class="t m0 xc hf y1d4 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>include<span class="_ _22"> </span><span class="fc6">&lt;source_location&gt;</span></div><div class="t m0 xc hf y1d5 ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(std<span class="fc5">::</span>source_location<span class="_ _10"> </span>s<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>std<span class="fc5">::</span>source_location<span class="fc5">::</span>current())<span class="_ _10"> </span>{</span></span></div><div class="t m0 x6 hf y1d6 ffb fs8 fc0 sc0 ls0 ws0">cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span><span class="fc7">&quot;function:<span class="_ _10"> </span>&quot;<span class="_ _10"> </span></span>&lt;&lt;<span class="_ _10"> </span></span>s.function_name()<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span><span class="fc7">&quot;,<span class="_ _10"> </span>line<span class="_ _10"> </span>&quot;<span class="_ _10"> </span></span>&lt;&lt;<span class="_ _10"> </span></span>s.line();</div><div class="t m0 xc hf y1d7 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xc hf y1d8 ffb fs8 fc0 sc0 ls0 ws0">f();<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print:<span class="_ _10"> </span>&quot;function:<span class="_ _10"> </span>f,<span class="_ _10"> </span>line<span class="_ _10"> </span>6&quot;</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">50/62</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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Condition<span class="_ _8"> </span>Compiling<span class="_ _8"> </span>Macros<span class="_ _3c"> </span>1/2</div><div class="t m0 x1 hc y84 ff1 fs7 fc0 sc0 ls0 ws0">Select<span class="_ _6"> </span>co<span class="_ _c"></span>de<span class="_ _6"> </span>dep<span class="_ _c"></span>ending<span class="_ _6"> </span>on<span class="_ _6"> </span>the<span class="_ _6"> </span>C/C++<span class="_ _8"> </span>version</div><div class="t m0 xe h6 y1d9 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe">#if<span class="_ _b"> </span>defined(<span class="_ _3"> </span>cplusplus)<span class="_ _1c"> </span><span class="ff4">C++<span class="_ _a"> </span>co<span class="_ _c"></span>de</span></span></div><div class="t m0 xe h6 y1da fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe">#if<span class="_ _3d"> </span>cplusplus<span class="_ _b"> </span>==<span class="_ _b"> </span>199711L<span class="_ _22"> </span><span class="ff4">ISO<span class="_ _a"> </span>C++<span class="_ _a"> </span>1998/2003</span></span></div><div class="t m0 xe h6 y1db fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe">#if<span class="_ _3d"> </span>cplusplus<span class="_ _b"> </span>==<span class="_ _b"> </span>201103L<span class="_ _22"> </span><span class="ff4">ISO<span class="_ _a"> </span>C++<span class="_ _a"> </span>2011<span class="ff1">*</span></span></span></div><div class="t m0 xe h6 y1dc fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe">#if<span class="_ _3d"> </span>cplusplus<span class="_ _b"> </span>==<span class="_ _b"> </span>201402L<span class="_ _22"> </span><span class="ff4">ISO<span class="_ _a"> </span>C++<span class="_ _a"> </span>2014<span class="ff1">*</span></span></span></div><div class="t m0 xe h6 y1dd fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe">#if<span class="_ _3d"> </span>cplusplus<span class="_ _b"> </span>==<span class="_ _b"> </span>201703L<span class="_ _22"> </span><span class="ff4">ISO<span class="_ _a"> </span>C++<span class="_ _a"> </span>2017</span></span></div><div class="t m0 x1 hc y1de ff1 fs7 fc0 sc0 ls0 ws0">Select<span class="_ _6"> </span>co<span class="_ _c"></span>de<span class="_ _6"> </span>dep<span class="_ _c"></span>ending<span class="_ _6"> </span>on<span class="_ _6"> </span>the<span class="_ _6"> </span>compi<span class="_ _c"></span>ler</div><div class="t m0 x2c h6 y1df fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe">#if<span class="_ _b"> </span>defined(<span class="_ _3"> </span>GNUG<span class="_ _3e"> </span>)<span class="_ _22"> </span><span class="ff4">The<span class="_ _a"> </span>compiler<span class="_ _d"> </span>is<span class="_ _a"> </span></span>gcc/g++</span></div><div class="t m0 x2d h17 y1e0 ff1e fs6 fc0 sc0 ls0 ws0"></div><div class="t m0 x2c h6 y1e1 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe">#if<span class="_ _b"> </span>defined(<span class="_ _3"> </span>clang<span class="_ _3e"> </span>)<span class="_ _22"> </span><span class="ff4">The<span class="_ _a"> </span>compiler<span class="_ _d"> </span>is<span class="_ _a"> </span></span>clang/clang++</span></div><div class="t m0 x2c h6 y1e2 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe">#if<span class="_ _b"> </span>defined(<span class="_ _f"> </span>MSC<span class="_ _6"> </span>VER)<span class="_ _22"> </span><span class="ff4">The<span class="_ _a"> </span>compiler<span class="_ _d"> </span>is<span class="_ _a"> </span></span>Microsoft<span class="_ _4"> </span>Visual<span class="_ _b"> </span>C++</span></div><div class="t m0 x2e h10 y1e3 ff1 fs8 fc9 sc0 ls0 ws0">*<span class="_ _4"> </span><span class="ffb">MSVC<span class="_ _10"> </span>defines<span class="_ _3f"> </span>cplusplus<span class="_ _10"> </span>==<span class="_ _10"> </span>199711L<span class="_ _10"> </span>even<span class="_ _10"> </span>for<span class="_ _10"> </span>C++11/14</span></div><div class="t m0 x2e h10 y1e4 ff1e fs8 fc9 sc0 ls0 ws0"><span class="_ _40"> </span><span class="ffb">GNUC<span class="_ _3f"> </span>is<span class="_ _10"> </span>defined<span class="_ _10"> </span>by<span class="_ _10"> </span>many<span class="_ _10"> </span>compilers,<span class="_ _10"> </span>e.g<span class="_ _10"> </span>clang</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">51/62</div><a class="l" href="https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/"><div class="d m1" style="border-style:none;position:absolute;left:32.332000px;bottom:21.206000px;width:248.845000px;height:10.588000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://stackoverflow.com/questions/38499462/how-to-tell-clang-to-stop-pretending-to-be-other-compilers"><div class="d m1" style="border-style:none;position:absolute;left:32.332000px;bottom:6.610000px;width:222.672000px;height:10.212000px;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="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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Condition<span class="_ _8"> </span>Compiling<span class="_ _8"> </span>Macros<span class="_ _3c"> </span>2/2</div><div class="t m0 x1 hc y84 ff1 fs7 fc0 sc0 ls0 ws0">Select<span class="_ _6"> </span>co<span class="_ _c"></span>de<span class="_ _6"> </span>dep<span class="_ _c"></span>ending<span class="_ _6"> </span>on<span class="_ _6"> </span>the<span class="_ _6"> </span>op<span class="_ _c"></span>erating<span class="_ _6"> </span>system<span class="_ _8"> </span>o<span class="_ _5"></span>r<span class="_ _f"> </span>environment</div><div class="t m0 xe h6 y1e5 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe">#if<span class="_ _b"> </span>defined(<span class="_ _f"> </span>WIN64)<span class="_ _22"> </span><span class="ff4">OS<span class="_ _a"> </span>is<span class="_ _a"> </span></span>Windows<span class="_ _b"> </span>64-bit</span></div><div class="t m0 xe h6 y1e6 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe">#if<span class="_ _b"> </span>defined(<span class="_ _3"> </span>linux<span class="_ _3e"> </span>)<span class="_ _22"> </span><span class="ff4">OS<span class="_ _a"> </span>is<span class="_ _a"> </span></span>Linux</span></div><div class="t m0 xe h6 y1e7 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe">#if<span class="_ _b"> </span>defined(<span class="_ _3"> </span>APPLE<span class="_ _3e"> </span>)<span class="_ _22"> </span><span class="ff4">OS<span class="_ _a"> </span>is<span class="_ _a"> </span></span>Mac<span class="_ _b"> </span>OS</span></div><div class="t m0 xe h6 y1e8 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe">#if<span class="_ _b"> </span>defined(<span class="_ _3"> </span>MINGW32<span class="_ _3e"> </span>)<span class="_ _22"> </span><span class="ff4">OS<span class="_ _a"> </span>is<span class="_ _a"> </span></span>MinGW<span class="_ _b"> </span>32-bit</span></div><div class="t m0 xe h6 y1e9 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">...and<span class="_ _a"> </span>many<span class="_ _d"> </span>others</span></div><div class="t m0 x2e hc y1ea ff5 fs7 fc0 sc0 ls0 ws0">DATE<span class="_ _39"> </span><span class="ff4">A<span class="_ _f"> </span>string<span class="_ _a"> </span>literal<span class="_ _f"> </span>in<span class="_ _f"> </span>the<span class="_ _f"> </span>form<span class="_ _a"> </span>”MMM<span class="_ _f"> </span>DD<span class="_ _f"> </span>YYYY”<span class="_ _f"> </span>containing<span class="_ _f"> </span>the<span class="_ _f"> </span>date<span class="_ _f"> </span>in<span class="_ _f"> </span>which</span></div><div class="t m0 x2a hc y1eb ff4 fs7 fc0 sc0 ls0 ws0">the<span class="_ _f"> </span>compilation<span class="_ _a"> </span>process<span class="_ _f"> </span>b<span class="_ _c"></span>egan</div><div class="t m0 x2e hc y1ec ff5 fs7 fc0 sc0 ls0 ws0">TIME<span class="_ _39"> </span><span class="ff4">A<span class="_ _f"> </span>string<span class="_ _a"> </span>literal<span class="_ _f"> </span>in<span class="_ _f"> </span>the<span class="_ _f"> </span>form<span class="_ _a"> </span>”hh:mm:ss”<span class="_ _f"> </span>containing<span class="_ _f"> </span>the<span class="_ _f"> </span>time<span class="_ _f"> </span>at<span class="_ _f"> </span>which<span class="_ _f"> </span>the</span></div><div class="t m0 x2a hc y1ed ff4 fs7 fc0 sc0 ls0 ws0">compilation<span class="_ _f"> </span>p<span class="_ _5"></span>ro<span class="_ _c"></span>cess<span class="_ _a"> </span>b<span class="_ _c"></span>egan</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">52/62</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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAMzUlEQVR42u3YbWxV9R3A8d8t99ILrWshYiRjgKtRuT6MQRnjoYqTArpVGSubiRpX3bqQLFkT5htjnFu28eKWBcWRSVDiRpotGJ6GqzyN6zYIQVdZyKLL3CQM4wpIuWgLvS29e9O6ljGDkEyyfD5vTv7n3HP6v7/z4n7TRNX0WQEAAJeNN/f9ocQUAAC43IhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAAA+kCgUCqYAAMDlI5VK+U8qAACXHZEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBINQIAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACLVCAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAAD+fyTzy64xBQCAY7VrDOEyMWnGgsSXE7GxGBGHxp95+qUHmjMTXxzz46v+Mu+R0btzccOaeGN/Y6xeHRGJiOKFPLM84v2IiHTEmYiIkRFdH3VfI9PlXWfeH3rufPtrqokV6x6NCd96NCYsu8j9DY8ofJT7IiKGp8sLA/s7dy6jUtHRExFzVnRWz/t6c6Zv1TWz3trU+spnduTi01Xx9zHTY19yVuzZe4H7rYjIR0SURnRf9IsurYju/NBTlc++940ZD136/lIRPRezvyFzK01Fd8/Q8yua02/fVZe95P2NizhyMftLRvT+e3/jovvI0P193PMbuO/c+Q34uOf3iYhTHza/poaHe9Jlva1nS+8pj83JzsWnK072lpS919GTLuttHV62OL+hL+rP9nb0pMt6r9xS0n509LolfUsSxwsnk12Vra923l3bmyz0FrrSpytb04V7ymNzcs2o39xSkuouKUkl/1kz5yvn/2wyX78tkrV9TxVHN+7cvvW6mvq+s8cm9z/idKJ+S/mquYXGnR2phTtPd97dU1HYlq+8Y9gvR3bfW0x29VQUtuVHHL2q+M3OTcOH1Z7NJ/OVrYnEwvM9aE35rute7KiecUdlazE/v3TEtr3F+jt/3d1en0onN/S8O6+lWDF4A5FYVHGyt6TY01HZekWiftPJwtyrt6TaH3h+zNZLfcyaVPt9w66I50bueLD96N7fzu7/aDJfv+1sfn7piF9cueXB9qN95feVl4x8fNWTFV0R8UTJ9AnVCxr2J/qPm1+fWFucls38tf/45uTJHdUzvrqzp2Ney/5i46QdnRPnxomd+4sLMzs6J8yNEy37z2bueu34G68d8vtyAcZGvPNhvy9NP78pVT0pm3khEcViREycOb1+zfjmzLAfHh63aGlz5vkb7n9mdfemx3/y5OEzkx57bP5Dv8pFxIHbYvLL5/lrB25bO/nlhoiIAz84vK5+aXPmk/3P/+L2jQfHtSzPZLdvXDmuZXlm+8Zpq762ceXMxpnf+fz965871XJozpAnHXk3/furr98w67O/2zdmd102c2xsetquumwmOzb901112Ux29qmnVz/cnFlfc+q7zww+NlY90jQlmznYWFXXNCWbOdZYNa1pSjaz/r/MZ+D7vxrxVkTE0m83RO/a5T8buD4x4lBExKhEdBQjYkTE6YiIJ/pGbLj3leTR6W25zsHrmrZcx+D1rW25E4PXc9pyxwevb2/LHRu8/kJb7ujgdW1b7p2IiDmfqrl10aqtf1rQlnt78PUvteUODV6fbMvN3hMx6/sR3xv8/bK9n9s9886G/XUR1X+MmNoQsfZ81xdH3PTniBtvj9gdEbFpS3rPtXXZD97jsohr/xZRdU3/vObHisMH97x+8/pz5jVwf0TEwcVx841PXd8595b/fA8vjf/R1Kkrl3SkXsj9Y+BcZ0TZ/6If/wVS26wlYbmVswAAAABJRU5ErkJggg=="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Other<span class="_ _8"> </span>Macros</div><div class="t m0 x1 hc y1ee ff1 fs7 fc0 sc0 ls0 ws0">V<span class="_ _5"></span>ery<span class="_ _6"> </span>comprehensive<span class="_ _f"> </span>macro<span class="_ _6"> </span>list:</div><div class="t m0 xb hc y1ef fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ffe">sourceforge.net/p/predef/wiki/Home/</span></div><div class="t m0 xb hc y1f0 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ffe">How<span class="_ _13"> </span>to<span class="_ _13"> </span>detect<span class="_ _13"> </span>the<span class="_ _13"> </span>operating<span class="_ _13"> </span>system<span class="_ _13"> </span>type<span class="_ _13"> </span>using<span class="_ _13"> </span>compiler<span class="_ _13"> </span>predefined</span></div><div class="t m0 x6 he y1f1 ffe fs7 fc0 sc0 ls0 ws0">macros</div><div class="t m0 xb hc y1f2 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ffe">Abseil<span class="_ _13"> </span>platform<span class="_ _13"> </span>macros</span></div><div class="t m0 xb hc y1f3 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ffe">Boost.Predef</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">53/62</div><a class="l" href="https://sourceforge.net/p/predef/wiki/Home/"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:135.788000px;width:202.447000px;height:11.993000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://web.archive.org/web/20191012035921/http:/nadeausoftware.com/articles/2012/01/c_c_tip_how_use_compiler_predefined_macros_detect_operating_system"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:117.218000px;width:377.025000px;height:10.952000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://web.archive.org/web/20191012035921/http:/nadeausoftware.com/articles/2012/01/c_c_tip_how_use_compiler_predefined_macros_detect_operating_system"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:104.061000px;width:36.356000px;height:6.615000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://abseil.io/docs/cpp/platforms/macros"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:83.066000px;width:127.993000px;height:10.952000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://www.boost.org/doc/libs/release/libs/predef/doc/index.html"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:66.920000px;width:70.720000px;height:8.528000px;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="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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>eature<span class="_ _8"> </span>T<span class="_ _7"></span>esting<span class="_ _8"> </span>Macro</div><div class="t m0 x1 hc y84 ff4 fs7 fcb sc0 ls0 ws0">C++17<span class="_ _f"> </span><span class="fc0">intro<span class="_ _c"></span>duces<span class="_ _41"> </span><span class="ff5">has<span class="_ _6"> </span>include<span class="_ _1e"> </span></span>macro<span class="_ _f"> </span>which<span class="_ _f"> </span>returns<span class="_ _12"> </span><span class="ffe">1<span class="_ _12"> </span></span>if<span class="_ _f"> </span>header<span class="_ _f"> </span>or<span class="_ _a"> </span>source<span class="_ _f"> </span>file</span></div><div class="t m0 x1 hc yd3 ff4 fs7 fc0 sc0 ls0 ws0">with<span class="_ _f"> </span>the<span class="_ _a"> </span>sp<span class="_ _c"></span>ecified<span class="_ _f"> </span>name<span class="_ _f"> </span>exists</div><div class="t m0 xc hf y12d ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>if<span class="_ _10"> </span>__has_include(&lt;iostream&gt;)</div><div class="t m0 xc hf y12e ffc fs8 fca sc0 ls0 ws0">#<span class="_ _33"> </span>include<span class="_ _22"> </span><span class="fc6">&lt;iostream&gt;</span></div><div class="t m0 xc hf y12f ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>endif</div><div class="t m0 x1 hc y1f4 ff4 fs7 fcb sc0 ls0 ws0">C++20<span class="_ _f"> </span><span class="fc0">intro<span class="_ _c"></span>duces<span class="_ _a"> </span>a<span class="_ _f"> </span>set<span class="_ _f"> </span>of<span class="_ _f"> </span>macros<span class="_ _f"> </span>to<span class="_ _f"> </span>evaluate<span class="_ _f"> </span>if<span class="_ _f"> </span>a<span class="_ _a"> </span>given<span class="_ _f"> </span>feature<span class="_ _f"> </span>is<span class="_ _f"> </span>supp<span class="_ _c"></span>o<span class="_ _5"></span>rted<span class="_ _f"> </span>b<span class="_ _5"></span>y<span class="_ _f"> </span>the</span></div><div class="t m0 x1 hc y1f5 ff4 fs7 fc0 sc0 ls0 ws0">compiler</div><div class="t m0 xc hf y1f6 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>if<span class="_ _10"> </span>__cpp_constexpr</div><div class="t m0 xc hf y1f7 ff5 fs8 fc8 sc0 ls0 ws0">constexpr<span class="_ _10"> </span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc4">square<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">x)<span class="_ _10"> </span>{<span class="_ _10"> </span></span></span>return<span class="_ _10"> </span><span class="ffb fc0">x<span class="_ _10"> </span><span class="fc5">*<span class="_ _10"> </span></span>x;<span class="_ _10"> </span>}</span></div><div class="t m0 xc hf y1f8 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>endif</div><div class="t m0 xb hf y1f9 ffb fs8 fc9 sc0 ls0 ws0">Feature<span class="_ _10"> </span>Testing<span class="_ _10"> </span>Macros</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">54/62</div><a class="l" href="https://en.cppreference.com/w/User:D41D8CD98F/feature_testing_macros"><div class="d m1" style="border-style:none;position:absolute;left:34.722000px;bottom:1.742000px;width:105.554000px;height:13.445000px;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="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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAANlElEQVR42u3df2yU9R3A8c+Ve+CA3lqdGM2Y4DAq548xBRkgwhQQ3eoPVpyLGoduXfxnkjj/Mca5ZZt/XF38NRIJ07gZ4oKhyNTKr3Fs05jqqgtZ5jI3idM4QC3lLG2flt7+kLqCzAhGPezr9c/lee7u6fc+Ty/3znN/XGbS9FkBAABV4+Vn/1RjCgAAVBuRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgDAezJpmpoCAADVI0kSV1IBAKg6IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAw1W2ytdXLpedJKhm+XzeexaO6LctVCdXUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKlGAACASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAMJ5k0TU0BAIDqkSSJK6kAAFQdkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAADDTNYIAGAYKpfLhvDJyOfzhnAYXEkFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAMBwlzUCAOBd3T09cxZdccDOtifXnnPxJe/faVx8rDJpmpoCAAw35XLZED4Z+XzeEA5VkiS+7gcAoOqIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAA4gJ9FBQCguvhZVAAAqlH2CFpruVz+DJ+JfD7v3xEAn8U+LnmXK6kAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAwzGTSNDUFAACqR5IkrqQCAFB1RCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAoJplj5SFdvf0LPz2NU4YHFm2tKwyBAAOQyZNU1MAAKB6JEni634AAKqOSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAADgEWSOoKnMuX3zAnk2PPnJB45UH7NzSssqsAIDPsEyapqYAAED1SJLE1/0AAFQdkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAPli2844TTQEA4OOzc/4KQzgkk2cszFyeiZZKRGw7oee+p65pLkx8YtzPj/37gpuP3lyKU1fES21NsXx5RGQiKh/mmLUR70RE5CJ6IiLGROw51HWNydXu6Xln/30HW9/S2XHXw7fEhO/fEhPuOMz1jYxID+V5EREjc7Xp4PoOnMtRSXT0RcTcu7qmLvhOc2Fg2YmzXlnT+tyXN5TiS5PiX+Omx7PZWfH0Mx9yvXURnRERoyJ6D/tEj6qL3s79d9X/qvzdGdd99PUlEX2Hs7795jYqid6+/fff1Zx7/eKG4kde3/iI1w5nfdmI/v+tb3z0vrb/+j7t+Q0+78D5Dfq05/e5iN0fNL+lS67vy43tb9076tLaeCzbtbi7bld/zdhyR19ubH/ryLGLO1cPROPe/o6+3Nj+Y9bWbN9x9MM3DNyQeTPdld1T3/p81yXz+7Npf7on113fmksvrY3HsiuOevLMmqS3pibJ/mf23G8e/LHZzsZ1kZ0/cE/l6KaN6x8/eXbjwN6dU/YdojvTuLZ22by0aWNHctnG7q5L+urSdZ31F4x4ZEzvlZXsnr66dF3n6B3HVr7XtWbkiPl7O7Od9a2ZzGUHO9CK2k0nP9ExdcYF9a2VzgtHjV73TKXxot/1bm9MctnVfW8tWFmpG7qAyCyq29VfU+nrqG/NZxrX7ErnHbc22X7NQ+Me/6iHWZFsv2pEPh4Ys+Ha7Tue+f25+x6a7Wxct7fzwlGjf3PM2mu37xiovaq2Zsxty+6u2xMRt9dMnzB14ZK2zL7bx/42cX5lWrHwj323L0+Z0jF1xhUb+zoWrGyrNE3e0DVxXry9sa1yWWFD14R58fbKtr2Fi19486UXtvl8+RCOj3jjgz5flv769GTq5GLh0UxUKhExceb0xhUnNBdG/PTV8Ytuai48dOrV9y/vXXPbL+5+tWfyrbdeeN1vSxHx4pyYsuUgf+3FOQ9O2bIkIuLFn7z6cONNzYUv7Dv+19e3bB2/8s5CcX3LveNX3llY3zJt2bda7p3ZNPPGr1696oHdK7fN3e9Ir72V++Nxp6ye9ZU/PDtuc0OxsPP43LRNDcVC8fjcLzc1FAvFc3fft/z65sKq2bt/eP/Q26ZJNy89q1jY2jSpYelZxcLOpknTlp5VLKz6P/MZfP3PR7wSEXFjnL9u6+dfOmPw8RMjtkVEHJWJjkpEjI7ojoi4fWD06iufy+6Y3l7qGro9u73UMXT7vPbS20O357aX3hy6/bX20s6h2+e3l3YM3Z7fXnojImLuF2eft2jZ439Z2F56fej932gvbRu6vau9dO7TEbN+HPGjoa+v2H/O5pkXLWlriJj654izl0Q8eLD7F0ec/teI074WsTkiYs3a3NMnNRTfO493RJz0z4hJJ+6b1w/i/PUHm9fg8yMiti6OM06755SueWe+/zw8dcLPzj773hs6kkdL/x7c1xUx9pPox/8C9C/kGccLxHgAAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>10<span class="_ _8"> </span><span class="ff14"></span></div><div class="t m0 xa hc y16d ff1 fs7 fc0 sc0 ls0 ws0">Macros<span class="_ _6"> </span>dep<span class="_ _c"></span>end<span class="_ _6"> </span>on<span class="_ _6"> </span>compilers<span class="_ _8"> </span>and<span class="_ _f"> </span>environment!!</div><div class="t m0 x1 h11 y1fa ff5 fs5 fc8 sc0 ls0 ws0">struct<span class="_ _8"> </span><span class="fc4">A<span class="_ _6"> </span><span class="ff15 fc0">{</span></span></div><div class="t m0 x11 h11 y1fb ff5 fs5 fc3 sc0 ls0 ws0">int<span class="_ _8"> </span><span class="ff15 fc0">x;<span class="_ _9"> </span><span class="ffc fc6">//<span class="_ _8"> </span>enable<span class="_ _8"> </span>C++11<span class="_ _6"> </span>code</span></span></div><div class="t m0 x1 h11 y1fc ffc fs5 fca sc0 ls0 ws0">#<span class="_ _21"> </span>if<span class="_ _6"> </span>__cplusplus<span class="_ _8"> </span>&gt;=<span class="_ _6"> </span>201103</div><div class="t m0 x11 h11 y1fd ff15 fs5 fc0 sc0 ls0 ws0">A()<span class="_ _8"> </span><span class="fc5">=<span class="_ _6"> </span><span class="ff5 fc8">default</span></span>;</div><div class="t m0 x1 h11 y1fe ffc fs5 fca sc0 ls0 ws0">#<span class="_ _21"> </span>else</div><div class="t m0 x11 h11 y1ff ff15 fs5 fc0 sc0 ls0 ws0">A()<span class="_ _8"> </span>{}</div><div class="t m0 x1 h11 y200 ffc fs5 fca sc0 ls0 ws0">#<span class="_ _21"> </span>endif</div><div class="t m0 x1 h11 y201 ff15 fs5 fc0 sc0 ls0 ws0">};</div><div class="t m0 x2f h11 y202 ffc fs5 fc6 sc0 ls0 ws0">//<span class="_ _8"> </span>should<span class="_ _6"> </span>return<span class="_ _8"> </span><span class="ff1f"><span class="_ _6"> </span></span>10.0f</div><div class="t m0 x2f h11 y203 ff5 fs5 fc3 sc0 ls0 ws0">float<span class="_ _8"> </span><span class="ff15 fc4">safe_function<span class="fc0">()<span class="_ _6"> </span>{</span></span></div><div class="t m0 x30 h11 y204 ff15 fs5 fc0 sc0 ls0 ws0">A<span class="_ _8"> </span>a{};<span class="_ _6"> </span><span class="ffc fc6">//<span class="_ _8"> </span>zero-initialization</span></div><div class="t m0 x30 h11 y205 ff5 fs5 fc8 sc0 ls0 ws0">for<span class="_ _8"> </span><span class="ff15 fc0">(</span><span class="fc3">int<span class="_ _6"> </span><span class="ff15 fc0">i<span class="_ _8"> </span><span class="fc5">=<span class="_ _8"> </span>0</span>;<span class="_ _6"> </span>i<span class="_ _8"> </span><span class="fc5">&lt;<span class="_ _8"> </span>10</span>;<span class="_ _6"> </span>i<span class="fc5">++</span>)</span></span></div><div class="t m0 x31 h11 y206 ff15 fs5 fc0 sc0 ls0 ws0">a.x<span class="_ _8"> </span><span class="fc5">+=<span class="_ _6"> </span>1.0f</span>;</div><div class="t m0 x30 h11 y207 ff5 fs5 fc8 sc0 ls0 ws0">return<span class="_ _8"> </span><span class="ff15 fc0">a.x;</span></div><div class="t m0 x2f h11 y208 ff15 fs5 fc0 sc0 ls0 ws0">}</div><div class="t m0 x2f h11 y209 ffc fs5 fc6 sc0 ls0 ws0">//<span class="_ _8"> </span>what<span class="_ _6"> </span>is<span class="_ _8"> </span>the<span class="_ _6"> </span>behavior<span class="_ _8"> </span>???</div><div class="t m0 x1 h6 y20a ff4 fs4 fc0 sc0 ls0 ws0">The<span class="_ _d"> </span>co<span class="_ _c"></span>de<span class="_ _a"> </span>w<span class="_ _5"></span>orks<span class="_ _d"> </span>fine<span class="_ _d"> </span>on<span class="_ _a"> </span>Linux,<span class="_ _a"> </span>but<span class="_ _a"> </span>not<span class="_ _a"> </span>under<span class="_ _d"> </span>Windows<span class="_ _d"> </span>MSVC.<span class="_ _d"> </span>MSVC<span class="_ _d"> </span>sets<span class="_ _3a"> </span><span class="ffe">cplusplus<span class="_ _12"> </span></span>to</div><div class="t m0 xc h6 y20b ffe fs4 fc0 sc0 ls0 ws0">199711<span class="_ _22"> </span><span class="ff4">even<span class="_ _a"> </span>if<span class="_ _d"> </span>C++11/14/17<span class="_ _a"> </span>flag<span class="_ _a"> </span>is<span class="_ _a"> </span>set!!<span class="_ _8"> </span>in<span class="_ _a"> </span>this<span class="_ _a"> </span>case<span class="_ _d"> </span>the<span class="_ _a"> </span>co<span class="_ _c"></span>de<span class="_ _d"> </span>can<span class="_ _a"> </span>return<span class="_ _22"> </span></span>NaN</div><div class="t m0 x2b h10 y20c ff13 fs8 fc9 sc0 ls0 ws0">see<span class="_ _1d"> </span>Lecture<span class="_ _d"> </span>“Object-Oriented<span class="_ _d"> </span>Programming<span class="_ _d"> </span>I<span class="_ _c"></span>I<span class="_ _1d"> </span>-<span class="_ _d"> </span>Zero<span class="_ _d"> </span>Initialization”<span class="_ _d"> </span>and<span class="_ _d"> </span><span class="ffb">MSVC<span class="_ _10"> </span>now<span class="_ _10"> </span>correctly</span></div><div class="t m0 x1 hf y20d ffb fs8 fc9 sc0 ls0 ws0">reports<span class="_ _3f"> </span>cplusplus</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">55/62</div><a class="l" href="https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/"><div class="d m1" style="border-style:none;position:absolute;left:315.395000px;bottom:20.400000px;width:110.798000px;height:11.657000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/"><div class="d m1" style="border-style:none;position:absolute;left:27.350000px;bottom:6.009000px;width:88.796000px;height:11.154000px;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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAANPklEQVR42u3Yb5DUdR3A8c8e+4MFbruTEUcnEgxHZf0TKUT8U0z+aZ0aHeWMOobWlY9iUp84jllT+WBPB8WYEQnHYpgaHUDSTv4Ya6XjoJ001GiTJUM6BqjHsh5wv/uzPeHsjshRaGSx1+vJzu+3u9/77uf34N7zzYyfMj0AAKBmvPr87+tMAQCAWiNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAB4TyZNU1MAAKB2JEniJBUAgJojUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQDgI5Y1AuAjUKlUjn2RfD5vkgD/J5ykAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAg2TSNDUFAABqR5IkTlIBAKg5IhUAAJEKAAAiFQAAkQoAAMcqawTA8VWpVI59kXw+b5IAHydOUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgDA8ZVJ09QUAACoHUmSOEkFAKDmiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAAPgfy55Ae61UKh4YAMDRyefzJ9BunaQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAODjKpOmqSkAAFA7kiRxkgoAQM0RqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQDg+MqeQHutVCoeGADA0cnn8yfQbp2kAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUo0AAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAJyQMmmamgIAALUjSRInqQAA1ByRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAACOr2z57jNMAQCgFuyZs8IQImLC1PmZL2dibTUidpx+8IGnrm8tjHty9I9P+cvc20ZtKcU5K+KVrS2xfHlEZCKqH2TN+oh3IyJyEQcjIkZE7P+w+xqRq99/8N3B9460v8UzY8mq22Pst26PsXcf5f6GRqQf5nsREUNz9Wn//g6fy0lJdHRHxKwlnZPmfr210LfsjOmvrWt74TObSvHp8fH30VPi+ez0ePa5D7jfhohyRMSwiK6jftDDGqKrPPhW408r35h647HvL4noPpr9DZrbsCS6ugffX9Kae+OKpuIx729MxOtHs79sRM+/9zcmul4fvL/jPb/+7x0+v37He36fiNj3fvNbvOim7tzInrbeYVfVx+PZzoUHGvb21I2sdHTnRva0DR25sLymL5p7ezq6cyN7Tl5ft2v3qFU3992ceSvdm93f2PZi55VzerJpT7o/d6CxLZdeVR+PZ1ec9OsL6pKuurok+8+Zs75y5M9my80bIjun7/7qqJbNG584a2ZzX++eiYeWOJBpXl+/bHbasrkjuXrzgc4ruxvSDeXGy4b8YkTXNdXs/u6GdEN5+O5Tqt/sXDd0yJzecrbc2JbJXH2khVbUP33Wkx2Tpl7W2FYtzxs2fMNz1ebLf9W1qznJZdd0vz13dbVh4AYis6Bhb09dtbujsS2faV63N5196vpk1/WPjH7iWJdZkey6dkg+Vo7YdMOu3c/9Zsahj2bLzRt6y/OGDf/5yetv2LW7r/7a+roRdy67r2F/RNxVN2XspPmLtmYOvT7+8rg51cnFwl8Pvb46cWLHpKlf3dzdMXf11mrLhE2d42bHO5u3Vq8ubOocOzveWb21t3DFS2+98tIO/18+gNMi3ny//y+Lf3ZeMmlCsfBYJqrViBg3bUrzitNbC0N+uHPMgltaC4+cc92Dy7vW3XnvfTsPTrjjjnk3/rIUEdsuiYnPHOGvbbvk4YnPLIqI2PaDnauab2ktfPLQ+l/cuHb7mNX3FIob1y4ds/qewsa1k5d9be3SaS3TvvP56x5duW/1jlmDVnr97dzvTj17zfTP/vb50VuaioU9p+UmP91ULBRPy/3k6aZioThj3wPLb2otPDpz360PDnxtGX/b4guLhe0t45sWX1gs7GkZP3nxhcXCo/9lPv2//8WI1yIiFsbKP21ve/n8/s+Pi9gREXFSJjqqETE84kBExF19w9dc80J295T2UufA65ntpY6B1xe3l94ZeD2rvfTWwOtL20t7Bl5/ob20e+D1nPbSmxERsz418+IFy5744/z20hsD3/9Se2nHwOu97aUZz0ZM/37E9wb+vmLP57ZMu3zR1qaISX+IuGhRxMNHen9hxHl/jjj30ogtERHr1ueePbOp+N5zvDvizL9FjD/j0Lxu/fZ3y733PvRQHDav/u9HRGxfGOefe//ZnbMv+M/n8NTpP7rooqU3dySPlf7Rf68zYuRH0Y//Aj2MxR0R227VAAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Stringizing<span class="_ _8"> </span>Op<span class="_ _c"></span>erato<span class="_ _5"></span>r<span class="_ _8"> </span>(<span class="ff5">#</span>)</div><div class="t m0 x1 hc y84 ff4 fs7 fc0 sc0 ls0 ws0">The<span class="_ _a"> </span><span class="ff1">stringizing<span class="_ _f"> </span>macro<span class="_ _6"> </span>op<span class="_ _c"></span>erato<span class="_ _5"></span>r<span class="_ _a"> </span><span class="ff4">(<span class="_ _d"> </span><span class="ff5">#<span class="_ _1d"> </span></span>)<span class="_ _a"> </span>causes<span class="_ _f"> </span>the<span class="_ _a"> </span>corresponding<span class="_ _a"> </span>actual<span class="_ _a"> </span>argument<span class="_ _d"> </span>to<span class="_ _f"> </span>b<span class="_ _c"></span>e</span></span></div><div class="t m0 x1 hc yd3 ff4 fs7 fc0 sc0 ls0 ws0">enclosed<span class="_ _f"> </span>in<span class="_ _a"> </span>double<span class="_ _f"> </span>quotation<span class="_ _f"> </span>marks<span class="_ _12"> </span><span class="ff5">&quot;</span></div><div class="t m0 xc hf y12d ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>STRING_MACRO(string)<span class="_ _10"> </span>#string</div><div class="t m0 xc hf y12f ffb fs8 fc0 sc0 ls0 ws0">cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>STRING_MACRO(hello);<span class="_ _16"> </span><span class="ffc fc6">//<span class="_ _10"> </span>equivalent<span class="_ _10"> </span>to<span class="_ _10"> </span>&quot;hello&quot;</span></div><div class="t m0 xc hf y20e ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>INFO_MACRO(my_func)<span class="_ _42"> </span>\</div><div class="t m0 xc hf y20f ffc fs8 fca sc0 ls0 ws0">{<span class="_ _43"> </span>\</div><div class="t m0 x6 hf y210 ffc fs8 fca sc0 ls0 ws0">my_func<span class="_ _44"> </span>\</div><div class="t m0 x6 hf y211 ffc fs8 fca sc0 ls0 ws0">cout<span class="_ _10"> </span>&lt;&lt;<span class="_ _10"> </span>&quot;call<span class="_ _10"> </span>&quot;<span class="_ _10"> </span>&lt;&lt;<span class="_ _10"> </span>#my_func<span class="_ _10"> </span>&lt;&lt;<span class="_ _10"> </span>&quot;<span class="_ _10"> </span>at<span class="_ _10"> </span>&quot;<span class="_ _17"> </span>\</div><div class="t m0 x1b hf y212 ffc fs8 fca sc0 ls0 ws0">&lt;&lt;<span class="_ _10"> </span>__FILE__<span class="_ _10"> </span>&lt;&lt;<span class="_ _10"> </span>&quot;:&quot;<span class="_ _10"> </span>__LINE__;<span class="_ _27"> </span>\</div><div class="t m0 xc hf y213 ffc fs8 fca sc0 ls0 ws0">}</div><div class="t m0 xc hf y214 ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">g<span class="fc0">(</span></span>int<span class="ffb fc0">)<span class="_ _10"> </span>{}</span></div><div class="t m0 xc hf y215 ffb fs8 fc0 sc0 ls0 ws0">INFO_MACRO(<span class="_ _10"> </span>g(<span class="fc5">3</span>)<span class="_ _10"> </span>)<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print:<span class="_ _10"> </span>&quot;call<span class="_ _10"> </span>g(3)<span class="_ _10"> </span>at<span class="_ _10"> </span>my_file.cpp:7&quot;</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">56/62</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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAQ0klEQVR42u3df3DX9X3A8VdCvvlBICG0iUoTMCUr5ZtIHYRF+VEBQaWToi6od9o6SofnbrdyZ/vHOq9rd3b8EewUnTs9an/M41jtCfhjoCJEO1CIS7WQqrcoKnQuiRgSmkC+Ccn+AFxQVIqZSdjj8U/4fL7Jl3de7z/yvE/y+X7TJlbNDAAAGDIan//3dFMAAGCoEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAALwnLZVKmQIAAENHIpFwJRUAgCFHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQA4e2UMo7UeOnTIhgEAnJnRo0cPo9W6kgoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEg1AgAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAA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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>11</div><div class="t m0 x32 hc y16d ff1 fs7 fc0 sc0 ls0 ws0">Co<span class="_ _c"></span>de<span class="_ _f"> </span>injection</div><div class="t m0 xc hf y216 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>include<span class="_ _22"> </span><span class="fc6">&lt;cstdio&gt;</span></div><div class="t m0 xc hf y217 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>CHECK_ERROR(condition)<span class="_ _45"> </span>\</div><div class="t m0 xc hf y218 ffc fs8 fca sc0 ls0 ws0">{<span class="_ _46"> </span>\</div><div class="t m0 x11 hf y219 ffc fs8 fca sc0 ls0 ws0">if<span class="_ _10"> </span>(condition)<span class="_ _10"> </span>{<span class="_ _47"> </span>\</div><div class="t m0 x33 hf y21a ffc fs8 fca sc0 ls0 ws0">std::printf(&quot;expr:<span class="_ _10"> </span>&quot;<span class="_ _10"> </span>#condition<span class="_ _10"> </span>&quot;<span class="_ _10"> </span>failed<span class="_ _10"> </span>at<span class="_ _10"> </span>line<span class="_ _10"> </span>%d\n&quot;,\</div><div class="t m0 x1f hf y21b ffc fs8 fca sc0 ls0 ws0">__LINE__);<span class="_ _48"> </span>\</div><div class="t m0 x11 hf y21c ffc fs8 fca sc0 ls0 ws0">}<span class="_ _49"> </span>\</div><div class="t m0 xc hf y21d ffc fs8 fca sc0 ls0 ws0">}</div><div class="t m0 xc hf y21e ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc0">t<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span>6</span>,<span class="_ _10"> </span>s<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span>3</span>;</span></div><div class="t m0 xc hf y21f ffb fs8 fc0 sc0 ls0 ws0">CHECK_ERROR(t<span class="_ _10"> </span><span class="fc5">&gt;<span class="_ _10"> </span></span>s)<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span>&quot;expr:<span class="_ _10"> </span>t<span class="_ _10"> </span>&gt;<span class="_ _10"> </span>s<span class="_ _10"> </span>failed<span class="_ _10"> </span>at<span class="_ _10"> </span>line<span class="_ _10"> </span>13&quot;</span></div><div class="t m0 xc hf y220 ffb fs8 fc0 sc0 ls0 ws0">CHECK_ERROR(t<span class="_ _10"> </span><span class="fc5">%<span class="_ _10"> </span></span>s<span class="_ _10"> </span><span class="fc5">==<span class="_ _10"> </span>0</span>)<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span><span class="fcc">segmentation<span class="_ _10"> </span>fault!!!</span></span></div><div class="t m0 x34 h15 y220 ff1d fs8 fc6 sc0 ls0 ws0"><span class="fcd sc0">A</span></div><div class="t m0 xc hf y221 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>printf<span class="_ _10"> </span>interprets<span class="_ _10"> </span>&quot;%<span class="_ _10"> </span>s&quot;<span class="_ _10"> </span>as<span class="_ _10"> </span>a<span class="_ _10"> </span>format<span class="_ _10"> </span>specifier</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">57/62</div></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,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"/><div class="t m0 x4 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">#error<span class="_ _8"> </span><span class="ff1">and<span class="_ _8"> </span></span>#warning</div><div class="t m0 xb hc y222 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe fc4">#error<span class="_ _13"> </span><span class="fc0">&quot;text&quot;<span class="_ _12"> </span><span class="ff4">The<span class="_ _f"> </span>directive<span class="_ _f"> </span>emits<span class="_ _f"> </span>a<span class="_ _f"> </span>user-sp<span class="_ _c"></span>ecified<span class="_ _a"> </span>error<span class="_ _a"> </span>message<span class="_ _f"> </span>at<span class="_ _f"> </span>compile</span></span></span></div><div class="t m0 x6 hc y223 ff4 fs7 fc0 sc0 ls0 ws0">time<span class="_ _f"> </span>when<span class="_ _a"> </span>the<span class="_ _f"> </span>compiler<span class="_ _f"> </span>parse<span class="_ _a"> </span>it<span class="_ _f"> </span>and<span class="_ _f"> </span>stop<span class="_ _f"> </span>the<span class="_ _f"> </span>compilation<span class="_ _f"> </span>process</div><div class="t m0 xb hc y224 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4 fcb">C++23<span class="_ _12"> </span><span class="ffe fc4">#warning<span class="_ _13"> </span><span class="fc0">&quot;text&quot;<span class="_ _12"> </span><span class="ff4">The<span class="_ _f"> </span>directive<span class="_ _f"> </span>emits<span class="_ _f"> </span>a<span class="_ _f"> </span>user-sp<span class="_ _c"></span>ecified<span class="_ _f"> </span>w<span class="_ _5"></span>a<span class="_ _5"></span>rning<span class="_ _f"> </span>message</span></span></span></span></div><div class="t m0 x6 hc y225 ff4 fs7 fc0 sc0 ls0 ws0">at<span class="_ _f"> </span>compile<span class="_ _a"> </span>time<span class="_ _f"> </span>when<span class="_ _f"> </span>the<span class="_ _f"> </span>compiler<span class="_ _f"> </span>parse<span class="_ _a"> </span>it<span class="_ _f"> </span>without<span class="_ _f"> </span>stopping<span class="_ _f"> </span>the<span class="_ _f"> </span>compilation</div><div class="t m0 x6 hc y226 ff4 fs7 fc0 sc0 ls0 ws0">p<span class="_ _5"></span>ro<span class="_ _c"></span>cess</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">58/62</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 x4 h18 y7 ff5 fs3 fc1 sc0 ls0 ws0">#pragma</div><div class="t m0 x1 hc y84 ff4 fs7 fc0 sc0 ls0 ws0">The<span class="_ _12"> </span><span class="ff5">#pragma<span class="_ _12"> </span></span>directive<span class="_ _f"> </span>controls<span class="_ _f"> </span>implementation-sp<span class="_ _c"></span>ecific<span class="_ _f"> </span>b<span class="_ _c"></span>ehavio<span class="_ _5"></span>r<span class="_ _a"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>compiler.<span class="_ _10"> </span>In</div><div class="t m0 x1 hc yd3 ff4 fs7 fc0 sc0 ls0 ws0">general,<span class="_ _f"> </span>it<span class="_ _a"> </span>is<span class="_ _f"> </span>not<span class="_ _f"> </span>p<span class="_ _c"></span>ortable</div><div class="t m0 xb hc y227 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe">#pragma<span class="_ _13"> </span>message<span class="_ _13"> </span>&quot;text&quot;<span class="_ _12"> </span><span class="ff4">Display<span class="_ _a"> </span>info<span class="_ _5"></span>rmational<span class="_ _f"> </span>messages<span class="_ _f"> </span>at<span class="_ _f"> </span>compile<span class="_ _f"> </span>time</span></span></div><div class="t m0 x6 hc y228 ff4 fs7 fc0 sc0 ls0 ws0">(every<span class="_ _f"> </span>time<span class="_ _a"> </span>this<span class="_ _f"> </span>instruction<span class="_ _f"> </span>is<span class="_ _f"> </span>parsed)</div><div class="t m0 xb hc y229 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe">#pragma<span class="_ _13"> </span>GCC<span class="_ _13"> </span>diagnostic<span class="_ _13"> </span>warning<span class="_ _13"> </span>&quot;-Wformat&quot;</span></div><div class="t m0 x6 hc y22a ff4 fs7 fc0 sc0 ls0 ws0">Disable<span class="_ _f"> </span>a<span class="_ _a"> </span>GCC<span class="_ _f"> </span>wa<span class="_ _5"></span>rning</div><div class="t m0 xb hc y22b fff fs7 fc0 sc0 ls0 ws0"><span class="_ _3d"> </span><span class="ffe fc4">Pragma<span class="fc0">(&lt;command&gt;)<span class="_ _22"> </span><span class="ff4">(<span class="fcb">C++11</span>)</span></span></span></div><div class="t m0 x6 hc y22c ff4 fs7 fc0 sc0 ls0 ws0">It<span class="_ _f"> </span>is<span class="_ _a"> </span>a<span class="_ _f"> </span>keyw<span class="_ _5"></span>o<span class="_ _5"></span>rd<span class="_ _a"> </span>and<span class="_ _f"> </span>can<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _f"> </span>emb<span class="_ _c"></span>edded<span class="_ _a"> </span>in<span class="_ _f"> </span>a<span class="_ _12"> </span><span class="ffe">#define</span></div><div class="t m0 x16 hf y22d ffc fs8 fca sc0 ls0 ws0">#define<span class="_ _10"> </span>MY_MESSAGE<span class="_ _10"> </span>\</div><div class="t m0 x35 hf y22e ffc fs8 fca sc0 ls0 ws0">_Pragma(&quot;message(\&quot;hello\&quot;)&quot;)</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">59/62</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAANE0lEQVR42u3YfWzU9R3A8c+VO3qFdq1EjGSMBzEqp3MMyhgPVZw86VZkrGwmahywdeGvkTj/Mca5ZZM/riwojkyCEjdGtmB4Gq7yNM5tEAKuspBlLnOTMIwrT6XUFnotvf1TWOsYQQhak9frn1++v7v73fc+vz/unV9i1ITJAQAAfcbbe/9YZAoAAPQ1IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAgAsS+XzeFAAA6DtSqZQnqQAA9DkiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAA6CVpBABwQUtLy0fzRWVlZaYNl+BJKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAA0Esin8+bAgAAfUcqlfIkFQCAPkekAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAC4dpKfoL22tLS4YQAAV6asrOwTtFtPUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKlGAACASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAA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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>ok<span class="_ _5"></span>en-P<span class="_ _5"></span>asting<span class="_ _8"> </span>Op<span class="_ _c"></span>erato<span class="_ _5"></span>r<span class="_ _8"> </span>(<span class="ff5">##</span>)</div><div class="t m0 x36 h13 y10f ff14 fs5 fc1 sc0 ls0 ws0"></div><div class="t m0 x1 hc y98 ff4 fs7 fc0 sc0 ls0 ws0">The<span class="_ _f"> </span><span class="ff1">tok<span class="_ _5"></span>en-concatenation<span class="_ _6"> </span>(o<span class="_ _5"></span>r<span class="_ _6"> </span>pasting)<span class="_ _8"> </span>macro<span class="_ _f"> </span>op<span class="_ _c"></span>erato<span class="_ _5"></span>r<span class="_ _f"> </span><span class="ff4">(<span class="_ _d"> </span><span class="ff5">##<span class="_ _1d"> </span></span>)<span class="_ _f"> </span>allows<span class="_ _a"> </span>combining<span class="_ _f"> </span>tw<span class="_ _5"></span>o</span></span></div><div class="t m0 x1 hc y99 ff4 fs7 fc0 sc0 ls0 ws0">tok<span class="_ _5"></span>ens<span class="_ _f"> </span>(without<span class="_ _f"> </span>leaving<span class="_ _a"> </span>no<span class="_ _f"> </span>blank<span class="_ _f"> </span>spaces)</div><div class="t m0 xc hf y22f ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>FUNC_GEN_A(tokenA,<span class="_ _10"> </span>tokenB)<span class="_ _16"> </span>\</div><div class="t m0 x6 hf y230 ffc fs8 fca sc0 ls0 ws0">void<span class="_ _10"> </span>tokenA##tokenB()<span class="_ _10"> </span>{}</div><div class="t m0 xc hf y231 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>FUNC_GEN_B(tokenA,<span class="_ _10"> </span>tokenB)<span class="_ _16"> </span>\</div><div class="t m0 x6 hf y232 ffc fs8 fca sc0 ls0 ws0">void<span class="_ _10"> </span>tokenA##_##tokenB()<span class="_ _10"> </span>{}</div><div class="t m0 xc hf y233 ffb fs8 fc0 sc0 ls0 ws0">FUNC_GEN_A(my,<span class="_ _10"> </span>function)</div><div class="t m0 xc hf y234 ffb fs8 fc0 sc0 ls0 ws0">FUNC_GEN_B(my,<span class="_ _10"> </span>function)</div><div class="t m0 xc hf y235 ffb fs8 fc0 sc0 ls0 ws0">myfunction();<span class="_ _16"> </span><span class="ffc fc6">//<span class="_ _10"> </span>ok,<span class="_ _10"> </span>from<span class="_ _10"> </span>FUNC_GEN_A</span></div><div class="t m0 xc hf y236 ffb fs8 fc0 sc0 ls0 ws0">my_function();<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>ok,<span class="_ _10"> </span>from<span class="_ _10"> </span>FUNC_GEN_B</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">60/62</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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">V<span class="_ _5"></span>a<span class="_ _5"></span>riadic<span class="_ _8"> </span>Macro</div><div class="t m0 x18 h13 y10f ff14 fs5 fc1 sc0 ls0 ws0"></div><div class="t m0 x1 hc y84 ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _d"> </span><span class="ff1">variadic<span class="_ _a"> </span>macro<span class="_ _a"> </span></span><span class="fcb">C++11<span class="_ _d"> </span></span>is<span class="_ _a"> </span>a<span class="_ _a"> </span>sp<span class="_ _c"></span>ecial<span class="_ _d"> </span>macro<span class="_ _a"> </span>accepting<span class="_ _d"> </span>a<span class="_ _a"> </span>variable<span class="_ _1d"> </span>numb<span class="_ _c"></span>er<span class="_ _a"> </span>of<span class="_ _d"> </span>arguments</div><div class="t m0 x1 hc yd3 ff4 fs7 fc0 sc0 ls0 ws0">(sepa<span class="_ _5"></span>rated<span class="_ _f"> </span>b<span class="_ _5"></span>y<span class="_ _f"> </span>comma)</div><div class="t m0 x1 hc y237 ff4 fs7 fc0 sc0 ls0 ws0">Each<span class="_ _f"> </span>o<span class="_ _c"></span>ccurrence<span class="_ _f"> </span>of<span class="_ _6"> </span>the<span class="_ _6"> </span>sp<span class="_ _c"></span>ecial<span class="_ _f"> </span>identifier<span class="_ _4a"> </span><span class="ffe">VA<span class="_ _6"> </span>ARGS<span class="_ _4a"> </span></span>in<span class="_ _f"> </span>the<span class="_ _6"> </span>macro<span class="_ _6"> </span>replacement<span class="_ _6"> </span>list<span class="_ _6"> </span>is</div><div class="t m0 x1 hc y238 ff4 fs7 fc0 sc0 ls0 ws0">replaced<span class="_ _f"> </span>b<span class="_ _5"></span>y<span class="_ _f"> </span>the<span class="_ _a"> </span>passed<span class="_ _f"> </span>arguments</div><div class="t m0 x1 h6 y239 ff4 fs4 fc0 sc0 ls0 ws0">Example:</div><div class="t m0 xc hf y23a ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">a)<span class="_ _4b"> </span>{<span class="_ _10"> </span>printf(<span class="fc7">&quot;%d&quot;</span>,<span class="_ _10"> </span>a);<span class="_ _4c"> </span>}</span></div><div class="t m0 xc hf y23b ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">a,<span class="_ _10"> </span></span>int<span class="_ _10"> </span><span class="ffb fc0">b)<span class="_ _14"> </span>{<span class="_ _10"> </span>printf(<span class="fc7">&quot;%d<span class="_ _10"> </span>%d&quot;</span>,<span class="_ _10"> </span>a,<span class="_ _10"> </span>b);<span class="_ _15"> </span>}</span></div><div class="t m0 xc hf y23c ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">a,<span class="_ _10"> </span></span>int<span class="_ _10"> </span><span class="ffb fc0">b,<span class="_ _10"> </span></span>int<span class="_ _10"> </span><span class="ffb fc0">c)<span class="_ _10"> </span>{<span class="_ _10"> </span>printf(<span class="fc7">&quot;%d<span class="_ _10"> </span>%d<span class="_ _10"> </span>%d&quot;</span>,<span class="_ _10"> </span>a,<span class="_ _10"> </span>b,<span class="_ _10"> </span>c);<span class="_ _10"> </span>}</span></div><div class="t m0 xc hf y23d ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>PRINT(...)<span class="_ _10"> </span>\</div><div class="t m0 x6 hf y23e ffc fs8 fca sc0 ls0 ws0">f(<span class="_ _1e"> </span><span class="fc4">VA<span class="_ _a"> </span>ARGS<span class="_ _12"> </span></span>);</div><div class="t m0 xc hf y23f ffb fs8 fc0 sc0 ls0 ws0">PRINT(<span class="fc5">1</span>,<span class="_ _10"> </span><span class="fc5">2</span>)</div><div class="t m0 xc hf y240 ffb fs8 fc0 sc0 ls0 ws0">PRINT(<span class="fc5">1</span>,<span class="_ _10"> </span><span class="fc5">2</span>,<span class="_ _10"> </span><span class="fc5">3</span>)</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">61/62</div></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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Macro<span class="_ _8"> </span>T<span class="_ _7"></span>rick</div><div class="t m0 x29 h13 y10f ff14 fs5 fc1 sc0 ls0 ws0"></div><div class="t m0 x1 hc y241 ff4 fs7 fc0 sc0 ls0 ws0">Convert<span class="_ _f"> </span>a<span class="_ _a"> </span>numb<span class="_ _c"></span>er<span class="_ _f"> </span>literal<span class="_ _f"> </span>to<span class="_ _f"> </span>a<span class="_ _f"> </span>string<span class="_ _f"> </span>literal</div><div class="t m0 xc hf y242 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>TO_LITERAL_AUX(x)<span class="_ _10"> </span>#x</div><div class="t m0 xc hf y243 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>TO_LITERAL(x)<span class="_ _1a"> </span>TO_LITERAL_AUX(x)</div><div class="t m0 x1 hc y244 ff4 fs7 fc0 sc0 ls0 ws0">Motivation:<span class="_ _10"> </span>avoid<span class="_ _f"> </span>integer<span class="_ _f"> </span>to<span class="_ _f"> </span>string<span class="_ _f"> </span>conversion<span class="_ _f"> </span>(p<span class="_ _c"></span>erfo<span class="_ _5"></span>rmance)</div><div class="t m0 xc hf y245 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc4">main<span class="fc0">()<span class="_ _10"> </span>{</span></span></div><div class="t m0 x11 hf y246 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _16"> </span><span class="ffb fc0">x1<span class="_ _1f"> </span><span class="fc5">=<span class="_ _10"> </span>3<span class="_ _10"> </span>*<span class="_ _10"> </span>10</span>;</span></div><div class="t m0 x11 hf y247 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _16"> </span><span class="ffb fc0">y1<span class="_ _1f"> </span><span class="fc5">=<span class="_ _10"> </span></span>__LINE__<span class="_ _10"> </span><span class="fc5">+<span class="_ _10"> </span>4</span>;</span></div><div class="t m0 x11 hf y248 ff5 fs8 fc3 sc0 ls0 ws0">char<span class="_ _10"> </span><span class="ffb fc0">x2[]<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>TO_LITERAL(<span class="fc5">3</span>);</span></div><div class="t m0 x11 hf y249 ff5 fs8 fc3 sc0 ls0 ws0">char<span class="_ _10"> </span><span class="ffb fc0">y2[]<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>TO_LITERAL(__LINE__);</span></div><div class="t m0 xc hf y24a ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">62/62</div></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>