Modern-CPP-Programming/htmls/07.Basic_Concepts_V.html
2024-03-30 17:05:40 -07:00

1695 lines
658 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,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')format("woff");}.ff2{font-family:ff2;line-height:0.727000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff3;src:url('data:application/font-woff;base64,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')format("woff");}.ff3{font-family:ff3;line-height:0.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,d09GRgABAAAAAATkAA0AAAAABuQAAwACAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEyAAAABoAAAAcn3rSEkdERUYAAASsAAAAGwAAAB4AJwALT1MvMgAAAaQAAABEAAAAVlXIgqpjbWFwAAAB/AAAAEYAAAFKRYDkOWdhc3AAAASkAAAACAAAAAj//wADZ2x5ZgAAAlAAAAB0AAAAdF5LOhRoZWFkAAABMAAAADMAAAA2J1FLRGhoZWEAAAFkAAAAHgAAACQGSgNsaG10eAAAAegAAAAUAAAAFAcYAERsb2NhAAACRAAAAAwAAAAMAAAAOm1heHAAAAGEAAAAHQAAACAASAAnbmFtZQAAAsQAAAG/AAAC3BrNiVFwb3N0AAAEhAAAAB4AAAA0ObKyo3icY2BkYGBgZmjOdi/kiee3+crAzfwCKMLwSJf5NJx2+T+BeRLTNiCXg4EJJAoAOQoLMAB4nGNgZGBg2vZ/AgMD8zUGIGCexMDIgApYAWUfA70AAHicY2BkYGBgZVBhANEMDExAzAhmO4D5DAAGWwBwAAAAeJxjYGR8zfiFgZWBgamLaQ8DA0MPhGZ8wGDIyAQUZWBjZoABRiB2gHEC0lxTgJSC0jGmbf8nAFVuYyiAqmEAACwtDEAB9AAAAAAAAAFNAAAAAQAAA9YARHicY2BgYGaAYBkGRgYQcAHyGMF8FgYNIM0GpBkZmBgUlI79/w/kg+n/j+/aQdUDASMbA5zDyAQkmBhQASPEiuEMAMdbCdwAAAAAAAAAAAAAAAAAOgABAET/kAOSArYAIwAAAQcXHgIVFCMnBwYjIjU0NxMnJjU0PgEzIRM2MhcTITIeARQDg+sIAywmDf3sBwoNA1rsDgkLCwEdWgYWBloBHQsLCQFtrBcLhnYED7SrCQ8FCQEVqwkJBwYBARQVFf7sAQYOAAAAeJxtUcFq20AQfavYhial9AN6mN5ssGVFDhiZEHBDfCgohxhyykXIi6ViSa60jvBP9dZvKZTeeupf9Gm9gRziwZo3OzNv3s4C+IAfUDj9CvxxWKGvHh32MFDfHD7DZ/XT4R5r/jrcx0fvwuEB+t6Qlar3jtFv29VhhXP11WEP79WTw2f4or473GPNL4f7EPXP4QHOvU+4RYU9jqiRY4sMBoIhUozoLxHR5hgThwhoEdGSd9K2PkWCkicxvWGvZqZDp8yOmTXZU8aap0fLfG1nGM5cYEprrfmsL9DQV2Te4obzu6kteztmwQM5Gjv3md8NT1asLa3ee9utrZI19cXU7AO31f5Y59vMyDAdyWUUzccSBkEky0LXeZqUEicm00ViGOxkXaW5NkcZXmfG7BfTadu2flI0flVvb0ZjaXOTyYNudP2sN7KqSiP3SaElXi/jOcfd4cA7dwpxd9hputgqzXleMNCb/ED/Invlrqrtcn0uV7iS11c4xSGXPsGM/+4JQlyRgrNXVKUl9ANZnBTQh9FkNgmD8AqvWGCzwKOV1lBOZR+te86ZnduxCgt03eRVKUEw84MglDdI/gN43HlfAHicY2BiwA9YgZiRgYmBmZGJvTQv08jI2QwAC4UCQQAAAAAAAf//AAJ4nGNgZGBg4AFiMSBmYmAEQhYwBvEYAAPKADMAeJxjYGBgZACC2wqnqkH0I13m0zAaAEK4BfwAAA==')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,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')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,d09GRgABAAAAAAVUAA0AAAAAB8QAAgADAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAFOAAAABoAAAAcn3rSFEdERUYAAAUcAAAAHAAAAB4AJwAMT1MvMgAAAaQAAABFAAAAVlVkglVjbWFwAAACBAAAAEsAAAFSJqspWGdhc3AAAAUUAAAACAAAAAj//wADZ2x5ZgAAAmAAAADDAAAAxENGNMloZWFkAAABMAAAADIAAAA2J2BLNGhoZWEAAAFkAAAAIAAAACQGRgPJaG10eAAAAewAAAAYAAAAGA0/AIpsb2NhAAACUAAAAA4AAAAOAGIALG1heHAAAAGEAAAAHQAAACAASgAkbmFtZQAAAyQAAAHAAAADUdeLqtNwb3N0AAAE5AAAAC4AAAA5WO/ZJ3icY2BkYGBgYjgitShGI57f5isDN/MLoAjDI13mM3Da/H8583qmGiCXA6gWCABEJgtAAAB4nGNgZGBgqvlfzsDA/IIBCJjXM6QwSDIgAzYAZzgEFnicY2BkYGBgY1BkYGIAARDJyAAScwDzGQAGQgBvAAAAeJxjYGSexziBgZWBgamLaQ+DIkMPiP7fw/iAwZCRCSjKwMrMAAOMQJwA4wSkuaYAKQWlFKaa/+VAlTUMnVA1DABVzQyGAAAAARgAAAAAAAABTQAAA+gAAAPoADcDCgBTeJxjYGBgZoBgGQZGBhDwAfIYwXwWBgMgzQGETEBaQXGSUsr//wjW/8f3iu4uhOoCA0Y2BjiXEaSHiQEVMEKsGlyAlaqmAQCceAxLAAAAAAAAAAAAAAAALABiAAB4nB3OTQ7BQBQA4PdeeTM1M41U6yd+W1FNWFG6cAYLwTUs2dg4gaNILNzE2h0kEhZNiRN8HyCk+cu6YA5NAPCEg4JHGM7maRAm0yAaJguc1DpYsy5ytXPIdlVjnynfp9e+oVybnN0KqUzt08Y25228PRt7c2oDwTo/0I2OUIcewMDjfjjEaJakOJ9Oqr4nDHasFvb/DN20ZJXdKxUaq6LUbvYkwwVBQfYIQuoupWZkaXQJmbV0xOdtEfM1jn/pLwnbI20AeJytUstq20AUPaPYhkJJd+2mlLspJAsNipQunGVMEjCWE6y4BLoaJ7It/JggKRh/Q3+ldNGP6nf0aDTtwot2Uw2ae+a+z50BcIzvUGi/z3+wwhv10eMAPTXw+AiJ+uFxB++Ctx53cRyMPO5R/5WeqvOKp28uqsEKH1TX4wCv1SePjzBXQ4870Oqnx128D7THPejgCwaweMYeJQossEQNQYyIK0HI1eI+tTN6CS6huQ9h8IgVY3eoKAvqDLZ4cjaN1HmNnb31bDxOeN66TDkrGawx58m6/Z66B8opMlxhwl1wQ3lLzR1Pp8yIgX3el8ViWUscRUkYcu/LbC+XWobmcWV31aoQs32SoU61jO2OykJO7FZm+dKs52Lncp8/yDS7mmRyM7md3mWnzDtiwykbqtlWRpobtmjZXoUzkscoTU29zPabmV1XZ1Q0xEp6NRQwtuXGUF47drWTJWeZu0lqJhBc8P97kZBcc0a9UGMY38bEnHzobqK5hxjnLGO39bUtF7nEOpILOWgunOSLl7UpaYn7YcIRxef/InhY+5Dw75zNa85pr3ib7U22/Jq3IjTmZVVw1uwrSuS/Ff0F9meVZnicY2BiYPj/8dvu/00MGgzYABsQMzIwMTAzMjFM4UosKsovL8pMzygBACxlCkMAAAAAAAH//wACeJxjYGRgYOABYjEgZmJgBEJWIGYB8xgAA9UANHicY2BgYGQAgtsKp6pB9CNd5jMwGgBCwgX+AAA=')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,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')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,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')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,d09GRgABAAAAAAWIAA0AAAAAB6AAAwACAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAFbAAAABoAAAAcn3rSLEdERUYAAAVQAAAAHAAAAB4AJwAMT1MvMgAAAaQAAABEAAAAVlXmhJRjbWFwAAACAAAAAEcAAAFSIfYpumdhc3AAAAVIAAAACAAAAAj//wADZ2x5ZgAAAlgAAAEIAAABCN6/qDpoZWFkAAABMAAAADMAAAA2J1tLXmhoZWEAAAFkAAAAHgAAACQGZQOAaG10eAAAAegAAAAYAAAAGA7BAGlsb2NhAAACSAAAAA4AAAAOAIQASm1heHAAAAGEAAAAHQAAACAASQA0bmFtZQAAA2AAAAG/AAAC6AXljfNwb3N0AAAFIAAAACUAAAA+ZVt0UXicY2BkYGBgZmguFii+Es9v85WBm/kFUIThkS7zDTht9H8i8zqmrUAuBwMTSBQAVVML7wB4nGNgZGBg2vp/IgMD8wsGIGBex8DIgArYAGj0A+wAAHicY2BkYGBgYzBkANEMDExAzAhmO4D5DAAHuwB+AAAAeJxjYGS+yviFgZWBgamLaQ8DA0MPhGZ8wGDIyAQUZWBjZoABRiBOgHEC0lxTgJSC0jGmrf8nAlVuZciHqmEAACo9DEoB9AAAAAAAAAFNAAAD6AAAA+gANwOwADJ4nGNgYGBmgGAZBkYGEPAB8hjBfBYGAyDNAYRMQFpB8a7Ssf//Eaz/j++p37WH6gIDRjYGOJcRpIeJARUwQqwazgAAZaYM8wAAAAAAAAAAAAAAAEoAhAAAAAEANwBTA64BoQAwAAATFz4CNzYzMhcWFzMmJzMWFwYHIzY3IyIvAQ8BBiInLgIjJw4BBwYiJjU0PwE2Mr2kCVJJAQ0HCRIHQuBDIh8mcG4oHyJD2BcLSktPFhIOAgwKAYkPLgcREAwQRBQSAVaUCEpBAQsQBj08V2o9Om1XPApCREcUDgIKCXwNKQYQDAgJDzwTAAABADL/kQN+ArUAJAAAAQcTFhUUIyIvAQcGIyI1PwETJyY1NDYzIRM2MzIWFxMhMhYVFANx71wDCwgH7+8LBAsCAlvwDAwQASFaBgkGBARbASERCwFxrv7nCQULCa2tCQsHBwEZrgkGCAMBFhQGDP7oAwgEeJxtUcFq20AQfavYhpZQeugHDIWCDba8lgNBJgRMGt+UQwyFnoqQF0tgWUZaR/in8gH9ljY/kFu/oE/r7SFQD9a8mZ1582YXwAc8Q+H82+PFY4W++u5xgIEqPb7AZ/XT4x7zrx738TH45PEAg2DOStV7x+iX6+qwwnuVeBzgUv3w+AJflfW4x/xvj/sQ9cfjAS6DL7hDhQNOqFFgixwWgiEyjOhniGnXGBNH0LSYaIkSxtVnSLmfIKG37DU86dD5ZMeTNdkzxobZk2O+cTMsZy4wpbXOQtaXaOgrMm9xy/nd1Ja9HbPgkRyNm/vE74aZFWv3Tu+D6zZOyZr6EirX5MJddTjVxTa3MsxGMovj67FEWseyLE1dZOlektTmpkwtg52sq6ww9iTDm9zaw2I6bds2TMsmrOrt7WgsbWFzeTSNqZ/MRlbV3spDWhpJ1stkpjnvHkeu3YnE/XFn6BIntmC+ZGA2xZH+n/KV39a4+w2pWXgrb7c4ZyLe/ARz/rt3iHBFEo5fUZiRKNSy8CIIongyn0Q6usIbIpwLgG9OYENRlXu97l3nbnrHLCwwdVNUe9F6Hmodyf95/gJ8UnsFAHicY2BiwA/YgJiRgYmBmZGJkZm9NC/TyNDFBUwbOZsBACi0BIQAAAAAAAAB//8AAnicY2BkYGDgAWIxIGZiYARCViBmAfMYAAPVADR4nGNgYGBkAILbCqeqQfQjXeYbMBoAQzoGFgAA')format("woff");}.ff13{font-family:ff13;line-height:0.804000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff14;src:url('data:application/font-woff;base64,d09GRgABAAAAABCwAA0AAAAAF3QAAgAEAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAQlAAAABoAAAAcn3rSMkdERUYAABB4AAAAHAAAAB4AJwAxT1MvMgAAAaQAAABBAAAAVlU/X2BjbWFwAAACQAAAANAAAAG60KvJGWdhc3AAABBwAAAACAAAAAj//wADZ2x5ZgAAA2gAAAr9AAAPoJiCfApoZWFkAAABMAAAADQAAAA2JYJLzGhoZWEAAAFkAAAAHQAAACQEwAGOaG10eAAAAegAAABYAAAAYAmZBLFsb2NhAAADEAAAAFgAAABYSCBMjG1heHAAAAGEAAAAHQAAACAAbwBNbmFtZQAADmgAAAGqAAAC8Z1uy19wb3N0AAAQFAAAAFsAAAB4A88EanicY2BkYGBgYmTbaW17OZ7f5isDN/MLoAjDI13m2zD6/+//pUy8TNuAXA4GJpAoAF8MDL14nGNgZGBg2va/FEgK//8NJHkZgCIogBUAc20EUgAAAHicY2BkYGDQZvBiYGIAARDJyAAScwDzGQAOKgC9AAAAeJxjYGRiZZzAwMrAwNTFtIeBgaEHQjM+YDBkZAKKMrAyM8AAIwMSCEhzTQFSCgy1TNv+lwJVbmPohqkBALATCksAAAB4nGOUYAADRl8QwcDAJMywhiGSwZVBjWELwzEGA4Z0BlMGHQY5IGkMFLEEissw3GbQBLIMGLgZPBiUgDJaDP4MVv9/A/nmQJWeDJJAliSQZcFgAQAoVQxNeJxjYGBgZoBgGQZGBhDYAuQxgvksDDOAtBKDApDFBCR1GPQYzBhsGRwZohliGeIZ0hgyGfIZyhgqGKoZav//B6pVYNAAqjFgsIarSQSqyWEogqn5//j/nf+3/9/6f+3/5f+7/u/8v+P/9v9b/2/+v/H/hv/r/q+FuoEAYGRjgCtkZAISTOgKIF4CARZWNnYOBk4GLm4eXj5+AZCQoJAwkBTBabwogxiDOIOEpJS0jCwDgxwDg7yCohIDg7KKqpo60IMMmgxaxLiStgAAeOIwOAAAAAAAAAAAAAAALgBcAJ4AwADkAPoBHgFIAYoB2gIMAkoChAK2At4C/gNCA14DegOOA9wEFgRSBIwEwgTyBRwFOgWSBcgF6gYaBn4GsAbkBxAHUAeOB9B4nG1Xa2wU1xWeO2vveL07O++Zfduz653xembX9j68Npi1PRiDHZunMfbyMpTYNAFKCIREQBIgKVEilVaVkrSKQqQ+flQppA15NVKqKlXUH0WorRoBEUJNK6S0RIqaiIpGWffcO4txlMre2Tt39p7Hd77z3TsUol5d+CV6h36TilNUo+xNJXOeYsVTyKuKzHgZryInaE1F7wi8v7hqhWWtWFX080JwS7aTTY31CMWA1OJMP/X909NOixQQfMsmt8y3jW7flvJTFIWoGbA959qm5KAnlTRKxQoqV1CpaBom3PQU8gkazdXNMkygOpHLbuFcb+ixut0mP9NUeW3q/unJvmaBeATbq6gqukT7qCxFpXHcnUiTk6Uy4yVeBlDdfAsyi3mFKfeQlDgEyVzSWF9km2eNZ2eoidUi83vDGsuIc/cmDkhXRIkrH7asw71BSVTZcplVRKm5f8lMHwsxGNRadItWKA2SlS2kyKnkCpRKlorLIcNCPo4KeXQr/6xpPJfPP2caz+ZRd32IrxTB6OLCEbSbOkOpOI8gTaIv95TdNHDUaHeyMxtklViv3NzU2pZuSRda2leZqsKqPqmPzkRi7cvBzgdgbALs+Ot43F09Ycaj7fiz0v0yKZrqWriNPqb3Uz5KxpF7yY/zKlM0klBxtZDvQR+fOn8K/scnD01uXL5sE+r+7htvnIHP8b1nnpnf9+KLJPZ5uLwPdqIU1Qb5JyFvoe66XPFgzBWhgN63a7Y909kr86KfV1I671f0Gcdx0AvtSiAoItQoduiaVXPxKMHlOtis11VP4mJixhippJeBGt7LDSgaREwBKJVPIAVdF8O1C7b0l/JAdcDsZ4MJUWh9aGr25EPcU+YNj9Am0lZE0Hn+tdx0vn+kLR5QtUgo5szu3zI/zz4IDziOY0kMNuBzE2LoXYIluGO8HMLgQCyQLE4S/khgJK57YXmZBEI3j+2ePRHriCJPI23sGlo/sbrDinb1x83B/OrWplh7fG5m8kE71Vt6bezgxFAoGpcY1ufpHOu0x3XV72kIp7pacpEAL8eiWnlgU781HopuwRjRVAKC/II+BN+6i7xSyNfxL7kEkipoOYJQhEJK8KAvrNF+y3rTsvrvRHnf332c3BIWR89c+acz5zhzEvAf7eEYgO8naGPtfL0OgMF1+luU/XUMZEjNhQCyxnKBSgJkrWP/CiHc9ad3bnooYcQD7GCyUh0ub8iyIi/QYhixlnWrODR18L1NR6YHw5GoKgei8XXlwoYCy3MB5I8IzluRo5BfAXzfAPzj0GGu9xy9iC3Jj5AB4vHWKZtHNx6fMtc45s/2rRyO2pFmoXXoMFv5xSPjEwfW3Xfgd9MPJ1Y+MXX214O2GovJYiB4cK505OzhtQPWmh0uprgPN6IL0D8tpCcWWSbVx1Dsu1Hca6rGnfGgrHbzMb3JiKcM9GC9yWo/Gp9VWMmvFVE84o+bfQTTPqqArtJdlOJmBRqYNorldJ3LLFLRVY3zBLjau5qGRmQfp4VqN1EkVBVUhJov8+3c5YAqKNzF1zkSs0H9Ft1CP4U+lnDMpFmgFMriCN3qqv24qwdVe3pqP+/pQnNd6IRhmO+ZpoHXx2DVbeCR4XYbIXUFFcwUgxtq8V6q0KDTSJPg0okMM+Vl0G37AVuUJPllWZJEPJbVRxsEQRIEueGoKovnuwM0aliu6zrH01u30jyn6zxH0z5J8HhE8av/0Nz5m8uE8n8xLh/BPvEJ7BMCRTVgrwbmFPAXxqAfn1hvh0Ux/LZlvfCC4Ihh+nUgylfHYF0G1pXddbB31QUoha8AKCrX11h4fTusoZ+G1aQOC8fQ1YU/AG6wbhGrq/na7/N51J/faWB4iE5+SbPoLaqDKhN1Bm03XTIAIqQDgkjBs+5MXo1jfTBLMItVtFyhaVYQxWmtd8vYbGXP9s6h/ri/uQElBDXa0tsW3b1XNDsubH+6z8qnRdGDoUqaG/qsgTjbkUeowRsKxZRokvVUV/6JmRhDWSNuSb4Qj2PzL3yJPoP+jFBmvUdMCJD0Yx2BOMLEYohwxpEr6589vnmomxZBCzOWNRYWlzmTR8bHS7mx/kLP5JXtT3ayQY4Psug2IPWr7Mmtg9VBa1V2esbVhDXg80PAI7NkryLcoF1ZNmFbTyWDtJs9eEcf8sn7uneeDBd3DURTfS1RVYqhBq4t6+hcdWC15osZ+3ytHYlTW1OjI1kPm4wqsbDSjDzJYrc6VC1rbm8moQ4M5BrHnslOA5242KFa6W7JhYLp7hMkWZqxxniRoXtGNj1yYvNA0c04c8SxezdNFIqrHMfLsWzx5NYdT2Seh3xrzadXdgxWT81MY5+leq4xKrkkW7dVoeQ6lkE4yUC5iRahDyXzvq49zzy5bcc8bCO1q4HtfRMhhuOMtcFv59f59/lTZuz01m2nju4QRbpvpMw1HXp0uOji2gGXd+m9VOqu8phJfHYg9M9jgi7ymkSA3o2LfJyuHrWso7tsu/Zv2961y7JnZwf30O1qJKSO5pzaX2GDtZxuZwRyWQd2L9G7KRHYAvgtNUhQo7GqgryjS3btmm0f2W/b3wuL9+9qtVtbbYcYAnjeoyl83+rGvAwuV6Am4v+1iK7Ytd/Y9okTtv1yWDyBbdwgEOO1C18CwD50kRquq06xUCoSkt6VnW9MEB0SMLuxBw1XnZwdyS9on7XaMltaC7IkLBlNW4Ik40Gr4TU685H0QEsm2AATuu7cHBtZfoHm+CUjLE/IwqOY3t2tlxPCv2jOzRXOVDQD8WbunXNK9bZa3HgXk8cNAfPAvuctS48mcxuAeC9bVgbzL8Y1xQb0pzIAyI1s28qhVwm4crhJVn/wN8L1MvDuI+Ad0fT0N85m0MMfHX/1+LHzx8bX71u/7sA6aNont287fXrz4NTU4PCOHThefD74FOLV7/HJDfXrdXIFAn0alfg4Grv/AcuqwUltfNy294fFtduLNjqkRJTIAxuO1CmQWJsheIxCjJchxlHSGR5XFVcgXCO8T7hnpBxt5hpK5GUC1woUiOhnDn5O9FEjbxaXmZA51jVe8Ed1WhSDfKMntrMyoHUlEul0pSVCng5kfCp+2gY7Cp9pzfWLA0423SXlHg/GzLii69YMG+Sbmps3pONCmGcavYykZaJsJBUVRdGqsBzX2hwQmyU1EFL9TYwUTLl1DUMeH9AduO/cMw4+vZPikiNlvbqKDPkQNfug6qzYPGnZm4iCvmJZr4wlsgiljVPl9cNj/3DWQxjQ/Oudj9caiboPP9YuOFcYde64UC12CrxfgfUlE5g4Y2ZjdvUPXb3ysHqsfXVduxwnnnzsDm6kz7mg7Oso/pk05t1c7oCfGH7XspAnSEO3mB7XLkxEXRfojhU96FX5GK96D0bhfcaytL17NRigC07tImgTAI3GHaf2R1R06lz6HOx21eN3TwiLBwQwWTbrTlJa+W6HwiNGK6DP7cOWwHMb13GCaD9s2+nHDhk2zGWHVwZ5wToMM985bjgO3vkOHcKHBOels45TrZLh2ZfAfy/s8ddgj8/iswHwB2oE1MIvWUR/4Q6XRk4FPcAwBjiN31jRNXtLcbBRWZbtyJbbQv6h4pTdnlumNvb0wGROcMKJNedYPhLUk1yzppwbTYQcFAhx7LlVidjIOZYLBdAS3zlyusK7PfYBBSwWKh7s2Q3GhPu8RlwT8qNruZKh+XuLO7JLnGayU8VBjyCkeyzUrRO3wy2xb7gloQU5iQlCIf8HzjTZmAAAAHiclVJBTuNAEKwxSVZIq3BA3AD1EYRsWU4OhCMRIEU4oIQgrhOYJFaCBzlBUb6wb1ntkafwBN5BeTxaaXNbW+6urqnp7ukxgCb+QKF6Hv9ihR/qwOMADXXm8Q7O1C+Pa9hTnx7X0QxqHjewF7SoVLVdRr/drhIrNFXd4wA/1ZHHO3hUicc1HKsPj+s4VF8eN3Ac7KMLizdsUCDDFDOsIEgQ820h5FvhDtkxVYJLRLQ9aDxjzr1rLOkzcho5XtxahNSp+m69UpaKE8a5y2RYSWOBCSPr7AO5J/oRhrjCgFZwQ39H5p7RKTOia982RTadrSSJ41YY0nZkvJHLSHr6eW7Xy3kmOn+RXpRG0rdrkpmc2FzGZqYXE7ETeTBPMhpeDYZyM7gb3Q9PmfeWDaeuOYtzhmlqc0tQHqDAq2sVfVu8avprJ1w5X3Bmxk0s4pQEF/z+TRbyDIaqd6bQ1FeahBMN3YTL+SZoM63NV9e2mBpJolguxDcRDsz0faELMkknbPHISXu74e0a2Npb/oWG/JK3UN1A1W/MusJFUywzzoh147b8d/JvMUJ8zgAAeJxtw9sKwQAAANBje8TWYmwvePC2b6Alt9XKpQyt5L98LPLs1BH4eb8s/FN8dwRCXT19kVhiYCg1MpbJTUzNzC2VVtY2tnb2KrWDo5Ozi8bVzV3r4fkButoKOQAAAAAB//8AAnicY2BkYGDgAWIxIGZiYARCLSBmAfMYAAVsAFl4nGNgYGBkAILbCqeqQfQjXebbMBoAQ1gGHAAA')format("woff");}.ff14{font-family:ff14;line-height:0.833000;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.888000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff16;src:url('data:application/font-woff;base64,d09GRgABAAAAAAW0AA0AAAAACDQAAwACAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAFmAAAABoAAAAcn3rSQkdERUYAAAV8AAAAHAAAAB4AJwANT1MvMgAAAaQAAABDAAAAVlZLX0hjbWFwAAACAAAAAFkAAAFaATsLTWdhc3AAAAV0AAAACAAAAAj//wADZ2x5ZgAAAmwAAAEJAAABhJlcDpNoZWFkAAABMAAAADMAAAA2JW5LImhoZWEAAAFkAAAAIAAAACQExQFjaG10eAAAAegAAAAYAAAAGAV+AH9sb2NhAAACXAAAABAAAAAQAHIA4m1heHAAAAGEAAAAHQAAACAASgA7bmFtZQAAA3gAAAHSAAADBuh5ycNwb3N0AAAFTAAAACUAAAAwABH2lXicY2BkYGBgZmiO3bDxTzy/zVcGbuYXQBGGR7rMj+G0+X82xj1M74BcDgYmkCgAfBYMtAB4nGNgZGBgevefjYGB8QsDEDDuYUhhkGRABqwAaf8EK3icY2BkYGBgZ7BgANEMDExAzAhmO4D5DAAIhQCGAAAAeJxjYGQsZ/zCwMrAwNTFtIdBkaEHRP/vYXzAYMjIBBRlYGNmgAFGBiQQkOaaAqQUGGqZ3v1nA6p8x/ALpgYAY30NPQAB9AAAAAAAAAFNAAAAAQAAAfQANwBIAEh4nGNgYGBmgGAZBkYGEAgB8hjBfBYGCyDNxcDBwASECgwxDNUMtf//A8Xg7P+P/6/43/W/E6oXChjZGOACjExAgokBFTBCrCQXsOCXZmVgo8BwKgEAR4AOiQAAAAAAAAAAAAAAAAAAIAByAMJ4nGNgZDD/z8a4h+kdgwADAyujmqmJmbGRmDijmKgIm7IS48R/q1l5ODg5WBnDgDTfI+Y1PCwcPFx8f0JANAMDAyODB1D/aqB+cyBHVIRdTFyOUZZRBEiKixnJAUWUldTU9RhtGU2ApLqakh6jqYm5mbkdUMSO0dgIqIOPkVG6zFxcQoCZy9mAlYWVSVg5SFpBgJnDxRDE47RRluZlLPIV5vS0Y8r8EKcoIC6hqnRJjVNNj5mRiYWFW0RUSl/9mBq3qiGYz8nELCumq/rEzJ2bk4nVGd2N4kDrMRwE8jKas9nZgA6TZeRjVFYC6rBjvIHiRBGFEEwn+ogAnVhKvAvN3cAuBADk0zhuAAAAeJxtkcFq20AURa8UxxAIbb6gPLqywZbHciDIhEBw8U6BxlDIUsiDJYgkI40jvOgXdNcP6fd0UfIj2fTOeLoI1IM1Z968ue++GQAf8AsBTr8ar54DfAwqzyGGwQ/PZ/gc/PY8wDC88HyOqzD2PGT8KzODwQVXf9wpywE+BannEJfBd89n+BL89Dxg/M3zOSS88jzEZbjCCg32OKJFiR0KGAhGyDHmPEfCcYMJOYbiSEj3qKBdfo6M/QlSzoZnNXcsnXaeubOhes61ZvTolG9dDcOaS8w4ejci5lfoODdU3uGO9W3VnmetsuCRGp2r+8LvlpE1c2vn98Gd1qQVvWzwROeKWlg1+2Nb7gojo3ws8yS5mUisVCL3lW7LPKslzUyhq8xw8SybJi+1OcrotjBmv5zN+r6PsqqLmnZ3N55IX5pCHnWn2xe9lXVTG3nIKi2rdPM0V7YeLVVs7UBb1qq9moZmLdfWTrU/GN1K2mx1y0DqWimZX3Ght+WB87++1v4utLv9iB0J7+x9j6dIzHeZYsG/faUY1xShuTVta4kjJUtvkRAn08U0VvE13gnhlAB8c2Y7mmrc29pXX7jqVlmYoNuubGpRahEpFcv/df4CMXWCgwAAeJxjYGJg+P/x66H/WxmMGLABdiBmZGBiYGawZ4hjSAAA6hYGmgAAAAAAAAH//wACeJxjYGRgYOABYjEgZmJgBEI2IGYB8xgAA+AANXicY2BgYGQAgtsKp6pB9CNd5scwGgBDqAYsAAA=')format("woff");}.ff16{font-family:ff16;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff17;src:url('data:application/font-woff;base64,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')format("woff");}.ff17{font-family:ff17;line-height:0.833000;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.922000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff19;src:url('data:application/font-woff;base64,d09GRgABAAAAAAUkAA0AAAAABzwAAwACAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAFCAAAABoAAAAcn3rSZEdERUYAAATsAAAAHAAAAB4AJwAMT1MvMgAAAaQAAABDAAAAVlSOX41jbWFwAAACAAAAAE4AAAFSBVULMmdhc3AAAATkAAAACAAAAAj//wADZ2x5ZgAAAmAAAACKAAAAlH88AnRoZWFkAAABMAAAADMAAAA2JnRLQ2hoZWEAAAFkAAAAHwAAACQE0QNHaG10eAAAAegAAAAWAAAAFgaOAFJsb2NhAAACUAAAAA4AAAAOAEoAJG1heHAAAAGEAAAAHQAAACAASQAZbmFtZQAAAuwAAAHSAAADBsxLjalwb3N0AAAEwAAAACMAAAAu/9P2FXicY2BkYGBgZmg+JOt2Lp7f5isDN/MLoAjDI13mL3A66P8TpuVM/EAuBwMTSBQAYYoMFQB4nGNgZGBg4v//BEj+YgACpuUMKQySDMiAFQBnWQQdAHicY2BkYGBgYxBjANEMDExAzAhmO4D5DAAFGABjAAAAeJxjYGT8w/iFgZWBgamLaQ+DIkMPiP7fw/iAwZCRCSjKwMbMAAOMDEggIM01BUgpMNgx8f9/AlTJzyADUwMAdr8LxQAB9AAAAAAAAAFNAAAAAQAAAvoAUgBSAAB4nGNgYGBmgGAZBkYGEPAB8hjBfBYGAyDNAYRMQFqBwYbB7v9/BOv/4/8n/h+H6gIDRjYGOJcRpIeJARUwQqzCBVgYWPHIDg0AAMF3C5AAAAAAAAAAAAAAAAAAJABKAAB4nD3MPRKCMBCG4d1lMMQkE2aywYoGJlrZ+HsPr+YhOBjMUEGfImq0sPnmbb4HEB7viQay4ADQYOO57w5hf73cw+188kzPlKhgRzaNzNTW6HBeF6mdiNJoGYXTkK9/xwOEctN3X+KIeTOzK5ufNNZYKaYivbyqyFLLUxRKGLkuW50jSm3gAzF1IBsAAHicbZHBattAEIZ/KY4hENo8QRl6ssGW5XUgyIRAcDDkoEATyF3IiyWIJCOtI3zoE/SWB+nz9FD6Irn03/X2EKgXa7+dnZ35ZwbAJ/xEgOOvxh/PAT4HlecQw+CH5xN8DX55HmAYnnk+xUWoPA9p/0bPYHDG02/3ynKAL0HqOcR58N3zCe6CN88D2t89n0LCC89DnIcrrNBghwNalNiigIFghBxj7nMkXFeYkBViroR0iwra+efIWJ8g5W74VvPG0vHmhTdPjJ7zrGk9uMjXLodhziVmXL1bEf0rdNwbRt7ihvlt1p5vbWTBI2N0Lu8rvxta1vStnd4H91qTVtSS4p7KFWNh1ewObbktjIzyscyT5GoiKo4Tua10W+ZZLWlmCl1lhocXeWryUpuDjK4LY3bL2azv+yiruqhptzfjifSlKeRRd7p91RtZN7WRh6zSskrT+7my+SipYml7yrJSbWsairVcWznVbm90K2mz0S0NqSulpH/Fg96Ue+7/6lr7XmjX/YjdF/bsY41Hi+Jcpljwb6ekcMkgFLembC0qimXpJRJUMl1MVawu8SEQjg7AsxPbUVTjZmunvnDZY5cPz7rtyqaWOF5Ecazk/3H+AtpygeMAAHicY2BiYPj/8euh/1sZjBiwATYgZmRgYmBmkGdQBADcmAXcAAAAAAH//wACeJxjYGRgYOABYjEgZmJgBEJWIGYB8xgAA9UANHicY2BgYGQAgtsKp6pB9CNd5i8wGgBEUgZOAAA=')format("woff");}.ff19{font-family:ff19;line-height:0.555000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff1a;src:url('data:application/font-woff;base64,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')format("woff");}.ff1a{font-family:ff1a;line-height:0.999000;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,d09GRgABAAAAAAUcAA0AAAAAB0AAAwACAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAFAAAAABoAAAAcn3rSZkdERUYAAATkAAAAHAAAAB4AJwAMT1MvMgAAAaQAAABDAAAAVlSnX5ljbWFwAAACAAAAAE4AAAFSBVULMmdhc3AAAATcAAAACAAAAAj//wADZ2x5ZgAAAmAAAACEAAAAmFneDwhoZWFkAAABMAAAADMAAAA2JoRLRmhoZWEAAAFkAAAAIAAAACQE7QNLaG10eAAAAegAAAAWAAAAFgafAFNsb2NhAAACUAAAAA4AAAAOAEwAJm1heHAAAAGEAAAAHQAAACAASQAYbmFtZQAAAuQAAAHRAAADBsJLjaNwb3N0AAAEuAAAACMAAAAu/9P2FXicY2BkYGBgZmhW0NTNiee3+crAzfwCKMLwSJf5K5wO/n+DaRuTDJDLwcAEEgUAMqULFwB4nGNgZGBgkvl/g4GBmYsBCJi2MaQwSDIgA1YAUVcDPnicY2BkYGBgYxBlANEMDExAzAhmO4D5DAAE/wBiAAAAeJxjYGRiZ/zCwMrAwNTFtIdBkaEHRP/vYXzAYMjIBBRlYGNmgAFGBiQQkOaaAqQUGOyYZP7fAKqUYdCAqQEAKMgK6wAB9AAAAAAAAAFNAAAAAQAAAwoAUwBTAAB4nGNgYGBmgGAZBkYGEPAB8hjBfBYGAyDNAYRMQFqBwYbB7v9/BOv/4/8n/h+H6gIDRjYGOJcRpIeJARUwQqzCBVgYWPHIDg0AAMF3C5AAAAAAAAAAAAAAAAAAJgBMAAB4nGNgZAj+f4NpG5MMgwgDAyMvo5ioCJuykjqjmok5o5mxEZDLtPjvZyZeYR4OVt6/14SFmbR4WTl4GD/9+MHFw8HDzsjKKcXJyMoOZDOgmKXKCDRHzdTEXJcRSAKNEmcUA5l1DaRdmIn372ewkUxawk/+/QZp54Ka+O83pxQDAMK8IDd4nG2RwWrbQBRFrxTHEAhtvqA8urLBlsdyIMiEQFAxZKFAE+heyIMliCQjjSO86Bd01w/p93RR+iPd9M54ugjUgzVn3ry5774ZAO/wAwFOvwa/PQd4H9SeQ4yDb57P8DH46XmEcXjh+RxXYex5zPhnZgajC65+uVOWA3wIMs8hLoOvns/wKfjuecT4H8/nkPDK8xiXYYoULfY4okOFHUoYCCYoMOW8RMJxgxk5huJISPeooV1+gZz9CTLOhmc1dyyddl6480z1gmvN6NEp37oahjXXWHAMbkTMr9Fzbqm8wx3r26oDz1plwRM1elf3ld8tIxvmNs7vozutSSm9ZHigc0UtpO3+2FW70sikmMoySW5mEiuVyH2tu6rIG8lyU+o6N1y8yHNbVNocZXJbGrNfLxbDMER53Udtt7ubzmSoTClPutfdq97Kpm2MPOa1ljTLHpbK1qOlmq0daMtatVfT0qzlxtqp9wejO8nare4YyFwrFfNrLvS2OnD+19fG34V2tx+xI+Gdve3xFIn5LnOs+LevFOOaIjS3oW0tcaRk7S0S4mS+mscqvsYbIZwSgC/ObE9TrXtb++orV90qCxN011dtI0qtIqVi+b/OX9H8gdMAAAB4nGNgYmD4//Hrof9bGYwYsAE2IGZkYGJgZpBnUAQA3JgF3AAAAAAB//8AAnicY2BkYGDgAWIxIGZiYARCViBmAfMYAAPVADR4nGNgYGBkAILbCqeqQfQjXeavMBoARFwGUAAA')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,d09GRgABAAAAAAT0AA0AAAAAB5wAAgADAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAE2AAAABoAAAAcn3rSiEdERUYAAAS8AAAAGwAAAB4AJwALT1MvMgAAAaQAAABBAAAAVlQ3gD5jbWFwAAAB/AAAAEoAAAFKRITku2dhc3AAAAS0AAAACAAAAAj//wADZ2x5ZgAAAlQAAACDAAAAyJswHh5oZWFkAAABMAAAADIAAAA2JrJL1mhoZWEAAAFkAAAAHgAAACQFEQOjaG10eAAAAegAAAAUAAAAFAWgADtsb2NhAAACSAAAAAwAAAAMAAAAZG1heHAAAAGEAAAAHQAAACAASQBKbmFtZQAAAtgAAAG4AAADRaYPAoxwb3N0AAAEkAAAACEAAAAs/5n3iHicY2BkYGBgYjgS9URzajy/zVcGbuYXQBGGR7osbHDamkGD6R/jTyCXA6gWCAA2YgnyAAB4nGNgZGBg/MkABMxWIJLpH0MKgyQDMmAFAD+oArsAAHicY2BkYGBgZXBnYGIAARDJyAAScwDzGQAJ3QCUAAAAeJxjYGScyziBgZWBgamLaQ+DIkMPiP7fw/iAwZCRCSjKwMrMAAOMQOwA4wSkuaYAKQUlD8afYMmfcDUMAD/yC0AAAAABGAAAAAAAAAFNAAAAAQAAAzoAO3icY2BgYGaAYBkGRgYQcAHyGMF8FgYNIM0GpBkZmBgUlDz+/wfywfT/x3f3QNUDASMbA5zDyAQkmBhQASPEikEPWMjXCgA5DQliAAAAAAAAAAAAAAAAAGR4nGNgYrBm0GD6x/iTQZnBjYGBUYRNWUmPUV2PUVmJj5EdxDM1MTM2kmMUl2M0NjIzB7IFoWrUcCth+pfqo+CmpWHupSFjbcHEwSEA5+vGszLzQrkZjnBZRVdtdbgs41WPdElJaRUlYWttNmFlKMfCUfLffTDbDS4uJQUWZwAAMzsh7wB4nK1Sy2rbQBQ9o9iGQvCyqywulEICkRByFnVWJSYxmMoJUlyyHceyLWxrgqRgvOsHNfmmfkqPRkOhoWRVDbr33Nfc1wDo4xUK7ff9D1boq08Oe+iprw4fIVIvDnfw0es73EXfGznco/4HPVXnA6WfNqrBCieq67CHYxU5fISFGjvcwbn65XAXJ95nh3s49xKMYPCEA0rkWGGNGoIIIc8APk+Lh9TO6SW4QkA6gcYjNozdoyLPqdMosLC2ALH1mlp769l4nFIu7E0ZM2lssaRkLL2n7oF8hhTXSEgFY/Jbau4onfFGjMzTocxX61qiMBz4PulQ5ge5CmSiHzdmX21y0cVCJkEcyNTsqczl1BQyz9Z6uxSzlPvsQWbpdZLKOLmd3aVnvPcbC45ZUM2yUra5Y4mG5VX4QmMc63qdHnZzs60oN12VdGnqx9SUO01+Y1urLS85yMyOMeDoBJf838vgs82MMc+UNaPbiIhD9+0SmhVEuGASU9Q3plxlEgWhXMrflflJtnre6pKGaOgPOJzo4v3W3ibGvy9sHnFGc8UltgtsO2ueiNCYlVXOEbOmcCD/J+NvOdCTznicY2BiYPj/8dvu/3MZVBiwAVYgZmRgYmBmWA4Ay4sGFgAAAAAAAAH//wACeJxjYGRgYOABYjEgZmJgBEIWMAbxGAADygAzAHicY2BgYGQAgtsKp6pB9CNdFjYYDQA7EgR0AAA=')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;}
._d{margin-left:-3.307583px;}
._5{margin-left:-1.319850px;}
._c{width:1.778929px;}
._0{width:3.073600px;}
._1f{width:6.240614px;}
._2e{width:10.474828px;}
._e{width:12.358411px;}
._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;}
._26{width:23.911120px;}
._20{width:25.034189px;}
._12{width:26.108179px;}
._1c{width:27.184302px;}
._32{width:28.203966px;}
._3c{width:29.237898px;}
._3{width:31.241700px;}
._9{width:32.418280px;}
._22{width:33.865717px;}
._1{width:36.288314px;}
._16{width:37.656160px;}
._2{width:40.829100px;}
._30{width:43.635612px;}
._3d{width:46.068386px;}
._3e{width:48.929092px;}
._3b{width:50.958261px;}
._38{width:54.807560px;}
._1d{width:56.488800px;}
._3f{width:58.848576px;}
._48{width:61.016022px;}
._31{width:62.728934px;}
._37{width:66.759560px;}
._18{width:75.319360px;}
._2f{width:80.069834px;}
._28{width:84.680995px;}
._1a{width:94.143200px;}
._2c{width:100.423260px;}
._17{width:112.973920px;}
._2b{width:118.092166px;}
._2a{width:119.328817px;}
._15{width:131.803360px;}
._2d{width:133.939606px;}
._21{width:135.041571px;}
._14{width:150.632800px;}
._1e{width:169.463360px;}
._27{width:188.288800px;}
._11{width:225.949920px;}
._4a{width:244.781120px;}
._49{width:282.440160px;}
._34{width:320.098240px;}
._1b{width:338.928480px;}
._33{width:357.758560px;}
._40{width:376.588000px;}
._39{width:395.410720px;}
._29{width:541.355085px;}
._43{width:583.711840px;}
._46{width:602.542080px;}
._42{width:677.859840px;}
._24{width:725.336319px;}
._45{width:790.834880px;}
._35{width:809.662560px;}
._19{width:843.300676px;}
._23{width:861.270464px;}
._41{width:866.154240px;}
._25{width:993.735338px;}
._3a{width:1009.353626px;}
._47{width:1073.278080px;}
._36{width:1100.825257px;}
._44{width:1129.766400px;}
.fc0{color:rgb(35,55,59);}
.fc1{color:rgb(250,250,250);}
.fc2{color:rgb(255,255,255);}
.fc5{color:rgb(102,102,102);}
.fc9{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);}
.fca{color:rgb(16,136,110);}
.fcb{color:rgb(173,34,49);}
.fc3{color:rgb(176,0,64);}
.fc8{color:rgb(0,128,0);}
.fcc{color:rgb(57,75,79);}
.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;}
.y5b{bottom:5.278000px;}
.y50{bottom:5.288000px;}
.y160{bottom:5.750000px;}
.y142{bottom:5.867000px;}
.y1f0{bottom:6.519000px;}
.y1c2{bottom:6.953000px;}
.y44{bottom:7.702000px;}
.y19c{bottom:7.947000px;}
.yd1{bottom:9.212000px;}
.y1d9{bottom:9.599000px;}
.y69{bottom:10.397000px;}
.y204{bottom:10.786000px;}
.y1ae{bottom:11.140000px;}
.y187{bottom:11.167000px;}
.y8a{bottom:11.239000px;}
.yf2{bottom:11.583000px;}
.y18d{bottom:11.638000px;}
.y10{bottom:13.018000px;}
.y238{bottom:13.282000px;}
.y16c{bottom:13.937000px;}
.y154{bottom:14.147000px;}
.y9c{bottom:14.830000px;}
.y107{bottom:16.210000px;}
.y192{bottom:16.228000px;}
.y141{bottom:16.751000px;}
.y12e{bottom:18.387000px;}
.y1b4{bottom:18.622000px;}
.y113{bottom:18.642000px;}
.yc6{bottom:18.771000px;}
.y20c{bottom:18.816000px;}
.y5a{bottom:19.026000px;}
.y177{bottom:19.105000px;}
.y4f{bottom:20.008000px;}
.y1cd{bottom:20.821000px;}
.y218{bottom:21.210000px;}
.y43{bottom:21.451000px;}
.yd0{bottom:21.814000px;}
.y74{bottom:22.682000px;}
.y68{bottom:23.000000px;}
.y15f{bottom:23.324000px;}
.y203{bottom:23.389000px;}
.y190{bottom:23.501000px;}
.y89{bottom:23.842000px;}
.y1d8{bottom:24.194000px;}
.yba{bottom:24.365000px;}
.y27{bottom:25.331000px;}
.y237{bottom:25.885000px;}
.y93{bottom:26.378000px;}
.y18c{bottom:27.219000px;}
.y140{bottom:27.635000px;}
.y191{bottom:28.831000px;}
.y28{bottom:28.947000px;}
.y12d{bottom:30.990000px;}
.y112{bottom:31.244000px;}
.y176{bottom:31.707000px;}
.yf1{bottom:32.146000px;}
.y1c1{bottom:32.159000px;}
.y16b{bottom:32.866000px;}
.y1cc{bottom:33.424000px;}
.y59{bottom:33.746000px;}
.y217{bottom:33.812000px;}
.y1b3{bottom:34.203000px;}
.yc5{bottom:34.353000px;}
.ycf{bottom:34.417000px;}
.y1ad{bottom:34.627000px;}
.y67{bottom:35.603000px;}
.y22e{bottom:35.777000px;}
.y88{bottom:36.445000px;}
.y9b{bottom:36.598000px;}
.y186{bottom:36.771000px;}
.y153{bottom:36.953000px;}
.yb9{bottom:36.968000px;}
.ye0{bottom:37.837000px;}
.y42{bottom:38.163000px;}
.y73{bottom:38.263000px;}
.y13f{bottom:38.519000px;}
.y14a{bottom:38.673000px;}
.y1c{bottom:38.711000px;}
.y15e{bottom:38.906000px;}
.y1e7{bottom:39.861000px;}
.y106{bottom:41.416000px;}
.y18f{bottom:41.434000px;}
.y4e{bottom:41.542000px;}
.y225{bottom:42.597000px;}
.y11d{bottom:42.925000px;}
.y6{bottom:42.950000px;}
.y12c{bottom:43.593000px;}
.y20b{bottom:44.021000px;}
.y181{bottom:44.074000px;}
.y175{bottom:44.310000px;}
.y25{bottom:44.534000px;}
.y1c0{bottom:44.761000px;}
.y16a{bottom:45.469000px;}
.y1cb{bottom:46.026000px;}
.y216{bottom:46.415000px;}
.yce{bottom:47.020000px;}
.ya4{bottom:47.223000px;}
.y1ac{bottom:47.229000px;}
.yf{bottom:47.748000px;}
.y26{bottom:48.150000px;}
.y66{bottom:48.205000px;}
.y22d{bottom:48.380000px;}
.y87{bottom:49.048000px;}
.y13e{bottom:49.403000px;}
.y30{bottom:49.485000px;}
.yb8{bottom:49.571000px;}
.yc4{bottom:49.934000px;}
.y236{bottom:51.090000px;}
.y1ef{bottom:51.177000px;}
.yad{bottom:51.262000px;}
.y92{bottom:51.583000px;}
.y242{bottom:51.777000px;}
.yf0{bottom:52.709000px;}
.y149{bottom:53.321000px;}
.y18b{bottom:53.351000px;}
.ydf{bottom:53.418000px;}
.y18e{bottom:54.036000px;}
.y72{bottom:54.627000px;}
.y1a4{bottom:54.691000px;}
.y224{bottom:55.199000px;}
.y58{bottom:55.280000px;}
.y1d7{bottom:55.759000px;}
.y19b{bottom:55.991000px;}
.y4d{bottom:56.261000px;}
.y111{bottom:56.450000px;}
.y20a{bottom:56.624000px;}
.y180{bottom:56.676000px;}
.y174{bottom:56.913000px;}
.y1bf{bottom:57.364000px;}
.y7c{bottom:57.563000px;}
.y1b{bottom:57.914000px;}
.y169{bottom:58.071000px;}
.y38{bottom:58.296000px;}
.y9a{bottom:58.366000px;}
.y1e6{bottom:58.431000px;}
.y1ca{bottom:58.629000px;}
.y202{bottom:58.956000px;}
.y215{bottom:59.018000px;}
.yfd{bottom:59.057000px;}
.y15d{bottom:59.468000px;}
.ycd{bottom:59.622000px;}
.y5{bottom:59.625000px;}
.y41{bottom:59.697000px;}
.y1ab{bottom:59.832000px;}
.y13d{bottom:60.288000px;}
.y65{bottom:60.808000px;}
.y86{bottom:61.650000px;}
.y1b2{bottom:61.740000px;}
.ye8{bottom:62.370000px;}
.ya3{bottom:62.804000px;}
.y125{bottom:63.658000px;}
.y235{bottom:63.693000px;}
.y24{bottom:63.737000px;}
.y1ee{bottom:63.780000px;}
.yac{bottom:63.864000px;}
.y241{bottom:64.380000px;}
.y18a{bottom:65.954000px;}
.y105{bottom:66.621000px;}
.y185{bottom:66.639000px;}
.ye{bottom:66.951000px;}
.yd7{bottom:67.246000px;}
.y148{bottom:67.969000px;}
.y11c{bottom:68.131000px;}
.y19a{bottom:68.594000px;}
.y12b{bottom:68.798000px;}
.y152{bottom:68.908000px;}
.y110{bottom:69.052000px;}
.y209{bottom:69.227000px;}
.y17f{bottom:69.279000px;}
.y173{bottom:69.515000px;}
.y1be{bottom:69.967000px;}
.y57{bottom:70.000000px;}
.y7b{bottom:70.166000px;}
.y223{bottom:71.013000px;}
.y13c{bottom:71.172000px;}
.yc3{bottom:71.468000px;}
.yfc{bottom:71.660000px;}
.y1d6{bottom:71.866000px;}
.ycc{bottom:72.225000px;}
.y1aa{bottom:72.435000px;}
.y168{bottom:72.916000px;}
.yef{bottom:73.271000px;}
.y64{bottom:73.411000px;}
.y22c{bottom:73.585000px;}
.y85{bottom:74.253000px;}
.y201{bottom:74.537000px;}
.yb7{bottom:74.776000px;}
.ye7{bottom:74.973000px;}
.y124{bottom:76.260000px;}
.y1ed{bottom:76.382000px;}
.y40{bottom:76.409000px;}
.yab{bottom:76.467000px;}
.y91{bottom:76.788000px;}
.y1df{bottom:76.955000px;}
.y240{bottom:76.982000px;}
.y1e5{bottom:77.002000px;}
.y15c{bottom:77.042000px;}
.y1a{bottom:77.117000px;}
.y1b1{bottom:77.321000px;}
.yde{bottom:77.443000px;}
.y2f{bottom:77.480000px;}
.y4c{bottom:77.796000px;}
.ya2{bottom:78.386000px;}
.y21d{bottom:78.997000px;}
.y104{bottom:79.224000px;}
.y184{bottom:79.242000px;}
.y1a3{bottom:79.897000px;}
.y99{bottom:80.135000px;}
.y11b{bottom:80.733000px;}
.y199{bottom:81.197000px;}
.y12a{bottom:81.401000px;}
.y151{bottom:81.511000px;}
.y10f{bottom:81.655000px;}
.y208{bottom:81.829000px;}
.y17e{bottom:81.882000px;}
.y13b{bottom:82.056000px;}
.y1bd{bottom:82.569000px;}
.y71{bottom:82.649000px;}
.yd6{bottom:82.828000px;}
.y23{bottom:82.940000px;}
.y37{bottom:83.501000px;}
.y1c9{bottom:83.834000px;}
.y214{bottom:84.223000px;}
.yfb{bottom:84.263000px;}
.ycb{bottom:84.828000px;}
.y1d4{bottom:85.614000px;}
.y147{bottom:85.984000px;}
.yd{bottom:86.154000px;}
.y22b{bottom:86.188000px;}
.y222{bottom:86.595000px;}
.y84{bottom:86.856000px;}
.yb6{bottom:87.379000px;}
.y10b{bottom:87.508000px;}
.ye6{bottom:87.575000px;}
.y234{bottom:88.898000px;}
.yaa{bottom:89.070000px;}
.y1d5{bottom:89.229000px;}
.y23f{bottom:89.585000px;}
.y132{bottom:90.781000px;}
.y189{bottom:91.159000px;}
.y56{bottom:91.534000px;}
.y4b{bottom:91.544000px;}
.y167{bottom:91.844000px;}
.y1a2{bottom:92.499000px;}
.y15b{bottom:92.624000px;}
.y13a{bottom:92.940000px;}
.y11a{bottom:93.336000px;}
.y1de{bottom:93.692000px;}
.y198{bottom:93.799000px;}
.yee{bottom:93.834000px;}
.y207{bottom:94.432000px;}
.y17d{bottom:94.484000px;}
.y21c{bottom:94.579000px;}
.y1bc{bottom:95.172000px;}
.y7a{bottom:95.371000px;}
.y1ec{bottom:95.523000px;}
.y36{bottom:96.104000px;}
.y150{bottom:96.106000px;}
.y19{bottom:96.320000px;}
.y13{bottom:96.596000px;}
.y213{bottom:96.826000px;}
.yfa{bottom:96.865000px;}
.yca{bottom:97.430000px;}
.yc2{bottom:97.600000px;}
.y1a9{bottom:97.640000px;}
.y3f{bottom:97.943000px;}
.ydd{bottom:98.006000px;}
.y1e4{bottom:98.038000px;}
.y70{bottom:98.231000px;}
.y63{bottom:98.616000px;}
.y83{bottom:99.458000px;}
.y146{bottom:99.732000px;}
.y200{bottom:99.757000px;}
.yb5{bottom:99.981000px;}
.y1f8{bottom:100.019000px;}
.y123{bottom:101.466000px;}
.y10e{bottom:101.481000px;}
.y233{bottom:101.501000px;}
.ya9{bottom:101.672000px;}
.y90{bottom:101.994000px;}
.y22{bottom:102.143000px;}
.y23e{bottom:102.188000px;}
.y98{bottom:103.029000px;}
.y1c8{bottom:103.473000px;}
.y172{bottom:103.762000px;}
.y139{bottom:103.824000px;}
.yaf{bottom:103.877000px;}
.y166{bottom:104.447000px;}
.y1b0{bottom:104.858000px;}
.y1a1{bottom:105.102000px;}
.y55{bottom:105.283000px;}
.y1d3{bottom:105.315000px;}
.yc{bottom:105.357000px;}
.y2e{bottom:105.475000px;}
.y119{bottom:105.939000px;}
.y4a{bottom:106.264000px;}
.y197{bottom:106.402000px;}
.y129{bottom:106.606000px;}
.y206{bottom:107.035000px;}
.y10a{bottom:108.544000px;}
.y103{bottom:108.843000px;}
.y212{bottom:109.428000px;}
.yf9{bottom:109.468000px;}
.ya1{bottom:109.908000px;}
.y21b{bottom:110.160000px;}
.yc1{bottom:110.203000px;}
.y1a8{bottom:110.243000px;}
.y1dd{bottom:110.429000px;}
.y1ff{bottom:110.641000px;}
.y1f7{bottom:110.903000px;}
.y1eb{bottom:111.104000px;}
.y62{bottom:111.219000px;}
.y22a{bottom:111.393000px;}
.y3e{bottom:111.692000px;}
.y82{bottom:112.061000px;}
.y221{bottom:112.139000px;}
.ye5{bottom:112.781000px;}
.y15a{bottom:113.187000px;}
.y6f{bottom:113.812000px;}
.y232{bottom:114.103000px;}
.yed{bottom:114.397000px;}
.y23d{bottom:114.790000px;}
.yd5{bottom:114.823000px;}
.y18{bottom:115.523000px;}
.y12{bottom:115.799000px;}
.y131{bottom:115.987000px;}
.y171{bottom:116.365000px;}
.y97{bottom:116.778000px;}
.y4{bottom:117.024000px;}
.y165{bottom:117.050000px;}
.y1a0{bottom:117.705000px;}
.y118{bottom:118.542000px;}
.ydc{bottom:118.569000px;}
.y145{bottom:118.935000px;}
.y196{bottom:119.005000px;}
.y54{bottom:119.031000px;}
.y128{bottom:119.209000px;}
.y1c7{bottom:119.214000px;}
.y205{bottom:119.637000px;}
.y17c{bottom:119.690000px;}
.y1bb{bottom:120.377000px;}
.y1af{bottom:120.439000px;}
.y79{bottom:120.576000px;}
.y14f{bottom:120.664000px;}
.y21{bottom:121.346000px;}
.y2d{bottom:121.515000px;}
.y1fe{bottom:121.526000px;}
.y1f6{bottom:121.787000px;}
.y211{bottom:122.031000px;}
.yf8{bottom:122.071000px;}
.y35{bottom:122.528000px;}
.yc9{bottom:122.636000px;}
.y61{bottom:123.821000px;}
.y229{bottom:123.996000px;}
.y8f{bottom:124.335000px;}
.y102{bottom:124.424000px;}
.yb{bottom:124.560000px;}
.y81{bottom:124.664000px;}
.yb4{bottom:125.187000px;}
.ye4{bottom:125.383000px;}
.ya0{bottom:125.489000px;}
.y138{bottom:125.592000px;}
.y122{bottom:126.671000px;}
.y1d2{bottom:126.849000px;}
.ya8{bottom:126.878000px;}
.y231{bottom:126.955000px;}
.y1dc{bottom:127.166000px;}
.y220{bottom:127.720000px;}
.y49{bottom:127.798000px;}
.y3d{bottom:128.404000px;}
.y159{bottom:128.768000px;}
.y170{bottom:128.967000px;}
.y183{bottom:129.652000px;}
.y19f{bottom:130.307000px;}
.yd4{bottom:130.404000px;}
.y117{bottom:131.144000px;}
.y195{bottom:131.607000px;}
.y127{bottom:131.811000px;}
.y1e3{bottom:132.025000px;}
.y17b{bottom:132.292000px;}
.y1fd{bottom:132.410000px;}
.y1f5{bottom:132.672000px;}
.y53{bottom:132.779000px;}
.y1ba{bottom:132.980000px;}
.y78{bottom:133.179000px;}
.y1a7{bottom:134.053000px;}
.ydb{bottom:134.150000px;}
.y210{bottom:134.634000px;}
.yf7{bottom:134.673000px;}
.y17{bottom:134.725000px;}
.y1c6{bottom:134.955000px;}
.y11{bottom:135.002000px;}
.yc0{bottom:135.408000px;}
.y96{bottom:135.507000px;}
.yec{bottom:135.931000px;}
.y137{bottom:136.476000px;}
.y23c{bottom:136.609000px;}
.y8e{bottom:136.938000px;}
.y34{bottom:138.110000px;}
.y29{bottom:138.248000px;}
.y14e{bottom:138.696000px;}
.y3{bottom:139.042000px;}
.y121{bottom:139.274000px;}
.y6e{bottom:140.089000px;}
.y20{bottom:140.549000px;}
.y130{bottom:141.192000px;}
.y48{bottom:141.546000px;}
.y16f{bottom:141.570000px;}
.y1d1{bottom:142.005000px;}
.y164{bottom:142.255000px;}
.yc8{bottom:142.461000px;}
.y1fc{bottom:143.294000px;}
.y1f4{bottom:143.556000px;}
.y116{bottom:143.747000px;}
.ya{bottom:143.763000px;}
.y1db{bottom:143.903000px;}
.y194{bottom:144.210000px;}
.y158{bottom:144.350000px;}
.y17a{bottom:144.895000px;}
.y80{bottom:144.987000px;}
.y109{bottom:145.162000px;}
.y1b9{bottom:145.583000px;}
.y21a{bottom:145.667000px;}
.y2c{bottom:145.998000px;}
.y52{bottom:146.528000px;}
.y1ea{bottom:146.561000px;}
.y20f{bottom:147.236000px;}
.yf6{bottom:147.276000px;}
.y1e2{bottom:147.607000px;}
.y101{bottom:147.976000px;}
.ybf{bottom:148.011000px;}
.yd3{bottom:148.974000px;}
.y60{bottom:149.027000px;}
.y228{bottom:149.201000px;}
.y10d{bottom:149.540000px;}
.y3c{bottom:149.938000px;}
.yb3{bottom:149.994000px;}
.ye3{bottom:150.589000px;}
.y1c5{bottom:150.696000px;}
.y144{bottom:150.990000px;}
.y120{bottom:151.876000px;}
.ya7{bottom:152.083000px;}
.y21f{bottom:153.265000px;}
.y16{bottom:153.928000px;}
.y16e{bottom:154.173000px;}
.y1fb{bottom:154.178000px;}
.y95{bottom:154.237000px;}
.y1f3{bottom:154.440000px;}
.y163{bottom:154.858000px;}
.y230{bottom:154.975000px;}
.y33{bottom:155.079000px;}
.y19e{bottom:155.513000px;}
.y1a6{bottom:155.587000px;}
.y6d{bottom:155.671000px;}
.y47{bottom:156.266000px;}
.y115{bottom:156.350000px;}
.y9f{bottom:157.011000px;}
.y126{bottom:157.017000px;}
.y1d0{bottom:157.161000px;}
.yeb{bottom:157.465000px;}
.y136{bottom:157.799000px;}
.yc7{bottom:158.043000px;}
.y1b8{bottom:158.185000px;}
.y77{bottom:158.384000px;}
.y1e9{bottom:159.164000px;}
.y1f{bottom:159.752000px;}
.yda{bottom:159.764000px;}
.y20e{bottom:159.839000px;}
.y157{bottom:159.931000px;}
.ybe{bottom:160.614000px;}
.y51{bottom:161.247000px;}
.y219{bottom:161.248000px;}
.y5f{bottom:161.629000px;}
.y227{bottom:161.804000px;}
.y8d{bottom:162.143000px;}
.y9{bottom:162.966000px;}
.y12f{bottom:163.010000px;}
.ye2{bottom:163.191000px;}
.y100{bottom:163.558000px;}
.y11f{bottom:164.479000px;}
.y1fa{bottom:165.062000px;}
.y1f2{bottom:165.324000px;}
.y7f{bottom:165.550000px;}
.yb2{bottom:165.575000px;}
.y1da{bottom:166.095000px;}
.y108{bottom:166.198000px;}
.y1c4{bottom:166.437000px;}
.y143{bottom:166.571000px;}
.y3b{bottom:166.650000px;}
.y14d{bottom:166.691000px;}
.y188{bottom:166.775000px;}
.y182{bottom:167.460000px;}
.y21e{bottom:168.846000px;}
.y193{bottom:169.415000px;}
.y179{bottom:170.100000px;}
.y22f{bottom:170.556000px;}
.y1b7{bottom:170.788000px;}
.y76{bottom:170.987000px;}
.y1e8{bottom:171.767000px;}
.y1cf{bottom:172.317000px;}
.yf5{bottom:172.481000px;}
.y9e{bottom:172.592000px;}
.yae{bottom:172.619000px;}
.y94{bottom:172.967000px;}
.yd2{bottom:172.999000px;}
.yea{bottom:173.047000px;}
.y15{bottom:173.131000px;}
.ybd{bottom:173.216000px;}
.y135{bottom:173.540000px;}
.y23b{bottom:174.058000px;}
.y5e{bottom:174.232000px;}
.y10c{bottom:174.746000px;}
.y1e1{bottom:175.143000px;}
.y6c{bottom:175.237000px;}
.y156{bottom:175.513000px;}
.y1f9{bottom:175.946000px;}
.y1f1{bottom:176.208000px;}
.y2{bottom:177.167000px;}
.ya6{bottom:177.288000px;}
.y2b{bottom:177.455000px;}
.y1e{bottom:178.955000px;}
.y1a5{bottom:179.139000px;}
.y16d{bottom:179.378000px;}
.y162{bottom:180.063000px;}
.y46{bottom:180.825000px;}
.y114{bottom:181.156000px;}
.y8{bottom:182.169000px;}
.y14c{bottom:184.723000px;}
.y20d{bottom:185.044000px;}
.yf4{bottom:185.084000px;}
.y32{bottom:185.225000px;}
.ybc{bottom:185.819000px;}
.y7e{bottom:186.113000px;}
.y1c3{bottom:186.138000px;}
.y19d{bottom:186.297000px;}
.yb1{bottom:186.611000px;}
.y23a{bottom:186.661000px;}
.y5d{bottom:186.835000px;}
.yff{bottom:187.109000px;}
.y8c{bottom:187.348000px;}
.y1ce{bottom:187.473000px;}
.yd9{bottom:187.527000px;}
.ye1{bottom:188.397000px;}
.y134{bottom:189.281000px;}
.y1e0{bottom:190.725000px;}
.y6b{bottom:190.819000px;}
.y155{bottom:191.094000px;}
.y11e{bottom:191.278000px;}
.ye9{bottom:191.592000px;}
.y14{bottom:192.334000px;}
.y3a{bottom:193.417000px;}
.y2a{bottom:193.494000px;}
.y1b6{bottom:195.993000px;}
.y75{bottom:196.192000px;}
.y45{bottom:196.406000px;}
.y9d{bottom:196.617000px;}
.yf3{bottom:197.687000px;}
.y1{bottom:197.790000px;}
.y1d{bottom:198.158000px;}
.y178{bottom:198.207000px;}
.ybb{bottom:198.422000px;}
.y31{bottom:201.589000px;}
.yb0{bottom:202.193000px;}
.ya5{bottom:202.494000px;}
.yfe{bottom:202.691000px;}
.y161{bottom:203.189000px;}
.yd8{bottom:203.891000px;}
.y239{bottom:204.494000px;}
.y133{bottom:205.022000px;}
.y7d{bottom:206.676000px;}
.y14b{bottom:206.716000px;}
.y8b{bottom:207.174000px;}
.y6a{bottom:207.788000px;}
.y1b5{bottom:210.153000px;}
.y5c{bottom:212.040000px;}
.y39{bottom:212.770000px;}
.y7{bottom:236.149000px;}
.y226{bottom:240.488000px;}
.hb{height:19.359269px;}
.h16{height:20.921400px;}
.h18{height:22.093117px;}
.h10{height:22.124998px;}
.h9{height:23.910300px;}
.h15{height:24.818995px;}
.hf{height:24.890726px;}
.hd{height:25.285248px;}
.h12{height:26.899200px;}
.ha{height:27.576477px;}
.h6{height:29.887800px;}
.h13{height:30.196389px;}
.he{height:30.283662px;}
.h11{height:30.763662px;}
.hc{height:32.727300px;}
.h17{height:33.091994px;}
.h5{height:33.665843px;}
.h14{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;}
.x27{left:17.014000px;}
.x2d{left:22.942000px;}
.x1{left:28.346000px;}
.xc{left:31.983000px;}
.x2b{left:33.076000px;}
.x5{left:34.488000px;}
.xb{left:35.605000px;}
.xe{left:36.961000px;}
.x2a{left:38.553000px;}
.x12{left:41.530000px;}
.x1f{left:43.800000px;}
.x11{left:45.457000px;}
.x18{left:48.272000px;}
.x6{left:50.486000px;}
.x16{left:53.153000px;}
.x26{left:55.502000px;}
.x32{left:59.579000px;}
.x29{left:63.241000px;}
.x19{left:65.208000px;}
.x14{left:68.994000px;}
.x34{left:71.983000px;}
.x1a{left:73.079000px;}
.x13{left:78.160000px;}
.x1c{left:80.380000px;}
.x28{left:81.399000px;}
.x21{left:87.823000px;}
.x1b{left:90.994000px;}
.x17{left:97.238000px;}
.x25{left:102.471000px;}
.xa{left:106.772000px;}
.x1d{left:108.512000px;}
.x9{left:116.849000px;}
.x2{left:118.687000px;}
.x1e{left:121.058000px;}
.xd{left:144.311000px;}
.x23{left:153.058000px;}
.x22{left:156.831000px;}
.x8{left:167.345000px;}
.x35{left:173.449000px;}
.x10{left:177.263000px;}
.x2e{left:187.632000px;}
.x31{left:190.795000px;}
.x2f{left:204.569000px;}
.x30{left:221.505000px;}
.x20{left:252.580000px;}
.x33{left:261.995000px;}
.x2c{left:267.116000px;}
.x15{left:323.190000px;}
.x24{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;}
._d{margin-left:-4.410111pt;}
._5{margin-left:-1.759801pt;}
._c{width:2.371905pt;}
._0{width:4.098134pt;}
._1f{width:8.320819pt;}
._2e{width:13.966437pt;}
._e{width:16.477882pt;}
._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;}
._26{width:31.881493pt;}
._20{width:33.378918pt;}
._12{width:34.810905pt;}
._1c{width:36.245736pt;}
._32{width:37.605289pt;}
._3c{width:38.983864pt;}
._3{width:41.655600pt;}
._9{width:43.224373pt;}
._22{width:45.154290pt;}
._1{width:48.384419pt;}
._16{width:50.208213pt;}
._2{width:54.438800pt;}
._30{width:58.180816pt;}
._3d{width:61.424514pt;}
._3e{width:65.238789pt;}
._3b{width:67.944349pt;}
._38{width:73.076747pt;}
._1d{width:75.318400pt;}
._3f{width:78.464768pt;}
._48{width:81.354696pt;}
._31{width:83.638579pt;}
._37{width:89.012747pt;}
._18{width:100.425813pt;}
._2f{width:106.759779pt;}
._28{width:112.907993pt;}
._1a{width:125.524267pt;}
._2c{width:133.897680pt;}
._17{width:150.631893pt;}
._2b{width:157.456221pt;}
._2a{width:159.105090pt;}
._15{width:175.737813pt;}
._2d{width:178.586142pt;}
._21{width:180.055428pt;}
._14{width:200.843733pt;}
._1e{width:225.951147pt;}
._27{width:251.051733pt;}
._11{width:301.266560pt;}
._4a{width:326.374827pt;}
._49{width:376.586880pt;}
._34{width:426.797653pt;}
._1b{width:451.904640pt;}
._33{width:477.011413pt;}
._40{width:502.117333pt;}
._39{width:527.214293pt;}
._29{width:721.806780pt;}
._43{width:778.282453pt;}
._46{width:803.389440pt;}
._42{width:903.813120pt;}
._24{width:967.115092pt;}
._45{width:1054.446507pt;}
._35{width:1079.550080pt;}
._19{width:1124.400901pt;}
._23{width:1148.360619pt;}
._41{width:1154.872320pt;}
._25{width:1324.980450pt;}
._3a{width:1345.804834pt;}
._47{width:1431.037440pt;}
._36{width:1467.767009pt;}
._44{width:1506.355200pt;}
.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;}
.y5b{bottom:7.037333pt;}
.y50{bottom:7.050667pt;}
.y160{bottom:7.666667pt;}
.y142{bottom:7.822667pt;}
.y1f0{bottom:8.692000pt;}
.y1c2{bottom:9.270667pt;}
.y44{bottom:10.269333pt;}
.y19c{bottom:10.596000pt;}
.yd1{bottom:12.282667pt;}
.y1d9{bottom:12.798667pt;}
.y69{bottom:13.862667pt;}
.y204{bottom:14.381333pt;}
.y1ae{bottom:14.853333pt;}
.y187{bottom:14.889333pt;}
.y8a{bottom:14.985333pt;}
.yf2{bottom:15.444000pt;}
.y18d{bottom:15.517333pt;}
.y10{bottom:17.357333pt;}
.y238{bottom:17.709333pt;}
.y16c{bottom:18.582667pt;}
.y154{bottom:18.862667pt;}
.y9c{bottom:19.773333pt;}
.y107{bottom:21.613333pt;}
.y192{bottom:21.637333pt;}
.y141{bottom:22.334667pt;}
.y12e{bottom:24.516000pt;}
.y1b4{bottom:24.829333pt;}
.y113{bottom:24.856000pt;}
.yc6{bottom:25.028000pt;}
.y20c{bottom:25.088000pt;}
.y5a{bottom:25.368000pt;}
.y177{bottom:25.473333pt;}
.y4f{bottom:26.677333pt;}
.y1cd{bottom:27.761333pt;}
.y218{bottom:28.280000pt;}
.y43{bottom:28.601333pt;}
.yd0{bottom:29.085333pt;}
.y74{bottom:30.242667pt;}
.y68{bottom:30.666667pt;}
.y15f{bottom:31.098667pt;}
.y203{bottom:31.185333pt;}
.y190{bottom:31.334667pt;}
.y89{bottom:31.789333pt;}
.y1d8{bottom:32.258667pt;}
.yba{bottom:32.486667pt;}
.y27{bottom:33.774667pt;}
.y237{bottom:34.513333pt;}
.y93{bottom:35.170667pt;}
.y18c{bottom:36.292000pt;}
.y140{bottom:36.846667pt;}
.y191{bottom:38.441333pt;}
.y28{bottom:38.596000pt;}
.y12d{bottom:41.320000pt;}
.y112{bottom:41.658667pt;}
.y176{bottom:42.276000pt;}
.yf1{bottom:42.861333pt;}
.y1c1{bottom:42.878667pt;}
.y16b{bottom:43.821333pt;}
.y1cc{bottom:44.565333pt;}
.y59{bottom:44.994667pt;}
.y217{bottom:45.082667pt;}
.y1b3{bottom:45.604000pt;}
.yc5{bottom:45.804000pt;}
.ycf{bottom:45.889333pt;}
.y1ad{bottom:46.169333pt;}
.y67{bottom:47.470667pt;}
.y22e{bottom:47.702667pt;}
.y88{bottom:48.593333pt;}
.y9b{bottom:48.797333pt;}
.y186{bottom:49.028000pt;}
.y153{bottom:49.270667pt;}
.yb9{bottom:49.290667pt;}
.ye0{bottom:50.449333pt;}
.y42{bottom:50.884000pt;}
.y73{bottom:51.017333pt;}
.y13f{bottom:51.358667pt;}
.y14a{bottom:51.564000pt;}
.y1c{bottom:51.614667pt;}
.y15e{bottom:51.874667pt;}
.y1e7{bottom:53.148000pt;}
.y106{bottom:55.221333pt;}
.y18f{bottom:55.245333pt;}
.y4e{bottom:55.389333pt;}
.y225{bottom:56.796000pt;}
.y11d{bottom:57.233333pt;}
.y6{bottom:57.266667pt;}
.y12c{bottom:58.124000pt;}
.y20b{bottom:58.694667pt;}
.y181{bottom:58.765333pt;}
.y175{bottom:59.080000pt;}
.y25{bottom:59.378667pt;}
.y1c0{bottom:59.681333pt;}
.y16a{bottom:60.625333pt;}
.y1cb{bottom:61.368000pt;}
.y216{bottom:61.886667pt;}
.yce{bottom:62.693333pt;}
.ya4{bottom:62.964000pt;}
.y1ac{bottom:62.972000pt;}
.yf{bottom:63.664000pt;}
.y26{bottom:64.200000pt;}
.y66{bottom:64.273333pt;}
.y22d{bottom:64.506667pt;}
.y87{bottom:65.397333pt;}
.y13e{bottom:65.870667pt;}
.y30{bottom:65.980000pt;}
.yb8{bottom:66.094667pt;}
.yc4{bottom:66.578667pt;}
.y236{bottom:68.120000pt;}
.y1ef{bottom:68.236000pt;}
.yad{bottom:68.349333pt;}
.y92{bottom:68.777333pt;}
.y242{bottom:69.036000pt;}
.yf0{bottom:70.278667pt;}
.y149{bottom:71.094667pt;}
.y18b{bottom:71.134667pt;}
.ydf{bottom:71.224000pt;}
.y18e{bottom:72.048000pt;}
.y72{bottom:72.836000pt;}
.y1a4{bottom:72.921333pt;}
.y224{bottom:73.598667pt;}
.y58{bottom:73.706667pt;}
.y1d7{bottom:74.345333pt;}
.y19b{bottom:74.654667pt;}
.y4d{bottom:75.014667pt;}
.y111{bottom:75.266667pt;}
.y20a{bottom:75.498667pt;}
.y180{bottom:75.568000pt;}
.y174{bottom:75.884000pt;}
.y1bf{bottom:76.485333pt;}
.y7c{bottom:76.750667pt;}
.y1b{bottom:77.218667pt;}
.y169{bottom:77.428000pt;}
.y38{bottom:77.728000pt;}
.y9a{bottom:77.821333pt;}
.y1e6{bottom:77.908000pt;}
.y1ca{bottom:78.172000pt;}
.y202{bottom:78.608000pt;}
.y215{bottom:78.690667pt;}
.yfd{bottom:78.742667pt;}
.y15d{bottom:79.290667pt;}
.ycd{bottom:79.496000pt;}
.y5{bottom:79.500000pt;}
.y41{bottom:79.596000pt;}
.y1ab{bottom:79.776000pt;}
.y13d{bottom:80.384000pt;}
.y65{bottom:81.077333pt;}
.y86{bottom:82.200000pt;}
.y1b2{bottom:82.320000pt;}
.ye8{bottom:83.160000pt;}
.ya3{bottom:83.738667pt;}
.y125{bottom:84.877333pt;}
.y235{bottom:84.924000pt;}
.y24{bottom:84.982667pt;}
.y1ee{bottom:85.040000pt;}
.yac{bottom:85.152000pt;}
.y241{bottom:85.840000pt;}
.y18a{bottom:87.938667pt;}
.y105{bottom:88.828000pt;}
.y185{bottom:88.852000pt;}
.ye{bottom:89.268000pt;}
.yd7{bottom:89.661333pt;}
.y148{bottom:90.625333pt;}
.y11c{bottom:90.841333pt;}
.y19a{bottom:91.458667pt;}
.y12b{bottom:91.730667pt;}
.y152{bottom:91.877333pt;}
.y110{bottom:92.069333pt;}
.y209{bottom:92.302667pt;}
.y17f{bottom:92.372000pt;}
.y173{bottom:92.686667pt;}
.y1be{bottom:93.289333pt;}
.y57{bottom:93.333333pt;}
.y7b{bottom:93.554667pt;}
.y223{bottom:94.684000pt;}
.y13c{bottom:94.896000pt;}
.yc3{bottom:95.290667pt;}
.yfc{bottom:95.546667pt;}
.y1d6{bottom:95.821333pt;}
.ycc{bottom:96.300000pt;}
.y1aa{bottom:96.580000pt;}
.y168{bottom:97.221333pt;}
.yef{bottom:97.694667pt;}
.y64{bottom:97.881333pt;}
.y22c{bottom:98.113333pt;}
.y85{bottom:99.004000pt;}
.y201{bottom:99.382667pt;}
.yb7{bottom:99.701333pt;}
.ye7{bottom:99.964000pt;}
.y124{bottom:101.680000pt;}
.y1ed{bottom:101.842667pt;}
.y40{bottom:101.878667pt;}
.yab{bottom:101.956000pt;}
.y91{bottom:102.384000pt;}
.y1df{bottom:102.606667pt;}
.y240{bottom:102.642667pt;}
.y1e5{bottom:102.669333pt;}
.y15c{bottom:102.722667pt;}
.y1a{bottom:102.822667pt;}
.y1b1{bottom:103.094667pt;}
.yde{bottom:103.257333pt;}
.y2f{bottom:103.306667pt;}
.y4c{bottom:103.728000pt;}
.ya2{bottom:104.514667pt;}
.y21d{bottom:105.329333pt;}
.y104{bottom:105.632000pt;}
.y184{bottom:105.656000pt;}
.y1a3{bottom:106.529333pt;}
.y99{bottom:106.846667pt;}
.y11b{bottom:107.644000pt;}
.y199{bottom:108.262667pt;}
.y12a{bottom:108.534667pt;}
.y151{bottom:108.681333pt;}
.y10f{bottom:108.873333pt;}
.y208{bottom:109.105333pt;}
.y17e{bottom:109.176000pt;}
.y13b{bottom:109.408000pt;}
.y1bd{bottom:110.092000pt;}
.y71{bottom:110.198667pt;}
.yd6{bottom:110.437333pt;}
.y23{bottom:110.586667pt;}
.y37{bottom:111.334667pt;}
.y1c9{bottom:111.778667pt;}
.y214{bottom:112.297333pt;}
.yfb{bottom:112.350667pt;}
.ycb{bottom:113.104000pt;}
.y1d4{bottom:114.152000pt;}
.y147{bottom:114.645333pt;}
.yd{bottom:114.872000pt;}
.y22b{bottom:114.917333pt;}
.y222{bottom:115.460000pt;}
.y84{bottom:115.808000pt;}
.yb6{bottom:116.505333pt;}
.y10b{bottom:116.677333pt;}
.ye6{bottom:116.766667pt;}
.y234{bottom:118.530667pt;}
.yaa{bottom:118.760000pt;}
.y1d5{bottom:118.972000pt;}
.y23f{bottom:119.446667pt;}
.y132{bottom:121.041333pt;}
.y189{bottom:121.545333pt;}
.y56{bottom:122.045333pt;}
.y4b{bottom:122.058667pt;}
.y167{bottom:122.458667pt;}
.y1a2{bottom:123.332000pt;}
.y15b{bottom:123.498667pt;}
.y13a{bottom:123.920000pt;}
.y11a{bottom:124.448000pt;}
.y1de{bottom:124.922667pt;}
.y198{bottom:125.065333pt;}
.yee{bottom:125.112000pt;}
.y207{bottom:125.909333pt;}
.y17d{bottom:125.978667pt;}
.y21c{bottom:126.105333pt;}
.y1bc{bottom:126.896000pt;}
.y7a{bottom:127.161333pt;}
.y1ec{bottom:127.364000pt;}
.y36{bottom:128.138667pt;}
.y150{bottom:128.141333pt;}
.y19{bottom:128.426667pt;}
.y13{bottom:128.794667pt;}
.y213{bottom:129.101333pt;}
.yfa{bottom:129.153333pt;}
.yca{bottom:129.906667pt;}
.yc2{bottom:130.133333pt;}
.y1a9{bottom:130.186667pt;}
.y3f{bottom:130.590667pt;}
.ydd{bottom:130.674667pt;}
.y1e4{bottom:130.717333pt;}
.y70{bottom:130.974667pt;}
.y63{bottom:131.488000pt;}
.y83{bottom:132.610667pt;}
.y146{bottom:132.976000pt;}
.y200{bottom:133.009333pt;}
.yb5{bottom:133.308000pt;}
.y1f8{bottom:133.358667pt;}
.y123{bottom:135.288000pt;}
.y10e{bottom:135.308000pt;}
.y233{bottom:135.334667pt;}
.ya9{bottom:135.562667pt;}
.y90{bottom:135.992000pt;}
.y22{bottom:136.190667pt;}
.y23e{bottom:136.250667pt;}
.y98{bottom:137.372000pt;}
.y1c8{bottom:137.964000pt;}
.y172{bottom:138.349333pt;}
.y139{bottom:138.432000pt;}
.yaf{bottom:138.502667pt;}
.y166{bottom:139.262667pt;}
.y1b0{bottom:139.810667pt;}
.y1a1{bottom:140.136000pt;}
.y55{bottom:140.377333pt;}
.y1d3{bottom:140.420000pt;}
.yc{bottom:140.476000pt;}
.y2e{bottom:140.633333pt;}
.y119{bottom:141.252000pt;}
.y4a{bottom:141.685333pt;}
.y197{bottom:141.869333pt;}
.y129{bottom:142.141333pt;}
.y206{bottom:142.713333pt;}
.y10a{bottom:144.725333pt;}
.y103{bottom:145.124000pt;}
.y212{bottom:145.904000pt;}
.yf9{bottom:145.957333pt;}
.ya1{bottom:146.544000pt;}
.y21b{bottom:146.880000pt;}
.yc1{bottom:146.937333pt;}
.y1a8{bottom:146.990667pt;}
.y1dd{bottom:147.238667pt;}
.y1ff{bottom:147.521333pt;}
.y1f7{bottom:147.870667pt;}
.y1eb{bottom:148.138667pt;}
.y62{bottom:148.292000pt;}
.y22a{bottom:148.524000pt;}
.y3e{bottom:148.922667pt;}
.y82{bottom:149.414667pt;}
.y221{bottom:149.518667pt;}
.ye5{bottom:150.374667pt;}
.y15a{bottom:150.916000pt;}
.y6f{bottom:151.749333pt;}
.y232{bottom:152.137333pt;}
.yed{bottom:152.529333pt;}
.y23d{bottom:153.053333pt;}
.yd5{bottom:153.097333pt;}
.y18{bottom:154.030667pt;}
.y12{bottom:154.398667pt;}
.y131{bottom:154.649333pt;}
.y171{bottom:155.153333pt;}
.y97{bottom:155.704000pt;}
.y4{bottom:156.032000pt;}
.y165{bottom:156.066667pt;}
.y1a0{bottom:156.940000pt;}
.y118{bottom:158.056000pt;}
.ydc{bottom:158.092000pt;}
.y145{bottom:158.580000pt;}
.y196{bottom:158.673333pt;}
.y54{bottom:158.708000pt;}
.y128{bottom:158.945333pt;}
.y1c7{bottom:158.952000pt;}
.y205{bottom:159.516000pt;}
.y17c{bottom:159.586667pt;}
.y1bb{bottom:160.502667pt;}
.y1af{bottom:160.585333pt;}
.y79{bottom:160.768000pt;}
.y14f{bottom:160.885333pt;}
.y21{bottom:161.794667pt;}
.y2d{bottom:162.020000pt;}
.y1fe{bottom:162.034667pt;}
.y1f6{bottom:162.382667pt;}
.y211{bottom:162.708000pt;}
.yf8{bottom:162.761333pt;}
.y35{bottom:163.370667pt;}
.yc9{bottom:163.514667pt;}
.y61{bottom:165.094667pt;}
.y229{bottom:165.328000pt;}
.y8f{bottom:165.780000pt;}
.y102{bottom:165.898667pt;}
.yb{bottom:166.080000pt;}
.y81{bottom:166.218667pt;}
.yb4{bottom:166.916000pt;}
.ye4{bottom:167.177333pt;}
.ya0{bottom:167.318667pt;}
.y138{bottom:167.456000pt;}
.y122{bottom:168.894667pt;}
.y1d2{bottom:169.132000pt;}
.ya8{bottom:169.170667pt;}
.y231{bottom:169.273333pt;}
.y1dc{bottom:169.554667pt;}
.y220{bottom:170.293333pt;}
.y49{bottom:170.397333pt;}
.y3d{bottom:171.205333pt;}
.y159{bottom:171.690667pt;}
.y170{bottom:171.956000pt;}
.y183{bottom:172.869333pt;}
.y19f{bottom:173.742667pt;}
.yd4{bottom:173.872000pt;}
.y117{bottom:174.858667pt;}
.y195{bottom:175.476000pt;}
.y127{bottom:175.748000pt;}
.y1e3{bottom:176.033333pt;}
.y17b{bottom:176.389333pt;}
.y1fd{bottom:176.546667pt;}
.y1f5{bottom:176.896000pt;}
.y53{bottom:177.038667pt;}
.y1ba{bottom:177.306667pt;}
.y78{bottom:177.572000pt;}
.y1a7{bottom:178.737333pt;}
.ydb{bottom:178.866667pt;}
.y210{bottom:179.512000pt;}
.yf7{bottom:179.564000pt;}
.y17{bottom:179.633333pt;}
.y1c6{bottom:179.940000pt;}
.y11{bottom:180.002667pt;}
.yc0{bottom:180.544000pt;}
.y96{bottom:180.676000pt;}
.yec{bottom:181.241333pt;}
.y137{bottom:181.968000pt;}
.y23c{bottom:182.145333pt;}
.y8e{bottom:182.584000pt;}
.y34{bottom:184.146667pt;}
.y29{bottom:184.330667pt;}
.y14e{bottom:184.928000pt;}
.y3{bottom:185.389333pt;}
.y121{bottom:185.698667pt;}
.y6e{bottom:186.785333pt;}
.y20{bottom:187.398667pt;}
.y130{bottom:188.256000pt;}
.y48{bottom:188.728000pt;}
.y16f{bottom:188.760000pt;}
.y1d1{bottom:189.340000pt;}
.y164{bottom:189.673333pt;}
.yc8{bottom:189.948000pt;}
.y1fc{bottom:191.058667pt;}
.y1f4{bottom:191.408000pt;}
.y116{bottom:191.662667pt;}
.ya{bottom:191.684000pt;}
.y1db{bottom:191.870667pt;}
.y194{bottom:192.280000pt;}
.y158{bottom:192.466667pt;}
.y17a{bottom:193.193333pt;}
.y80{bottom:193.316000pt;}
.y109{bottom:193.549333pt;}
.y1b9{bottom:194.110667pt;}
.y21a{bottom:194.222667pt;}
.y2c{bottom:194.664000pt;}
.y52{bottom:195.370667pt;}
.y1ea{bottom:195.414667pt;}
.y20f{bottom:196.314667pt;}
.yf6{bottom:196.368000pt;}
.y1e2{bottom:196.809333pt;}
.y101{bottom:197.301333pt;}
.ybf{bottom:197.348000pt;}
.yd3{bottom:198.632000pt;}
.y60{bottom:198.702667pt;}
.y228{bottom:198.934667pt;}
.y10d{bottom:199.386667pt;}
.y3c{bottom:199.917333pt;}
.yb3{bottom:199.992000pt;}
.ye3{bottom:200.785333pt;}
.y1c5{bottom:200.928000pt;}
.y144{bottom:201.320000pt;}
.y120{bottom:202.501333pt;}
.ya7{bottom:202.777333pt;}
.y21f{bottom:204.353333pt;}
.y16{bottom:205.237333pt;}
.y16e{bottom:205.564000pt;}
.y1fb{bottom:205.570667pt;}
.y95{bottom:205.649333pt;}
.y1f3{bottom:205.920000pt;}
.y163{bottom:206.477333pt;}
.y230{bottom:206.633333pt;}
.y33{bottom:206.772000pt;}
.y19e{bottom:207.350667pt;}
.y1a6{bottom:207.449333pt;}
.y6d{bottom:207.561333pt;}
.y47{bottom:208.354667pt;}
.y115{bottom:208.466667pt;}
.y9f{bottom:209.348000pt;}
.y126{bottom:209.356000pt;}
.y1d0{bottom:209.548000pt;}
.yeb{bottom:209.953333pt;}
.y136{bottom:210.398667pt;}
.yc7{bottom:210.724000pt;}
.y1b8{bottom:210.913333pt;}
.y77{bottom:211.178667pt;}
.y1e9{bottom:212.218667pt;}
.y1f{bottom:213.002667pt;}
.yda{bottom:213.018667pt;}
.y20e{bottom:213.118667pt;}
.y157{bottom:213.241333pt;}
.ybe{bottom:214.152000pt;}
.y51{bottom:214.996000pt;}
.y219{bottom:214.997333pt;}
.y5f{bottom:215.505333pt;}
.y227{bottom:215.738667pt;}
.y8d{bottom:216.190667pt;}
.y9{bottom:217.288000pt;}
.y12f{bottom:217.346667pt;}
.ye2{bottom:217.588000pt;}
.y100{bottom:218.077333pt;}
.y11f{bottom:219.305333pt;}
.y1fa{bottom:220.082667pt;}
.y1f2{bottom:220.432000pt;}
.y7f{bottom:220.733333pt;}
.yb2{bottom:220.766667pt;}
.y1da{bottom:221.460000pt;}
.y108{bottom:221.597333pt;}
.y1c4{bottom:221.916000pt;}
.y143{bottom:222.094667pt;}
.y3b{bottom:222.200000pt;}
.y14d{bottom:222.254667pt;}
.y188{bottom:222.366667pt;}
.y182{bottom:223.280000pt;}
.y21e{bottom:225.128000pt;}
.y193{bottom:225.886667pt;}
.y179{bottom:226.800000pt;}
.y22f{bottom:227.408000pt;}
.y1b7{bottom:227.717333pt;}
.y76{bottom:227.982667pt;}
.y1e8{bottom:229.022667pt;}
.y1cf{bottom:229.756000pt;}
.yf5{bottom:229.974667pt;}
.y9e{bottom:230.122667pt;}
.yae{bottom:230.158667pt;}
.y94{bottom:230.622667pt;}
.yd2{bottom:230.665333pt;}
.yea{bottom:230.729333pt;}
.y15{bottom:230.841333pt;}
.ybd{bottom:230.954667pt;}
.y135{bottom:231.386667pt;}
.y23b{bottom:232.077333pt;}
.y5e{bottom:232.309333pt;}
.y10c{bottom:232.994667pt;}
.y1e1{bottom:233.524000pt;}
.y6c{bottom:233.649333pt;}
.y156{bottom:234.017333pt;}
.y1f9{bottom:234.594667pt;}
.y1f1{bottom:234.944000pt;}
.y2{bottom:236.222667pt;}
.ya6{bottom:236.384000pt;}
.y2b{bottom:236.606667pt;}
.y1e{bottom:238.606667pt;}
.y1a5{bottom:238.852000pt;}
.y16d{bottom:239.170667pt;}
.y162{bottom:240.084000pt;}
.y46{bottom:241.100000pt;}
.y114{bottom:241.541333pt;}
.y8{bottom:242.892000pt;}
.y14c{bottom:246.297333pt;}
.y20d{bottom:246.725333pt;}
.yf4{bottom:246.778667pt;}
.y32{bottom:246.966667pt;}
.ybc{bottom:247.758667pt;}
.y7e{bottom:248.150667pt;}
.y1c3{bottom:248.184000pt;}
.y19d{bottom:248.396000pt;}
.yb1{bottom:248.814667pt;}
.y23a{bottom:248.881333pt;}
.y5d{bottom:249.113333pt;}
.yff{bottom:249.478667pt;}
.y8c{bottom:249.797333pt;}
.y1ce{bottom:249.964000pt;}
.yd9{bottom:250.036000pt;}
.ye1{bottom:251.196000pt;}
.y134{bottom:252.374667pt;}
.y1e0{bottom:254.300000pt;}
.y6b{bottom:254.425333pt;}
.y155{bottom:254.792000pt;}
.y11e{bottom:255.037333pt;}
.ye9{bottom:255.456000pt;}
.y14{bottom:256.445333pt;}
.y3a{bottom:257.889333pt;}
.y2a{bottom:257.992000pt;}
.y1b6{bottom:261.324000pt;}
.y75{bottom:261.589333pt;}
.y45{bottom:261.874667pt;}
.y9d{bottom:262.156000pt;}
.yf3{bottom:263.582667pt;}
.y1{bottom:263.720000pt;}
.y1d{bottom:264.210667pt;}
.y178{bottom:264.276000pt;}
.ybb{bottom:264.562667pt;}
.y31{bottom:268.785333pt;}
.yb0{bottom:269.590667pt;}
.ya5{bottom:269.992000pt;}
.yfe{bottom:270.254667pt;}
.y161{bottom:270.918667pt;}
.yd8{bottom:271.854667pt;}
.y239{bottom:272.658667pt;}
.y133{bottom:273.362667pt;}
.y7d{bottom:275.568000pt;}
.y14b{bottom:275.621333pt;}
.y8b{bottom:276.232000pt;}
.y6a{bottom:277.050667pt;}
.y1b5{bottom:280.204000pt;}
.y5c{bottom:282.720000pt;}
.y39{bottom:283.693333pt;}
.y7{bottom:314.865333pt;}
.y226{bottom:320.650667pt;}
.hb{height:25.812358pt;}
.h16{height:27.895200pt;}
.h18{height:29.457490pt;}
.h10{height:29.499997pt;}
.h9{height:31.880400pt;}
.h15{height:33.091994pt;}
.hf{height:33.187635pt;}
.hd{height:33.713664pt;}
.h12{height:35.865600pt;}
.ha{height:36.768636pt;}
.h6{height:39.850400pt;}
.h13{height:40.261852pt;}
.he{height:40.378215pt;}
.h11{height:41.018216pt;}
.hc{height:43.636400pt;}
.h17{height:44.122658pt;}
.h5{height:44.887791pt;}
.h14{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;}
.x27{left:22.685333pt;}
.x2d{left:30.589333pt;}
.x1{left:37.794667pt;}
.xc{left:42.644000pt;}
.x2b{left:44.101333pt;}
.x5{left:45.984000pt;}
.xb{left:47.473333pt;}
.xe{left:49.281333pt;}
.x2a{left:51.404000pt;}
.x12{left:55.373333pt;}
.x1f{left:58.400000pt;}
.x11{left:60.609333pt;}
.x18{left:64.362667pt;}
.x6{left:67.314667pt;}
.x16{left:70.870667pt;}
.x26{left:74.002667pt;}
.x32{left:79.438667pt;}
.x29{left:84.321333pt;}
.x19{left:86.944000pt;}
.x14{left:91.992000pt;}
.x34{left:95.977333pt;}
.x1a{left:97.438667pt;}
.x13{left:104.213333pt;}
.x1c{left:107.173333pt;}
.x28{left:108.532000pt;}
.x21{left:117.097333pt;}
.x1b{left:121.325333pt;}
.x17{left:129.650667pt;}
.x25{left:136.628000pt;}
.xa{left:142.362667pt;}
.x1d{left:144.682667pt;}
.x9{left:155.798667pt;}
.x2{left:158.249333pt;}
.x1e{left:161.410667pt;}
.xd{left:192.414667pt;}
.x23{left:204.077333pt;}
.x22{left:209.108000pt;}
.x8{left:223.126667pt;}
.x35{left:231.265333pt;}
.x10{left:236.350667pt;}
.x2e{left:250.176000pt;}
.x31{left:254.393333pt;}
.x2f{left:272.758667pt;}
.x30{left:295.340000pt;}
.x20{left:336.773333pt;}
.x33{left:349.326667pt;}
.x2c{left:356.154667pt;}
.x15{left:430.920000pt;}
.x24{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><li><a class="l" href="#pf12" data-dest-detail='[18,"XYZ",28.346,217.653,null]'>Attributes [[attribute]]</a></li></ul></li><li><a class="l" href="#pf14" data-dest-detail='[20,"XYZ",28.346,255.118,null]'>Function Pointers and Function Objects</a><ul><li><a class="l" href="#pf15" data-dest-detail='[21,"XYZ",28.346,228.21,null]'>Function Pointer</a></li><li><a class="l" href="#pf17" data-dest-detail='[23,"XYZ",28.346,228.21,null]'>Function Object (or Functor)</a></li></ul></li><li><a class="l" href="#pf19" data-dest-detail='[25,"XYZ",28.346,255.118,null]'>Lambda Expressions</a><ul><li><a class="l" href="#pf1c" data-dest-detail='[28,"XYZ",28.346,228.21,null]'>Capture List</a></li><li><a class="l" href="#pf1f" data-dest-detail='[31,"XYZ",28.346,187.234,null]'>Parameters</a></li><li><a class="l" href="#pf20" data-dest-detail='[32,"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]'>constexpr/consteval</a></li><li><a class="l" href="#pf22" data-dest-detail='[34,"XYZ",28.346,212.314,null]'>template</a></li><li><a class="l" href="#pf23" data-dest-detail='[35,"XYZ",28.346,228.21,null]'>mutable</a></li><li><a class="l" href="#pf24" data-dest-detail='[36,"XYZ",28.346,184.046,null]'>[[nodiscard]]</a></li><li><a class="l" href="#pf25" data-dest-detail='[37,"XYZ",28.346,228.21,null]'>Capture List and Classes</a></li></ul></li><li><a class="l" href="#pf26" data-dest-detail='[38,"XYZ",28.346,255.118,null]'>Preprocessing</a><ul><li><a class="l" href="#pf28" data-dest-detail='[40,"XYZ",28.346,228.21,null]'>Preprocessors</a></li><li><a class="l" href="#pf2a" data-dest-detail='[42,"XYZ",28.346,228.21,null]'>Common Errors</a></li><li><a class="l" href="#pf34" data-dest-detail='[52,"XYZ",28.346,228.21,null]'>Source Location Macros</a></li><li><a class="l" href="#pf37" data-dest-detail='[55,"XYZ",28.346,228.21,null]'>Condition Compiling Macros</a></li><li><a class="l" href="#pf3c" data-dest-detail='[60,"XYZ",28.346,228.21,null]'>Stringizing Operator #</a></li><li><a class="l" href="#pf3e" data-dest-detail='[62,"XYZ",28.346,185.273,null]'>#error and #warning</a></li><li><a class="l" href="#pf3f" data-dest-detail='[63,"XYZ",28.346,228.21,null]'>#pragma</a></li><li><a class="l" href="#pf40" data-dest-detail='[64,"XYZ",28.346,228.21,null]'>Token-Pasting Operator ## </a></li><li><a class="l" href="#pf41" data-dest-detail='[65,"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-03-29</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 x6 h6 yf ff4 fs4 fc0 sc0 ls0 ws0">A<span class="_ _5"></span>ttributes<span class="_ _a"> </span><span class="ff5">[[attribute]]</span></div><div class="t m0 x7 h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">1/61</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:179.346000px;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:160.032000px;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:140.829000px;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:121.626000px;width:76.781000px;height:10.849000px;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:102.424000px;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:83.221000px;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:65.955000px;width:82.274000px;height:8.911000px;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:49.490000px;bottom:45.943000px;width:114.836000px;height:9.720000px;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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIrElEQVR42u3YMUrEUBCA4TzJYOkZxConEJEUKQRv5iW8S4pYeINtvIHVlk4Tu8Vmi2WRjO73tY8E3vCKn2l3948dAACU8fH+dmUKAABUI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAADhomWkKAADUERE2qQAAlCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqUYAAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAD81P/1CwzjdM7nu2X2CAAAqrFJBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAAOdpmWkKAADUERE2qQAAlCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAMC2+ou9+TBOx452y+xlAABsyCYVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAW2uZaQoAANQRETapAACUI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAgJP0F3vzYZyOHe2W2csAANiQTSoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAAC21jLTFAAAqCMibFIBAChHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFKNAAAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAOD/6Pcvt7/068+nV/MFAOBUw8NzazfX6/6r69Z1NRAAAEr4BrhuJf4JRvBbAAAAAElFTkSuQmCC"/><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 y11 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 y12 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 y13 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 y10 ff6 fs5 fc0 sc0 ls0 ws0">2/61</div><a class="l" href="#pf14" data-dest-detail='[20,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left: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="#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:114.803000px;width:71.565000px;height:8.911000px;background-color:rgba(255,255,255,0.000001);"></div></a><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: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 y14 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 y15 ff4 fs4 fc0 sc0 ls0 ws0">Capture<span class="_ _a"> </span>List</div><div class="t m0 x6 h6 y16 ff4 fs4 fc0 sc0 ls0 ws0">P<span class="_ _5"></span>arameters</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 ff5 fs4 fc0 sc0 ls0 ws0">constexpr<span class="ff4">/</span>consteval</div><div class="t m0 x6 ha y19 ff5 fs4 fc0 sc0 ls0 ws0">template</div><div class="t m0 x6 ha y1a ff5 fs4 fc0 sc0 ls0 ws0">mutable</div><div class="t m0 x6 ha y1b ff5 fs4 fc0 sc0 ls0 ws0">[[nodiscard]]</div><div class="t m0 x6 h6 y1c ff4 fs4 fc0 sc0 ls0 ws0">Capture<span class="_ _a"> </span>List<span class="_ _a"> </span>and<span class="_ _a"> </span>Classes</div><div class="t m0 x7 h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">3/61</div><a class="l" href="#pf19" data-dest-detail='[25,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:47.076000px;bottom:188.548000px;width:134.033000px;height:14.745000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf1c" data-dest-detail='[28,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:170.198000px;width:53.383000px;height:10.848000px;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:152.932000px;width:48.374000px;height:8.911000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf20" data-dest-detail='[32,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:131.792000px;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:112.036000px;width:101.120000px;height:11.955000px;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:93.166000px;width:43.835000px;height:10.327000px;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:76.120000px;width:38.605000px;height:8.170000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf24" data-dest-detail='[36,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:56.108000px;width:69.987000px;height:9.623000px;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:35.777000px;width:104.525000px;height:10.849000px;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 y1d 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 y1e 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 y1f ff4 fs4 fc0 sc0 ls0 ws0">Common<span class="_ _a"> </span>Erro<span class="_ _5"></span>rs</div><div class="t m0 x6 h6 y20 ff4 fs4 fc0 sc0 ls0 ws0">Source<span class="_ _a"> </span>Location<span class="_ _a"> </span>Macros</div><div class="t m0 x6 h6 y21 ff4 fs4 fc0 sc0 ls0 ws0">Condition<span class="_ _a"> </span>Compiling<span class="_ _a"> </span>Macros</div><div class="t m0 x6 h6 y22 ff4 fs4 fc0 sc0 ls0 ws0">Stringizing<span class="_ _a"> </span>Operator<span class="_ _a"> </span><span class="ff5">#</span></div><div class="t m0 x6 h6 y23 ff5 fs4 fc0 sc0 ls0 ws0">#error<span class="_ _a"> </span><span class="ff4">and<span class="_ _a"> </span></span>#warning</div><div class="t m0 x6 ha y24 ff5 fs4 fc0 sc0 ls0 ws0">#pragma</div><div class="t m0 x6 h6 y25 ff4 fs4 fc0 sc0 ls0 ws0">T<span class="_ _d"></span>ok<span class="_ _5"></span>en-Pasting<span class="_ _e"> </span>Op<span class="_ _c"></span>erato<span class="_ _5"></span>r<span class="_ _e"> </span><span class="ff5">##</span></div><div class="t m0 x8 hb y26 ff7 fs6 fc0 sc0 ls0 ws0"></div><div class="t m0 x6 h6 y27 ff4 fs4 fc0 sc0 ls0 ws0">V<span class="_ _5"></span>ariadic<span class="_ _e"> </span>Macro</div><div class="t m0 x9 hb y28 ff7 fs6 fc0 sc0 ls0 ws0"></div><div class="t m0 x7 h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">4/61</div><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: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="#pf28" data-dest-detail='[40,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:176.021000px;width:58.143000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf2a" data-dest-detail='[42,"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="#pf34" data-dest-detail='[52,"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="#pf37" data-dest-detail='[55,"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="#pf3c" data-dest-detail='[60,"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="#pf3e" data-dest-detail='[62,"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="#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:60.584000px;width:38.605000px;height:10.327000px;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:41.601000px;width:126.199000px;height:12.349000px;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: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 y29 ff1 fs0 fc0 sc0 ls0 ws0">F<span class="_ _d"></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 y2a 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 y2b ff3 fs3 fc0 sc0 ls0 ws0">task</div><div class="t m0 x1 h7 y2c ff8 fs3 fc0 sc0 ls0 ws0">Purp<span class="_ _c"></span>ose:</div><div class="t m0 xb h7 y2d 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 y2e ff8 fs3 fc0 sc0 ls0 ws0">bugs</div><div class="t m0 xb h7 y2f 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 y30 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 y10 ff6 fs5 fc0 sc0 ls0 ws0">5/61</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 y31 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 y32 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 y33 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 y34 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 y35 ff4 fs7 fc0 sc0 ls0 ws0">function</div><div class="t m0 xc hd y36 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 y37 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span><span class="ffd">return<span class="_ _e"> </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 y38 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 y10 ff6 fs5 fc0 sc0 ls0 ws0">6/61</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIuUlEQVR42u3csU0DMRSA4TM6i8piBkSVBUAIUVAgoRRZiyUyRQpaCigQC9BkA6rIFW6OjgEOnfScfN8E756bXz7J6ermbgAAgDD2H+9ntgAAQDQiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQCAP6m1ZgsAAMSRc3aTCgBAOCIVAACRCgAAIhUAgO6MHc26un9wYAAA83y9vXY0rZtUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAHDcUmutl1lrrQ4MAGCeUkovo+ac3aQCABCOSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAAQhmt4J+u15v4Q36+7E7zw5deAgCwkNRa62XWWqsDAwCYp5TSy6g5Z7/7AQAIR6QCACBSAQBApAIAIFIBAECkAgAgUgEAYGk9vZMKAMAp8E4qAAARiVQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAESqFQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAx2g8PF/awgzfj1tLAABYwur2KaWL8+nwMwzTNFkIAAAh/ALlwSv8m9duKwAAAABJRU5ErkJggg=="/><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 y39 ff1 fs7 fc1 sc0 ls0 ws0">Call-b<span class="_ _5"></span>y-value</div><div class="t m0 xc hc y3a 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 y3b ff1 fs7 fc0 sc0 ls0 ws0">A<span class="_ _5"></span>dvantages:</div><div class="t m0 xe h6 y3c fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Changes<span class="_ _a"> </span>made<span class="_ _e"> </span>to<span class="_ _a"> </span>the<span class="_ _a"> </span>parameter<span class="_ _e"> </span>inside<span class="_ _a"> </span>the<span class="_ _e"> </span>function<span class="_ _a"> </span>have<span class="_ _a"> </span>no<span class="_ _a"> </span>effect<span class="_ _a"> </span>on<span class="_ _e"> </span>the<span class="_ _a"> </span>argument</span></div><div class="t m0 x1 hc y3d ff1 fs7 fc0 sc0 ls0 ws0">Disadvantages:</div><div class="t m0 xe h6 y3e fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Perfo<span class="_ _5"></span>rmance<span class="_ _e"> </span>p<span class="_ _c"></span>enalt<span class="_ _5"></span>y<span class="_ _e"> </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="_ _a"> </span>la<span class="_ _5"></span>rge<span class="_ _e"> </span>(e.g.<span class="_ _10"> </span>a<span class="_ _e"> </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 y3f ff4 fs4 fc0 sc0 ls0 ws0">memb<span class="_ _c"></span>ers)</div><div class="t m0 x1 he y40 ff10 fs7 fc0 sc0 ls0 ws0">When<span class="_ _6"> </span>to<span class="_ _6"> </span>use:</div><div class="t m0 xe h6 y41 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Built-in<span class="_ _a"> </span>data<span class="_ _e"> </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="_ _e"> </span></span>8<span class="_ _a"> </span>bytes)</span></div><div class="t m0 x1 he y42 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 y43 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Fixed<span class="_ _a"> </span>size<span class="_ _e"> </span>arra<span class="_ _5"></span>ys<span class="_ _e"> </span>which<span class="_ _a"> </span>decay<span class="_ _e"> </span>into<span class="_ _a"> </span>p<span class="_ _c"></span>ointers</span></div><div class="t m0 xe h6 y44 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Large<span class="_ _e"> </span>objects</span></div><div class="t m0 x7 h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">7/61</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAI2ElEQVR42u3asUlEQRCA4Vt5g9FiDWJ0DSgiBgaCGNiWTViFgamBBmIDJnZgdGzkJs/MUI47hNm776tg3mzys2/LydnFAgAA0vh8ez2wBQAAshGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAD8Kr13WwAAII+IcJMKAEA6IhUAAJEKAAAiFQCA4UwDzbq8vHJgAACb+Xh5HmhaN6kAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAYLeV3vsos7bWHBgAwGZqraOMGhFuUgEASEekAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAwJ6ZrGBLp7d3u/Eh70+PThMASKL03keZtbXmwAAANlNrHWXUiPC7HwCAdEQqAADpeJMKYxvrVbSnzwCsyZtUAIC94E0qAABsRaQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAA7pfTebQEAgDwiwk0qAADpiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAESqFQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAAASmqyAHdNas4Q/1FotAYD83KQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgDAnim9d1sAACCPiHCTCgBAOiIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAAFlNq/tjW/hvX9cPlgAAsKbl+U0pR4fz6nuxmOfZQgAASOEHMEo3+N7bFSAAAAAASUVORK5CYII="/><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 y39 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 y45 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 y46 ffe fs7 fc0 sc0 ls0 ws0">f(T*<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="_ _e"> </span>a<span class="_ _e"> </span>function<span class="_ _a"> </span>to<span class="_ _a"> </span>change<span class="_ _a"> </span>the<span class="_ _a"> </span>value<span class="_ _e"> </span>of<span class="_ _a"> </span>the<span class="_ _a"> </span>argument</span></div><div class="t m0 xe h6 y49 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="_ _a"> </span>is<span class="_ _e"> </span>not<span class="_ _a"> </span>copied<span class="_ _a"> </span>(fast)</span></div><div class="t m0 x1 hc y4a ff1 fs7 fc0 sc0 ls0 ws0">Disadvantages:</div><div class="t m0 xe h6 y4b 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="_ _a"> </span>ma<span class="_ _5"></span>y<span class="_ _a"> </span>be<span class="_ _a"> </span>a<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">Dereferencing<span class="_ _a"> </span>a<span class="_ _e"> </span>p<span class="_ _c"></span>ointer<span class="_ _a"> </span>is<span class="_ _e"> </span>slow<span class="_ _5"></span>er<span class="_ _e"> </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 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="ff11">Raw<span class="_ _6"> </span><span class="ff4">arra<span class="_ _5"></span>ys<span class="_ _e"> </span>(use<span class="_ _12"> </span><span class="ffe">const<span class="_ _b"> </span>T*<span class="_ _12"> </span></span>if<span class="_ _e"> </span>read-only)</span></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">All<span class="_ _a"> </span>other<span class="_ _e"> </span>cases</span></div><div class="t m0 x7 h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">8/61</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pfb" class="pf w0 h0" data-page-no="b"><div class="pc pcb w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 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 y39 ff1 fs7 fc1 sc0 ls0 ws0">Call-b<span class="_ _5"></span>y-reference</div><div class="t m0 xc hc y45 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 y46 ffe fs7 fc0 sc0 ls0 ws0">f(T&amp;<span class="_ _13"> </span>x)</div><div class="t m0 x1 hc y51 ff1 fs7 fc0 sc0 ls0 ws0">A<span class="_ _5"></span>dvantages:</div><div class="t m0 xe h6 y52 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Allows<span class="_ _e"> </span>a<span class="_ _e"> </span>function<span class="_ _a"> </span>to<span class="_ _a"> </span>change<span class="_ _a"> </span>the<span class="_ _a"> </span>value<span class="_ _e"> </span>of<span class="_ _a"> </span>the<span class="_ _a"> </span>argument<span class="_ _e"> </span>(b<span class="_ _c"></span>etter<span class="_ _e"> </span>readability<span class="_ _e"> </span>compared<span class="_ _e"> </span>with</span></div><div class="t m0 x6 h6 y53 ff4 fs4 fc0 sc0 ls0 ws0">p<span class="_ _c"></span>ointers)</div><div class="t m0 xe h6 y54 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="_ _a"> </span>is<span class="_ _e"> </span>not<span class="_ _a"> </span>copied<span class="_ _a"> </span>(fast)</span></div><div class="t m0 xe h6 y55 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">References<span class="_ _a"> </span>must<span class="_ _e"> </span>b<span class="_ _c"></span>e<span class="_ _a"> </span>initialized<span class="_ _e"> </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 y56 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Avoid<span class="_ _e"> </span>implicit<span class="_ _e"> </span>conversion<span class="_ _a"> </span>(without<span class="_ _12"> </span><span class="ffe">const<span class="_ _b"> </span>T&amp;<span class="_ _e"> </span></span>)</span></div><div class="t m0 x1 he y57 ff10 fs7 fc0 sc0 ls0 ws0">When<span class="_ _6"> </span>to<span class="_ _6"> </span>use:</div><div class="t m0 xe h6 y58 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">All<span class="_ _a"> </span>cases<span class="_ _e"> </span>except<span class="_ _a"> </span>raw<span class="_ _e"> </span>p<span class="_ _c"></span>ointers</span></div><div class="t m0 x1 he y59 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 y5a fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Pass<span class="_ _e"> </span>b<span class="_ _5"></span>y-value<span class="_ _e"> </span><span class="ff11">could<span class="_ _6"> </span></span>give<span class="_ _e"> </span>p<span class="_ _c"></span>erformance<span class="_ _e"> </span>advantages<span class="_ _e"> </span>and<span class="_ _e"> </span>imp<span class="_ _5"></span>rove<span class="_ _e"> </span>the<span class="_ _e"> </span>readability<span class="_ _e"> </span>with<span class="_ _e"> </span>built-in</span></div><div class="t m0 x6 h6 y5b ff4 fs4 fc0 sc0 ls0 ws0">data<span class="_ _e"> </span>type<span class="_ _a"> </span>and<span class="_ _a"> </span>small<span class="_ _a"> </span>objects<span class="_ _a"> </span>that<span class="_ _e"> </span>are<span class="_ _e"> </span>trivially<span class="_ _a"> </span>copy<span class="_ _5"></span>able</div><div class="t m0 x7 h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">9/61</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 y5c 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 y5d 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 y5e 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 y5f 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="_ _e"> </span>reference</span></span></span></span></div><div class="t m0 xc hd y60 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 y61 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 y62 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="_ _e"> </span>p<span class="_ _c"></span>ointer</span></span></span></span></div><div class="t m0 xc hd y63 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 y64 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 y65 ffc fs8 fc6 sc0 ls0 ws0">//--------------------------------------------------------------</div><div class="t m0 xc hf y66 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 y67 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 y68 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="_ _e"> </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 y69 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 y10 ff6 fs5 fc0 sc0 ls0 ws0">10/61</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 y6a ff1 fs7 fc1 sc0 ls0 ws0">Signature</div><div class="t m0 xc hc y6b 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 y6c 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 y6d 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 y6e 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 y6f 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 y70 ff4 fs7 fc0 sc0 ls0 ws0">t<span class="_ _5"></span>yp<span class="_ _c"></span>e</div><div class="t m0 xb hc y71 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 y72 ff1 fs7 fc1 sc0 ls0 ws0">Overloading</div><div class="t m0 xc hc y73 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 y74 ff4 fs7 fc0 sc0 ls0 ws0">different<span class="_ _f"> </span><span class="ff11">signatures</span></div><div class="t m0 xf h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">11/61</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 y75 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 y76 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="_ _e"> </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 y77 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 y78 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="_ _e"> </span>signature</span>,<span class="_ _10"> </span>ok</span></span></span></div><div class="t m0 x10 hf y79 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 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="_ _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="_ _e"> </span>with<span class="_ _e"> </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 y7b 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="_ _e"> </span>with<span class="_ _e"> </span>signature</span>:<span class="_ _10"> </span>(float)</span></span></div><div class="t m0 x10 hf y7c 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 xf h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">12/61</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pff" class="pf w0 h0" data-page-no="f"><div class="pc pcf w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAI8klEQVR42u3ZsU0DQRCGUS+6EdGKGhARFSBEjEQJ9OEiyB1TBEUQUAQdEKFNYByYjIAIDJg5814Fe/8mn/baydnFAgAAynh8uD+wAgAA1YhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAADetcy0AgAAdUSEl1QAAMoRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAOqaTABfMsaY0Wl77/9nkB18LAA74yUVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAPytlplWAACgjojwkgoAQDkiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAPtuMgEwa2OMffqc3rtt6y8D7ICXVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAADwt1pmWgEAgDoiwksqAADliFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAIB/ZJrRWccYLgwAYDu99xmd1ksqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAi1QQAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQCAXzSZgD3zsl5fr1Z2+KS75dIIABTUMnMuZx1juDAAgO303udy1Ijwux8AgHJEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAMAOTSZgz7ys19erlR0+6W65NAIABbXMnMtZxxguDABgO733uRw1IvzuBwCgHJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAHxJy0wrAABQR0R4SQUAoByRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAfTM83x1bgO54ub40AAPyg0/Or1o4ON8+vi8VmszEIAAAlvAGJaEP6slZWVwAAAABJRU5ErkJggg=="/><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 y7d 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 y7e 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="_ _e"> </span></span>)</span></div><div class="t m0 xb hc y7f 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="_ _1c"> </span></span>and<span class="_ _12"> </span><span class="ffe">int<span class="_ _e"> </span></span>)</span></div><div class="t m0 xb hc y80 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="ff13"></span></span></div><div class="t m0 xc hf y81 ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>int<span class="_ _1d"> </span><span class="ffb fc0">a);</span></div><div class="t m0 xc hf y82 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="_ _1e"> </span><span class="ffc fc6">//<span class="_ _10"> </span>overload</span></span></div><div class="t m0 xc hf y83 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 y84 ffc fs8 fc6 sc0 ls0 ws0">//--------------------------------------------------------------</div><div class="t m0 x11 hf y85 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 y86 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 y87 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="_ _e"> </span>erro<span class="_ _5"></span>r<span class="_ _10"> </span><span class="ffc">ambiguous<span class="_ _10"> </span>match</span></span></div><div class="t m0 x11 hf y88 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 y89 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="_ _e"> </span>erro<span class="_ _5"></span>r<span class="_ _10"> </span><span class="ffc">ambiguous<span class="_ _10"> </span>match</span></span></div><div class="t m0 x11 hf y8a 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 y10 ff6 fs5 fc0 sc0 ls0 ws0">13/61</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf10" class="pf w0 h0" data-page-no="10"><div class="pc pc10 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 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 y8b 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 y8c 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 y8d 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 y8e ffb fs8 fc0 sc0 ls0 ws0">g(<span class="fc5">3</span>);<span class="_ _1d"> </span><span class="ffc fc6">//<span class="_ _10"> </span>ok</span></div><div class="t m0 xc hf y8f 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 y90 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>include<span class="_ _20"> </span><span class="fc6">&lt;cstddef&gt;<span class="_ _20"> </span>//<span class="_ _10"> </span>std::nullptr_t</span></div><div class="t m0 xc hf y91 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 y92 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 y93 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 y10 ff6 fs5 fc0 sc0 ls0 ws0">14/61</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIx0lEQVR42u3ZoU1EQRCA4VvyNqgNNRDUVUAIQZwgQdLLFYG6DiiCDhAg6ABDB6jLKsY8HAKBeGqW930VTGbNn9lycXm9AQCAND7eXk9sAQCAbEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAA/SkTYAgAAedRaXVIBAEhHpAIAIFIBAECkAgAwnGmgWbc3Ow8GALDM+8vzQNO6pAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQCA/61ExCiz9t49GADAMq21UUattbqkAgCQjkgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAA61YiwhYAAMij1uqSCgBAOiIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRagUAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAZDENNGvv3YMBACzTWhtoWpdUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAANKYrABI4v5wsIRfnvZ7SwDWqUTEKLP23j0YAMAyrbVRRq21+u4HACAdkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACtRIsIWAADIo9bqkgoAQDoiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAD8bTo+nNsCOX3ePloCAKzQ9uqulLPT+fi12czzbCEAAKTwDfc4LvqHYrv9AAAAAElFTkSuQmCC"/><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 y39 ff1 fs7 fc1 sc0 ls0 ws0">Default/Optional<span class="_ _6"> </span>parameter</div><div class="t m0 xc hc y45 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 y94 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">If<span class="_ _a"> </span>the<span class="_ _e"> </span>user<span class="_ _a"> </span>do<span class="_ _c"></span>es<span class="_ _e"> </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="_ _e"> </span>parameter,<span class="_ _e"> </span>the<span class="_ _a"> </span>default<span class="_ _a"> </span>value<span class="_ _a"> </span>will<span class="_ _e"> </span>b<span class="_ _c"></span>e<span class="_ _a"> </span>used</span></div><div class="t m0 xe h6 y95 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">All<span class="_ _a"> </span>default<span class="_ _e"> </span>parameters<span class="_ _e"> </span>must<span class="_ _a"> </span>b<span class="_ _c"></span>e<span class="_ _e"> </span>the<span class="_ _a"> </span>rightmost<span class="_ _a"> </span>parameters</span></div><div class="t m0 xe h6 y96 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="_ _a"> </span>must<span class="_ _e"> </span>b<span class="_ _c"></span>e<span class="_ _a"> </span>decla<span class="_ _5"></span>red<span class="_ _a"> </span>only<span class="_ _e"> </span>once</span></div><div class="t m0 xe h6 y97 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="_ _a"> </span>can<span class="_ _e"> </span>improve<span class="_ _e"> </span>compile<span class="_ _a"> </span>time<span class="_ _a"> </span>and<span class="_ _a"> </span>avoid<span class="_ _e"> </span>redundant<span class="_ _a"> </span>co<span class="_ _c"></span>de<span class="_ _e"> </span>b<span class="_ _c"></span>ecause<span class="_ _a"> </span>they</span></div><div class="t m0 x6 h6 y98 ff4 fs4 fc0 sc0 ls0 ws0">avoid<span class="_ _e"> </span>defining<span class="_ _a"> </span>other<span class="_ _a"> </span>overloaded<span class="_ _a"> </span>functions</div><div class="t m0 xc h10 y99 ff5 fs5 fc3 sc0 ls0 ws0">void<span class="_ _8"> </span><span class="ff14 fc4">f<span class="fc0">(</span></span>int<span class="_ _6"> </span><span class="ff14 fc0">a,<span class="_ _8"> </span></span>int<span class="_ _8"> </span><span class="ff14 fc0">b<span class="_ _6"> </span><span class="fc5">=<span class="_ _8"> </span>20</span>);<span class="_ _1e"> </span><span class="ffc fc6">//<span class="_ _8"> </span>declaration</span></span></div><div class="t m0 xc h10 y9a 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="ff15">compile<span class="_ _e"> </span>erro<span class="_ _5"></span>r<span class="ffc">,<span class="_ _8"> </span>already<span class="_ _6"> </span>set<span class="_ _8"> </span>in<span class="_ _6"> </span>the<span class="_ _8"> </span>declaration</span></span></div><div class="t m0 xc h10 y9b ff5 fs5 fc3 sc0 ls0 ws0">void<span class="_ _8"> </span><span class="ff14 fc4">f<span class="fc0">(</span></span>int<span class="_ _6"> </span><span class="ff14 fc0">a,<span class="_ _8"> </span></span>int<span class="_ _8"> </span><span class="ff14 fc0">b)<span class="_ _6"> </span>{<span class="_ _8"> </span>...<span class="_ _8"> </span>}<span class="_ _21"> </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 h10 y9c ff14 fs5 fc0 sc0 ls0 ws0">f(<span class="fc5">5</span>);<span class="_ _22"> </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 y10 ff6 fs5 fc0 sc0 ls0 ws0">15/61</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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _8"> </span>A<span class="_ _5"></span>ttributes<span class="_ _8"> </span><span class="ff5">[[attribute]]<span class="_ _23"> </span></span>1/2</div><div class="t m0 x1 hc y9d ff4 fs7 fc0 sc0 ls0 ws0">C++<span class="_ _f"> </span>allo<span class="_ _5"></span>ws<span class="_ _f"> </span>ma<span class="_ _5"></span>rking<span class="_ _f"> </span>functions<span class="_ _f"> </span>with<span class="_ _a"> </span>standard<span class="_ _a"> </span>properties<span class="_ _f"> </span>to<span class="_ _f"> </span>b<span class="_ _c"></span>etter<span class="_ _f"> </span>exp<span class="_ _5"></span>ress<span class="_ _f"> </span>their<span class="_ _f"> </span>intent:</div><div class="t m0 xb hc y9e fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4 fca">C++11<span class="_ _12"> </span></span><span class="ff5">[[noreturn]]<span class="_ _12"> </span><span class="ff4">indicates<span class="_ _f"> </span>that<span class="_ _f"> </span>a<span class="_ _f"> </span>function<span class="_ _f"> </span>do<span class="_ _c"></span>es<span class="_ _f"> </span>not<span class="_ _f"> </span>return<span class="_ _a"> </span>for</span></span></div><div class="t m0 x6 hc y9f ff4 fs7 fc0 sc0 ls0 ws0">optimization<span class="_ _f"> </span>purp<span class="_ _c"></span>oses<span class="_ _a"> </span>or<span class="_ _a"> </span>compiler<span class="_ _f"> </span>w<span class="_ _5"></span>arnings</div><div class="t m0 xb hc ya0 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4 fca">C++14<span class="_ _12"> </span></span><span class="ff5">[[deprecated]]<span class="_ _e"> </span><span class="ff4">,<span class="_ _20"> </span></span>[[deprecated(&quot;reason&quot;)]]<span class="_ _1c"> </span><span class="ff4">indicates<span class="_ _a"> </span>the<span class="_ _f"> </span>use<span class="_ _a"> </span>of<span class="_ _f"> </span>a</span></span></div><div class="t m0 x6 hc ya1 ff4 fs7 fc0 sc0 ls0 ws0">function<span class="_ _f"> </span>is<span class="_ _a"> </span>discouraged.<span class="_ _b"> </span>It<span class="_ _a"> </span>issues<span class="_ _f"> </span>a<span class="_ _f"> </span>compiler<span class="_ _f"> </span>wa<span class="_ _5"></span>rning<span class="_ _a"> </span>if<span class="_ _f"> </span>used</div><div class="t m0 xb hc ya2 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4 fca">C++17<span class="_ _12"> </span></span><span class="ff5">[[nodiscard]]</span></div><div class="t m0 x6 hc ya3 ff4 fs7 fca sc0 ls0 ws0">C++20<span class="_ _12"> </span><span class="ff5 fc0">[[nodiscard(&quot;reason&quot;)]]<span class="_ _12"> </span><span class="ff4">issues<span class="_ _f"> </span>a<span class="_ _f"> </span>wa<span class="_ _5"></span>rning<span class="_ _a"> </span>if<span class="_ _f"> </span>the<span class="_ _f"> </span>return<span class="_ _f"> </span>value<span class="_ _f"> </span>of<span class="_ _f"> </span>a</span></span></div><div class="t m0 x6 hc ya4 ff4 fs7 fc0 sc0 ls0 ws0">function<span class="_ _f"> </span>is<span class="_ _a"> </span>discarded<span class="_ _a"> </span>(not<span class="_ _f"> </span>handled)</div><div class="t m0 xf h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">16/61</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf13" class="pf w0 h0" data-page-no="13"><div class="pc pc13 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAId0lEQVR42u3YsQkCQRCG0Vm5xeiwBjGyAhFjwc5swnIMLMIOjI6L3GTNLMDEEd+rYPk3+Ziy2R0CAADSuN+uCysAAJCNSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEA4K201qwAAEAetVaXVAAA0hGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAILfhh946z7MPAwD4zDiOP/Ral1QAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAESqCQAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAA+JbSWrMCAAB51FpdUgEASEekAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAARETFM57UV+DeP48UIAJDWdn8qZbXs0zOi924QAABSeAH1WhoCXcrpgQAAAABJRU5ErkJggg=="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _8"> </span>A<span class="_ _5"></span>ttributes<span class="_ _8"> </span><span class="ff5">[[attribute]]<span class="_ _23"> </span></span>2/2</div><div class="t m0 xc hf ya5 ffb fs8 fc0 sc0 ls0 ws0">[[deprecated]]<span class="_ _10"> </span><span class="ff5 fc3">void<span class="_ _10"> </span></span>my_rand()<span class="_ _10"> </span>{<span class="_ _10"> </span>...<span class="_ _10"> </span>}</div><div class="t m0 xc hf ya6 ffb fs8 fc0 sc0 ls0 ws0">[[deprecated(<span class="fc7">&quot;please<span class="_ _10"> </span>use<span class="_ _10"> </span>rnd()&quot;</span>)]]<span class="_ _10"> </span><span class="ff5 fc3">void<span class="_ _10"> </span></span>my_rand2()<span class="_ _10"> </span>{<span class="_ _10"> </span>...<span class="_ _10"> </span>}</div><div class="t m0 xc hf ya7 ffb fs8 fc0 sc0 ls0 ws0">[[nodiscard]]<span class="_ _10"> </span><span class="ff5 fc3">int<span class="_ _10"> </span></span>f()<span class="_ _10"> </span>{<span class="_ _10"> </span><span class="ff5 fc8">return<span class="_ _10"> </span></span><span class="fc5">3</span>;<span class="_ _10"> </span>}</div><div class="t m0 xc hf ya8 ffb fs8 fc0 sc0 ls0 ws0">[[noreturn]]<span class="_ _10"> </span><span class="ff5 fc3">void<span class="_ _10"> </span></span>g()<span class="_ _10"> </span>{<span class="_ _10"> </span>std<span class="fc5">::</span>exit(<span class="fc5">0</span>);<span class="_ _10"> </span>}</div><div class="t m0 xc hf ya9 ffb fs8 fc0 sc0 ls0 ws0">my_rand();<span class="_ _1d"> </span><span class="ffc fc6">//<span class="_ _10"> </span>WARNING:<span class="_ _10"> </span>&quot;my_rand()<span class="_ _10"> </span>is<span class="_ _10"> </span>deprecated&quot;</span></div><div class="t m0 xc hf yaa ffb fs8 fc0 sc0 ls0 ws0">my_rand2();<span class="_ _16"> </span><span class="ffc fc6">//<span class="_ _10"> </span>WARNING:<span class="_ _10"> </span>&quot;my_rand2()<span class="_ _10"> </span>is<span class="_ _10"> </span>deprecated,<span class="_ _10"> </span>please<span class="_ _10"> </span>use<span class="_ _10"> </span>rnd()&quot;</span></div><div class="t m0 xc hf yab ffb fs8 fc0 sc0 ls0 ws0">f();<span class="_ _1e"> </span><span class="ffc fc6">//<span class="_ _10"> </span>WARNING<span class="_ _10"> </span>&quot;discard<span class="_ _10"> </span>return<span class="_ _10"> </span>value&quot;</span></div><div class="t m0 xc hf yac ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc0">z<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>f();<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>no<span class="_ _10"> </span>warning</span></span></div><div class="t m0 xc hf yad ffb fs8 fc0 sc0 ls0 ws0">g();<span class="_ _1e"> </span><span class="ffc fc6">//<span class="_ _10"> </span>no<span class="_ _10"> </span>code<span class="_ _10"> </span>after<span class="_ _10"> </span>calling<span class="_ _10"> </span>this<span class="_ _10"> </span>function</span></div><div class="t m0 xf h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">17/61</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 xa h2 yae ff1 fs0 fc0 sc0 ls0 ws0">F<span class="_ _d"></span>unction<span class="_ _1"> </span>P<span class="_ _d"></span>ointers</div><div class="t m0 xa h2 y29 ff1 fs0 fc0 sc0 ls0 ws0">and<span class="_ _1"> </span>F<span class="_ _d"></span>unction</div><div class="t m0 xa h2 yaf ff1 fs0 fc0 sc0 ls0 ws0">Objects</div><a class="l" href="#pf14" data-dest-detail='[20,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left: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="#pf14" data-dest-detail='[20,"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="#pf14" data-dest-detail='[20,"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="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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIeElEQVR42u3YsQkCMRiG4UQuWB3OIFZOIGIt3GYu4TgWDuEGVsdVpomdpYiC/AfPM0H40rz8ebM7JAAACON2vSysAABANCIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAICXXGu1AgAAcZRSXFIBAAhHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFJNAACASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAA8LluRm+dpsmHAQB8p+/7Gb3WJRUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJFqAgAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAwS7nWagUAAOIopbikAgAQjkgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAPyiG09rK8Ab9+PZCADwT9v9kPNq2cZHSq01gwAAEMIT4fYaAtFJJCkAAAAASUVORK5CYII="/><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="_ _24"> </span>1/2</div><div class="t m0 x1 hc yb0 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 yb1 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 yb2 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 h11 yb3 ff11 fs7 fc0 sc0 ls0 ws0">call”</div><div class="t m0 xc hf yb4 ffc fs8 fc9 sc0 ls0 ws0">#include<span class="_ _20"> </span><span class="fc6">&lt;stdlib.h&gt;<span class="_ _20"> </span>//<span class="_ _10"> </span>qsort</span></div><div class="t m0 xc hf yb5 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 yb6 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 yb7 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xc hf yb8 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 yb9 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 yba 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 y10 ff6 fs5 fc0 sc0 ls0 ws0">18/61</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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIj0lEQVR42u3YsU0DQRCG0Vt0I6IVNSAiKrAsx0juzE1QjgOKoAMiayMmOTKHDgxIc/Z7Fdz9m3ya9rLZTQAAUMbnx/HBCgAAVCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAA4a5lpBQAA6ogIl1QAAMoRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAgEvmFX3rGMODAQBcp/e+oq91SQUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKSaAAAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACsUstMKwAAUEdEuKQCAFCOSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQCgjNkEAMANGGPc0u/03u/8QV1SAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgDAurXMtAIAAHVEhEsqAADliFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAA8D/m0+HZCvBXvt7ejQAAv/S63bf29LicvqdpWRaDAABQwg94XCAAV9zCaQAAAABJRU5ErkJggg=="/><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="_ _24"> </span>2/2</div><div class="t m0 xc hf ybb 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 ybc 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 ybd ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xc hf ybe 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 ybf 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 yc0 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 yc1 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 yc2 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 yc3 ff1 fs7 fc0 sc0 ls0 ws0">Problems:</div><div class="t m0 x12 hc yc4 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="_ _e"> </span></span>)</span></div><div class="t m0 x4 hc yc5 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 yc6 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 y10 ff6 fs5 fc0 sc0 ls0 ws0">19/61</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf17" class="pf w0 h0" data-page-no="17"><div class="pc pc17 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIpUlEQVR42u3YsU0DQRBA0Vt0I6IVNSBHrgAhROAAic5ogl4ITEAHJHRAZG3EJEfmyNEF1u7pvQpGM8nXlN3D0wQAAN34+fq8sQUAAHojUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAOCuZaQsAAPQjInxSAQDojkgFAECkAgCASAUAYDjzQLPunw8OBgCwzvfxY6BpfVIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAwLaVzBxl1taagwEArFNrHWXUiPBJBQCgOyIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAICrKZlpCwAA9CMifFIBAOiOSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAICNmAeatbXmYAAA69RaB5rWJxUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJFqBQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAAOMrmWkLAAD0IyJ8UgEA6I5IBQBApAIAgEgFAECkAgCASAUAYHPm09u9LcD1/b68WwIAXLR/fC3l7nY5/U3TsiwWAgBAF/4Byesl/BrSTEcAAAAASUVORK5CYII="/><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="_ _25"> </span>1/2</div><div class="t m0 xc hc y39 ff1 fs7 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _6"> </span>Object</div><div class="t m0 xc hc y45 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 y46 ff4 fs7 fc0 sc0 ls0 ws0">pa<span class="_ _5"></span>rameter</div><div class="t m0 x1 hc yc7 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 yc8 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 yc9 ffc fs8 fc9 sc0 ls0 ws0">#include<span class="_ _20"> </span><span class="fc6">&lt;algorithm&gt;<span class="_ _20"> </span>//<span class="_ _10"> </span>for<span class="_ _10"> </span>std::sort</span></div><div class="t m0 xc hf yca 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 ycb 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 ycc 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 ycd ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xc hf yce ffb fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 xc hf ycf 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 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>Descending{});</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 xf h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">20/61</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf18" class="pf w0 h0" data-page-no="18"><div class="pc pc18 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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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="_ _25"> </span>2/2</div><div class="t m0 x1 hc yd2 ff1 fs7 fc0 sc0 ls0 ws0">A<span class="_ _5"></span>dvantages:</div><div class="t m0 x12 hc yd3 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 yd4 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 yd5 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 yd6 ff4 fs7 fca 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 yd7 ff1 fs7 fc0 sc0 ls0 ws0">lamb<span class="_ _c"></span>da<span class="_ _f"> </span>expressions</div><div class="t m0 xf h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">21/61</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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIW0lEQVR42u3ZsQ3CQBBE0TvEyiE1IFGCO7CojSbcIZFDNjm34Mxr8V4JE31pemY2AAAoIyJuVgAAoBqRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASDUBAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAAAu5m4CzrV9nkb4H9/3agS4ite8GIET9cy0AgAAdUSEux8AgHJEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAItUEAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAwBG9P6ax/VobY1gDAIASdigUE/UI5zVQAAAAAElFTkSuQmCC"/><div class="t m0 xa h2 y29 ff1 fs0 fc0 sc0 ls0 ws0">Lamb<span class="_ _0"></span>da<span class="_ _1"> </span>Exp<span class="_ _d"></span>ressions</div><a class="l" href="#pf19" data-dest-detail='[25,"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="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">Lamb<span class="_ _c"></span>da<span class="_ _8"> </span>Exp<span class="_ _5"></span>ression</div><div class="t m0 xc hc yd8 ff1 fs7 fc1 sc0 ls0 ws0">Lamb<span class="_ _c"></span>da<span class="_ _f"> </span>Expression</div><div class="t m0 xc hc yd9 ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="fca">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 yda ff5 fs7 fc0 sc0 ls0 ws0">auto<span class="_ _13"> </span>x<span class="_ _13"> </span>=<span class="_ _26"> </span><span class="ffe fc4">[capture<span class="_ _13"> </span>clause]<span class="_ _13"> </span>(parameters)<span class="_ _13"> </span><span class="ff16">{<span class="_ _13"> </span></span>body<span class="_ _13"> </span><span class="ff16">}</span></span></div><div class="t m0 xb hc ydb 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 ydc 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 ydd 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></div><div class="t m0 xb hc yde 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 ydf 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 ye0 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 xf h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">22/61</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">Lamb<span class="_ _c"></span>da<span class="_ _8"> </span>Exp<span class="_ _5"></span>ression</div><div class="t m0 xc hf ye1 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>include<span class="_ _20"> </span><span class="fc6">&lt;algorithm&gt;<span class="_ _20"> </span>//<span class="_ _10"> </span>for<span class="_ _10"> </span>std::sort</span></div><div class="t m0 xc hf ye2 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 ye3 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="ff17">named<span class="_ _10"> </span></span>lambda</span></span></div><div class="t m0 xc hf ye4 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 ye5 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 ye6 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="ff17">unnamed<span class="_ _10"> </span></span>lambda</div><div class="t m0 xc hf ye7 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 ye8 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 y10 ff6 fs5 fc0 sc0 ls0 ws0">23/61</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</div><div class="t m0 x1 hc y8b 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 ye9 ff4 fs7 fc0 sc0 ls0 ws0">w<span class="_ _5"></span>a<span class="_ _5"></span>ys:</div><div class="t m0 xb hc yea 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 yeb 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 yec 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 yed fff fs7 fc0 sc0 ls0 ws0"><span class="_ _22"> </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 yee fff fs7 fc0 sc0 ls0 ws0"><span class="_ _22"> </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 yef fff fs7 fc0 sc0 ls0 ws0"><span class="_ _22"> </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 yf0 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _22"> </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="_ _1c"> </span><span class="ff11">b<span class="_ _5"></span>y-value</span></span></span></div><div class="t m0 xb hc yf1 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _22"> </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="_ _1c"> </span><span class="ff11">b<span class="_ _5"></span>y-reference</span></span></span></div><div class="t m0 xb hc yf2 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _22"> </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="_ _1c"> </span><span class="ff11">b<span class="_ _5"></span>y-value<span class="_ _8"> </span><span class="ff4">and<span class="_ _20"> </span><span class="ffe">var2<span class="_ _1c"> </span></span></span>by-reference</span></span></span></div><div class="t m0 xf h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">24/61</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">Capture<span class="_ _8"> </span>List<span class="_ _8"> </span>Examples</div><div class="t m0 xc hf yf3 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 yf4 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>include<span class="_ _20"> </span><span class="fc6">&lt;algorithm&gt;<span class="_ _20"> </span>//<span class="_ _10"> </span>for<span class="_ _10"> </span>std::find_if</span></div><div class="t m0 xc hf yf5 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 yf6 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 yf7 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 yf8 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 yf9 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 yfa 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 yfb ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span><span class="ffd">compile<span class="_ _e"> </span>erro<span class="_ _5"></span>r</span></div><div class="t m0 xc hf yfc 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 yfd 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 y10 ff6 fs5 fc0 sc0 ls0 ws0">25/61</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">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 yfe fff fs7 fc0 sc0 ls0 ws0"><span class="_ _22"> </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 yff 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 y100 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _22"> </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 y101 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 y102 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 y103 ffe fs7 fc0 sc0 ls0 ws0">constexpr</div><div class="t m0 xc hf y104 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 y105 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 y106 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 y107 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="_ _1d"> </span>};</span></div><div class="t m0 xf h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">26/61</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">Lamb<span class="_ _c"></span>da<span class="_ _8"> </span>Exp<span class="_ _5"></span>ressions<span class="_ _8"> </span>-<span class="_ _8"> </span>P<span class="_ _5"></span>a<span class="_ _5"></span>rameters</div><div class="t m0 x1 hc y108 ff4 fs7 fca 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 y109 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="ff16">{<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="ff16">}</span>;</div><div class="t m0 x1 hc y10a ff4 fs7 fca 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 y10b 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="ff16">{<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="ff16">}</span>;</div><div class="t m0 xf h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">27/61</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIjUlEQVR42u3YsU0DQRCG0Vt0I6IVNVhErsBCxEjujCYoh8BF0IEjayNPcmQU4MSz+L0KVv8mn6a9Ht4XAAAo4+f0/WQFAACqEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAPxpmWkFAADqiAiXVAAAyhGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAO5nneitYwwfBgBwm977RK91SQUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIA8HhaZloBAIA6IsIlFQCAckQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAB7VOtFbxxg+DADgNr33iV7rkgoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEg1AQAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAANTSMtMKAADUEREuqQAAlCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAMB9rZfPnRWAf+n88WUEgBnt346tvTxvl+uybNtmEAAASvgFB4IgAORrSE0AAAAASUVORK5CYII="/><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>ressions<span class="_ _8"> </span>-<span class="_ _8"> </span>Composability</div><div class="t m0 x1 hc y8b 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 y8c 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 y10c 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 y10d 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 y8e 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 y10e 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<span class="_ _f"> </span><span class="ff4">(dynamic<span class="_ _f"> </span>dispatch<span class="_ _f"> </span>is<span class="_ _f"> </span>also<span class="_ _f"> </span>p<span class="_ _c"></span>ossible)</span></div><div class="t m0 xc hf y10f 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 y110 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 y111 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xc hf y112 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 y113 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 y10 ff6 fs5 fc0 sc0 ls0 ws0">28/61</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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAInUlEQVR42u3YMUoEQRCG0WmZwqjxDGLkCUSMhb2Zl/A4Bh7CGxgtFVnJmIj5Cos17HsnaP5OPmrcPTwtAADQxsf725UVAADoRqQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAPBrVJUVAADoIyJcUgEAaEekAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAnWU0ANJeZRjiHOacRgLZcUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAwL6NqrICAAB9RIRLKgAA7YhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAAB0t5oAaC4zjXAOc04jAG25pAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQCA/zWqygoAAPQRES6pAAC0I1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQDgwqw7emtm+jAAgL+Zc+7otS6pAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVBMAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAADs36gqKwAA0EdEuKQCANCOSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAIAf6/Hl1goAn8+vRgBo4v7xMMbN9Xb8WpZt2wwCAEAL3wB1Jf7rMRUAAAAAAElFTkSuQmCC"/><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 yb0 ff4 fs7 fca sc0 ls0 ws0">C++17<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">constexpr</span></span></div><div class="t m0 x1 hc y114 ff4 fs7 fca 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">consteval</span></span></div><div class="t m0 xc hf y115 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>constexpr<span class="_ _10"> </span>lambda</div><div class="t m0 xc hf y116 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 y117 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 y118 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 y119 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 y11a ff5 fs8 fc8 sc0 ls0 ws0">return<span class="_ _10"> </span><span class="ffb fc0">ret;</span></div><div class="t m0 xc hf y11b ffb fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 xc hf y11c 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 y11d 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="ff18">&apos;</span>24<span class="ff18">&apos;<span class="_ _10"> </span></span>+<span class="_ _10"> </span><span class="ff18">&apos;</span>10<span class="ff18">&apos;</span></span></span></span></div><div class="t m0 xf h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">29/61</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,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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="ff13"></span></span></div><div class="t m0 x1 hc y11e ff4 fs7 fca 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="_ _1c"> </span></span>clause</span></div><div class="t m0 xc hf y11f 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 x17 hf y120 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 y121 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 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">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 y124 ff5 fs8 fc8 sc0 ls0 ws0">struct<span class="_ _10"> </span><span class="fc4">A<span class="ffb fc0">{}<span class="_ _10"> </span>a;</span></span></div><div class="t m0 xc hf y125 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>auto<span class="_ _10"> </span>v<span class="_ _10"> </span>=<span class="_ _10"> </span>lambda(a);<span class="_ _10"> </span>//<span class="_ _10"> </span>compiler<span class="_ _10"> </span>error</div><div class="t m0 xf h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">30/61</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf23" class="pf w0 h0" data-page-no="23"><div class="pc pc23 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 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 yb0 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 y114 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 y126 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 y127 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="_ _1e"> </span><span class="ffc fc6">//<span class="_ _10"> </span>ok</span></span></div><div class="t m0 xc hf y128 ffb fs8 fc0 sc0 ls0 ws0">lambda1();</div><div class="t m0 xc hf y129 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="ff18">&apos;</span>4<span class="ff18">&apos;</span></span></div><div class="t m0 xc hd y12a 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="_ _e"> </span>erro<span class="_ _5"></span>r</span></div><div class="t m0 xc hf y12b 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 y12c 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 y12d ffb fs8 fc0 sc0 ls0 ws0">lambda3();</div><div class="t m0 xc hf y12e 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="ff18">&apos;</span>4<span class="ff18">&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 y10 ff6 fs5 fc0 sc0 ls0 ws0">31/61</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">[[nodiscard]]<span class="_ _8"> </span><span class="ff1">A<span class="_ _5"></span>ttribute</span></div><div class="t m0 x1 hc y12f ff4 fs7 fca sc0 ls0 ws0">C++23<span class="_ _f"> </span><span class="fc0">allo<span class="_ _5"></span>ws<span class="_ _f"> </span>adding<span class="_ _a"> </span>the<span class="_ _1c"> </span><span class="ffe">[[nodiscard]]<span class="_ _12"> </span></span>attribute<span class="_ _f"> </span>to<span class="_ _f"> </span>lamb<span class="_ _c"></span>da<span class="_ _f"> </span>exp<span class="_ _5"></span>ressions</span></div><div class="t m0 xc hf y130 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="_ _10"> </span>[[nodiscard]]<span class="_ _10"> </span>(){<span class="_ _10"> </span></span>return<span class="_ _10"> </span><span class="ffb fc5">4<span class="fc0">;<span class="_ _10"> </span>};</span></span></div><div class="t m0 xc hf y131 ffb fs8 fc0 sc0 ls0 ws0">lambda();<span class="_ _27"> </span><span class="ffc fc6">//<span class="_ _10"> </span>compiler<span class="_ _10"> </span>warning</span></div><div class="t m0 xc hf y132 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">x<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>lambda();<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>ok</span></span></div><div class="t m0 xf h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">32/61</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 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="ff13"></span></div><div class="t m0 xe h6 y133 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _22"> </span><span class="ff5">[this]<span class="_ _20"> </span><span class="ff4">captures<span class="_ _a"> </span>the<span class="_ _e"> </span>current<span class="_ _a"> </span>object<span class="_ _20"> </span><span class="ffe">(*this)<span class="_ _20"> </span><span class="ff11">by-reference<span class="_ _f"> </span></span></span>(implicit<span class="_ _a"> </span>in<span class="_ _a"> </span><span class="fca">C++17</span>)</span></span></div><div class="t m0 xe h6 y134 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _22"> </span><span class="ff5">[x<span class="_ _b"> </span>=<span class="_ _b"> </span>x]<span class="_ _20"> </span><span class="ff4">captures<span class="_ _a"> </span>the<span class="_ _a"> </span>current<span class="_ _a"> </span>object<span class="_ _e"> </span>memb<span class="_ _c"></span>er<span class="_ _20"> </span><span class="ffe">x<span class="_ _20"> </span><span class="ff11">by-value<span class="_ _f"> </span></span></span><span class="fca">C++14</span></span></span></div><div class="t m0 xe h6 y135 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _22"> </span><span class="ff5">[&amp;x<span class="_ _b"> </span>=<span class="_ _b"> </span>x]<span class="_ _20"> </span><span class="ff4">captures<span class="_ _a"> </span>the<span class="_ _a"> </span>current<span class="_ _a"> </span>object<span class="_ _e"> </span>memb<span class="_ _c"></span>er<span class="_ _20"> </span><span class="ffe">x<span class="_ _20"> </span><span class="ff11">by-reference<span class="_ _f"> </span></span></span><span class="fca">C++14</span></span></span></div><div class="t m0 xe h6 y136 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _22"> </span><span class="ff5">[=]<span class="_ _20"> </span><span class="ff4">default<span class="_ _a"> </span>capture<span class="_ _e"> </span>of<span class="_ _20"> </span><span class="ffe">this<span class="_ _12"> </span></span>p<span class="_ _c"></span>ointer<span class="_ _e"> </span>by<span class="_ _e"> </span>value<span class="_ _a"> </span>has<span class="_ _e"> </span>b<span class="_ _c"></span>een<span class="_ _a"> </span>dep<span class="_ _5"></span>recated<span class="_ _a"> </span><span class="fca">C++20</span></span></span></div><div class="t m0 xc h10 y137 ff5 fs5 fc8 sc0 ls0 ws0">class<span class="_ _8"> </span><span class="fc4">A<span class="_ _6"> </span><span class="ff14 fc0">{</span></span></div><div class="t m0 x18 h10 y138 ff5 fs5 fc3 sc0 ls0 ws0">int<span class="_ _8"> </span><span class="ff14 fc0">data<span class="_ _6"> </span><span class="fc5">=<span class="_ _8"> </span>1</span>;</span></div><div class="t m0 x18 h10 y139 ff5 fs5 fc3 sc0 ls0 ws0">void<span class="_ _8"> </span><span class="ff14 fc4">f<span class="fc0">()<span class="_ _6"> </span>{</span></span></div><div class="t m0 x19 h10 y13a ff5 fs5 fc3 sc0 ls0 ws0">int<span class="_ _22"> </span><span class="ff14 fc0">var<span class="_ _28"> </span><span class="fc5">=<span class="_ _8"> </span>2</span>;<span class="_ _29"> </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 x19 h10 y13b ff5 fs5 fc8 sc0 ls0 ws0">auto<span class="_ _8"> </span><span class="ff14 fc0">lambda1<span class="_ _6"> </span><span class="fc5">=<span class="_ _8"> </span></span>[<span class="fc5">=</span>]()<span class="_ _28"> </span>{<span class="_ _8"> </span></span>return<span class="_ _6"> </span><span class="ff14 fc0">var;<span class="_ _22"> </span>};<span class="_ _2a"> </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 x19 h10 y13c ff5 fs5 fc8 sc0 ls0 ws0">auto<span class="_ _8"> </span><span class="ff14 fc0">lambda2<span class="_ _6"> </span><span class="fc5">=<span class="_ _8"> </span></span>[<span class="fc5">=</span>]()<span class="_ _28"> </span>{<span class="_ _8"> </span></span><span class="fc3">int<span class="_ _6"> </span><span class="ff14 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="ff14 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 x19 h10 y13d ff5 fs5 fc8 sc0 ls0 ws0">auto<span class="_ _8"> </span><span class="ff14 fc0">lambda3<span class="_ _6"> </span><span class="fc5">=<span class="_ _8"> </span></span>[</span>this<span class="ff14 fc0">]()<span class="_ _22"> </span>{<span class="_ _8"> </span></span>return<span class="_ _6"> </span><span class="ff14 fc0">data;<span class="_ _8"> </span>};<span class="_ _2a"> </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 x19 h10 y13e ff5 fs5 fc8 sc0 ls0 ws0">auto<span class="_ _8"> </span><span class="ff14 fc0">lambda4<span class="_ _6"> </span><span class="fc5">=<span class="_ _8"> </span></span>[<span class="fc5">*</span></span>this<span class="ff14 fc0">]()<span class="_ _8"> </span>{<span class="_ _6"> </span></span>return<span class="_ _8"> </span><span class="ff14 fc0">data;<span class="_ _8"> </span>};<span class="_ _2b"> </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 h10 y13f ffc fs5 fc6 sc0 ls0 ws0">//<span class="_ _2c"> </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="_ _2d"> </span>//<span class="_ _8"> </span><span class="ff15">compile<span class="_ _2e"> </span>error<span class="_ _6"> </span><span class="ff18">&apos;</span></span>data<span class="ff18">&apos;<span class="_ _8"> </span></span>is<span class="_ _6"> </span>not<span class="_ _8"> </span>visible</div><div class="t m0 x19 h10 y140 ff5 fs5 fc8 sc0 ls0 ws0">auto<span class="_ _8"> </span><span class="ff14 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="ff14 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 x18 h10 y141 ff14 fs5 fc0 sc0 ls0 ws0">}</div><div class="t m0 xc h10 y142 ff14 fs5 fc0 sc0 ls0 ws0">};</div><div class="t m0 xf h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">33/61</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,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"/><div class="t m0 xa h2 y29 ff1 fs0 fc0 sc0 ls0 ws0">Prep<span class="_ _d"></span>ro<span class="_ _0"></span>cessing</div><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: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="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 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 y8b 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 ye9 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 y143 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 y144 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 y145 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 y146 ff1 fs2 fcb 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 y147 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 y148 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Macro<span class="_ _a"> </span>cannot<span class="_ _e"> </span>b<span class="_ _c"></span>e<span class="_ _a"> </span>directly<span class="_ _e"> </span>debugged</span></div><div class="t m0 xe h6 y149 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Macro<span class="_ _a"> </span>expansions<span class="_ _e"> </span>can<span class="_ _a"> </span>have<span class="_ _a"> </span>unexp<span class="_ _c"></span>ected<span class="_ _e"> </span>side<span class="_ _a"> </span>effects</span></div><div class="t m0 xe h6 y14a fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Macro<span class="_ _a"> </span>have<span class="_ _e"> </span>no<span class="_ _a"> </span>namespace<span class="_ _a"> </span>or<span class="_ _e"> </span>scop<span class="_ _c"></span>e</span></div><div class="t m0 xf h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">34/61</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf28" class="pf w0 h0" data-page-no="28"><div class="pc pc28 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAJAElEQVR42u3dIY4UARCG0W7SFVRlz0BQXABC0JsQBNfiEpwCwQkQhDNwA9SmFGUGt2KzYkh6Zmoy78kWLX71pVr0+vrdhwUAAMb4/fPHCysAADCNSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEA4NHa3VYAAGCOiHBJBQBgHJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAAGe2mQDYXVXt8p7MNCbAbXJJBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAALOt3W0FAADmiAiXVAAAxhGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAAHBmmwmOV1VGgGVZMtMIAJyUSyoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAFyZzQTw9tPnZ5//+v7NOABwEWt3W+FIVWUEWJYlM40AwOlEhM/9AACMI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEA4Am/RQUAYBa/RQUAYCKRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAYK7NBMerKiMAT2SmEQB255IKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACc1drdVgAAYI6IcEkFAGAckQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAcEU2ExyvqoxwCzLTCABwWS6pAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAYLa1u60AAMAcEeGSCgDAOCIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAJzGZgK4QVW1y3sy05gAnIJLKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCAHBV1u62AgAAc0SESyoAAOOIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAAPhPmwmuS1UZYazMNAIA7MIlFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAMy2drcVAACYIyJcUgEAGEekAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgDAldkevryyAgCP/tx/NQJwWW/ef1zXu5eHh7/LcjgcDAIAwAj/ALzaQPb4m5fBAAAAAElFTkSuQmCC"/><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 y14b 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="_ _1c"> </span><span class="ff5">#</span></div><div class="t m0 xb h7 y14c ff9 fs3 fc0 sc0 ls0 ws0"><span class="_ _22"> </span><span class="ff5">#include<span class="_ _20"> </span>&quot;my<span class="_ _8"> </span>file.h&quot;</span></div><div class="t m0 x6 h7 y14d 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 y14e ff9 fs3 fc0 sc0 ls0 ws0"><span class="_ _22"> </span><span class="ff5">#define<span class="_ _20"> </span>MACRO<span class="_ _20"> </span><span class="ff19">&lt;</span>expression<span class="ff19">&gt;</span></span></div><div class="t m0 x6 h7 y14f 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 y150 ff9 fs3 fc0 sc0 ls0 ws0"><span class="_ _22"> </span><span class="ff5">#undef<span class="_ _20"> </span>MACRO</span></div><div class="t m0 x6 h7 y151 ff8 fs3 fc0 sc0 ls0 ws0">Undefine<span class="_ _f"> </span>a<span class="_ _6"> </span>macro</div><div class="t m0 x6 h12 y152 ff1a fs8 fc0 sc0 ls0 ws0">(a<span class="_ _e"> </span>macro<span class="_ _e"> </span>should<span class="_ _e"> </span>be<span class="_ _e"> </span>undefined<span class="_ _e"> </span>as<span class="_ _e"> </span>early<span class="_ _e"> </span>as<span class="_ _e"> </span>possible<span class="_ _e"> </span>for<span class="_ _e"> </span>safet<span class="_ _5"></span>y<span class="_ _e"> </span>reasons)</div><div class="t m0 x1 h7 y153 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="ff16">\<span class="_ _1c"> </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 y154 ff1 fs3 fc0 sc0 ls0 ws0">Indent:<span class="_ _9"> </span><span class="ff1b">#<span class="_ _2f"> </span>define</span></div><div class="t m0 xf h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">35/61</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">Conditional<span class="_ _8"> </span>Compiling</div><div class="t m0 xb hc y7d fff fs7 fc0 sc0 ls0 ws0"><span class="_ _22"> </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 x1a he y155 ffe fs7 fc0 sc0 ls0 ws0">code</div><div class="t m0 x16 h13 y156 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 x1a he y157 ffe fs7 fc0 sc0 ls0 ws0">code</div><div class="t m0 x16 h13 y158 ff5 fs7 fc0 sc0 ls0 ws0">#else</div><div class="t m0 x1a he y159 ffe fs7 fc0 sc0 ls0 ws0">code</div><div class="t m0 x16 h13 y15a ff5 fs7 fc0 sc0 ls0 ws0">#endif</div><div class="t m0 xb hc y15b fff fs7 fc0 sc0 ls0 ws0"><span class="_ _22"> </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 y15c 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="_ _1c"> </span><span class="ff4 fca">C++23</span></div><div class="t m0 x6 hc y15d 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 y15e fff fs7 fc0 sc0 ls0 ws0"><span class="_ _22"> </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 y15f 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="_ _1c"> </span><span class="ff4 fca">C++23</span></div><div class="t m0 x6 hc y160 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 y10 ff6 fs5 fc0 sc0 ls0 ws0">36/61</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">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>1</div><div class="t m0 x1b hc y161 ff4 fs7 fc2 sc0 ls0 ws0">A<span class="_ _30"> </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 y162 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>include<span class="_ _20"> </span><span class="fc6">&lt;iostream&gt;</span></div><div class="t m0 xc hf y163 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </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 y164 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>include<span class="_ _20"> </span><span class="fc6">&quot;big_lib.hpp&quot;</span></div><div class="t m0 xc hf y165 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 y166 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="ff17">always<span class="_ _10"> </span></span>prints<span class="_ _10"> </span>3</span></div><div class="t m0 xc hf y167 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 h12 y168 ff5 fs8 fc0 sc0 ls0 ws0">big<span class="_ _a"> </span>lib.hpp<span class="ff1a">:</span></div><div class="t m0 xc hf y169 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="ff18">&apos;</span>value<span class="ff18">&apos;<span class="_ _10"> </span></span>disappears</span></span></div><div class="t m0 x6 hf y16a 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 y16b ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 h11 y16c 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 y10 ff6 fs5 fc0 sc0 ls0 ws0">37/61</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>2</div><div class="t m0 x1c hc y161 ff5 fs7 fc0 sc0 ls0 ws0">#if<span class="_ _13"> </span>defined<span class="_ _1c"> </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 y16d 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 y16e ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>if<span class="_ _10"> </span>defined(ENABLE_DEBUG)</div><div class="t m0 x6 hf y16f 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 y170 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>else</div><div class="t m0 x6 hf y171 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 y172 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>endif</div><div class="t m0 xc hf y173 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>if<span class="_ _10"> </span>ENABLE_DEBUG<span class="_ _20"> </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 y174 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 y175 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>else</div><div class="t m0 x6 hf y176 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 y177 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>endif</div><div class="t m0 xf h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">38/61</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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIdklEQVR42u3YsQlCMRSG0Rd5werhDGLlBCLWgpu5hONYOIQbWD1SmSZ2lhZicSPnTBD+NB83bXaHAQAAwrjfrgsrAAAQjUgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAOAt1VqtAABAHDlnl1QAAMIRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQCgT2NHby2l+DAAgO9M09TRa11SAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqSYAAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAgM9SrdUKAADEkXN2SQUAIByRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAA/Ms7ntRUA6NrjeDEC/JPt/pTSatnm5zC01gwCAEAILy/vGgLwajarAAAAAElFTkSuQmCC"/><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 x1d hc y178 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 y179 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>include<span class="_ _20"> </span><span class="fc6">&lt;iostream&gt;</span></div><div class="t m0 xc hf y17a ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </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 y17b ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </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 y17c ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </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 y17d 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 y17e 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="_ _1d"> </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 y17f 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 y180 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 y181 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xf h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">39/61</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAImElEQVR42u3ZsW0CQRCG0VvrRo5O1GA5cgXIIrZECwTUQxPuwAE1WHJAEe7AEboAmOTIXAAJc+K9Clb/Jp922+ty1QEAQBm/h58nKwAAUI1IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQDgX8tMKwAAUEdEeEkFAKAckQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAgHvpZ3TWcRxdGADAbYZhmNFpvaQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSTQAAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAcH8tM60AAEAdEeElFQCAckQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAAAU0c/loKfzeb3ZujCYl+/9lxEAuEHLTCsAAFBHRPjuBwCgHJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAADyU/rh7sQIAj+Pv49MIUNzb+7q1xfN0vHTdNE0GAQCghCtBgCMA3xpwAAAAAABJRU5ErkJggg=="/><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 x1e hc y161 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 y162 ffb fs8 fc0 sc0 ls0 ws0">1:<span class="_ _10"> </span><span class="ffc fc9">#<span class="_ _1f"> </span>include<span class="_ _20"> </span><span class="fc6">&lt;iostream&gt;</span></span></div><div class="t m0 xb hf y182 ffb fs8 fc0 sc0 ls0 ws0">2:</div><div class="t m0 xb hf y163 ffb fs8 fc0 sc0 ls0 ws0">3:<span class="_ _10"> </span><span class="ffc fc9">#<span class="_ _1f"> </span>define<span class="_ _10"> </span>F(a)<span class="_ _10"> </span>{<span class="_ _15"> </span>\</span></div><div class="t m0 xb hf y164 ffb fs8 fc0 sc0 ls0 ws0">4:<span class="_ _1e"> </span><span class="ffc fc9">...<span class="_ _27"> </span>\</span></div><div class="t m0 xb hf y183 ffb fs8 fc0 sc0 ls0 ws0">5:<span class="_ _1e"> </span><span class="ffc fc9">...<span class="_ _27"> </span>\</span></div><div class="t m0 xb hf y165 ffb fs8 fc0 sc0 ls0 ws0">6:<span class="_ _1e"> </span><span class="ffc fc9">return<span class="_ _10"> </span>v;</span></div><div class="t m0 xb hf y166 ffb fs8 fc0 sc0 ls0 ws0">7:</div><div class="t m0 xb hf y167 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 y184 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 y185 ffb fs8 fc0 sc0 ls0 ws0">10:<span class="_ _10"> </span>}</div><div class="t m0 x1 hc y186 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 h12 y187 ff1a fs8 fcc sc0 ls0 ws0">*mo<span class="_ _c"></span>dern<span class="_ _e"> </span>compilers<span class="_ _2e"> </span>are<span class="_ _e"> </span>able<span class="_ _e"> </span>to<span class="_ _e"> </span>roll<span class="_ _e"> </span>out<span class="_ _e"> </span>the<span class="_ _e"> </span>macro</div><div class="t m0 xf h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">40/61</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIpUlEQVR42u3YMUrEUBSG0TzJxerhGsRqViBiLbgzN+FyLFyEO5hqeNXcJnaCKAjCjDfxnBUkf1J83HZzez8BAEAZb68vF1YAAKAakQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAwIeWmVYAAKCOiHBJBQCgHJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAIC/Mq/oWccYPhgAwO/03lf0tC6pAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVBMAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAYGNaZloBAIA6IsIlFQCAckQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAGzMbAI4mzHGxt6o9+6zAnAKLqkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAMAnLTOtAABAHRHhkgoAQDkiFQAAkQoAAD+Z/+E7jzGKPEnv3S8IAPCVSyoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBAFi3lplWAACgjohwSQUAoByRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAIC1mw9P11YAgG/tH56NAOe3u3ts7epyORynaVkWgwAAUMI7veAl/vTDs2sAAAAASUVORK5CYII="/><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 x1f hc y161 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 y16d ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>if<span class="_ _10"> </span>defined(DEBUG)</div><div class="t m0 xc hf y188 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _31"> </span>define<span class="_ _10"> </span>CHECK(EXPR)<span class="_ _1d"> </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 y16e 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="_ _20"> </span></span>}</span></div><div class="t m0 xc hf y16f ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>else</div><div class="t m0 xc hf y170 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _31"> </span>define<span class="_ _10"> </span>CHECK(EXPR)<span class="_ _1d"> </span><span class="fc6">//<span class="_ _10"> </span>do<span class="_ _10"> </span>nothing</span></div><div class="t m0 x6 hf y171 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 y172 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>endif</div><div class="t m0 xc hf y189 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="_ _20"> </span></span>}</span></span></div><div class="t m0 xc hf y18a ffb fs8 fc0 sc0 ls0 ws0">check(<span class="_ _10"> </span>f()<span class="_ _10"> </span>)</div><div class="t m0 xc hf y18b 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 y18c 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="_ _32"> </span><span class="ff5">DEBUG<span class="_ _1c"> </span></span>is<span class="_ _8"> </span>not<span class="_ _f"> </span>defined?</span></div><div class="t m0 x1f hc y18d 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 y10 ff6 fs5 fc0 sc0 ls0 ws0">41/61</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAMJElEQVR42u3dT2ib5x3A8UeKX6u2sDwlSIZEajBRF1Kr6agT3KUbTU02clhncphbCLSMwAZjbOwwxliPYSnsMJaFnbbSwxihMNqwixnD3WFJZlICa+2VblpNZndge2mRXSeVbEs7CMLypxkskaM3+XxOsl4dXn7P5ev31fMqsWvkqQAAAB2j8uc/JU0BAIBOI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAALgmUa/XTQEAgM4RRZErqQAAdByRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQCAe6UrRue6srJiwQAA/j99fX0xOltXUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKlGAACASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAAHemywi4jalKZXJm5i+XLn2ytpbPZEaHhsb27evp7jYZAKCtEvV6PS7nurKyYsE2zdV6/Q/vvLO4vPy7ixf/+/3t2exPjh5Np1JGBADx0tfXF5dTjaLI7X5u7cxbb50+f36kVLrh/X999NHJiQnzAQDaSqRyaxfefz+fydzy0FSlsri8bEQAgEjlHkinUqu12g/HxrZnsyGEkVLp+Ph4uVAIISxWq+YDAIhUNlu5UFhcXh7M58vF4o5stlwoDOZy5WJx+9atIYR8f78RAQDtY+MUtzZ/+fK3X3219frZJ544sn//t1555ZO1tVa/Hn/uOSMCgHixcYr7QWHbttGhoWMHD4YQauvrr1+4kOnpCSGMDQ+PlsvmAwC0leek8qmeP3AghDA5M/P7t99uvTM6NFQuFh8tFAwHAGgrV1L5VPlMZnJ6enRoaGx4eDCXy2cyzx84MD035yGpAEC7uZLK7UzPza3WansffrhcLJaLxRNvvJFM+scGABCp3GuzS0uzS0shhNZPT+0aGDATAECkcg+cPneup7t7bN++Z4eHbzj0xT17QgiTMzOL1WrrS6sAACKVTfKbs2d3DQyMlEo3/zJqZWHh5MTE159+2pQAAJHKJlmt1WaXlmrr6y+99lo6lRoplVqb+mcXF6fn5v747rv/WFgIIRx67DGzAgDaxMP8udHpc+dOnz9/fHw8hDA5MzNVqazWaulUqlwshhBSXV1P7d594syZwVzupy+8YFwAEBfxepi/SOU6R0+dGszlRkql7ii6ODs7VamMlEr9vb3VK1daO/2z6fQXdu8OIazWaitXr/7oyBFDAwCRetcj1e1+rnPsmWd+9eab0/PzD0XR4zt3Hjt4sFwsDubzraNTlcrZ995rbfMPIXx5714TAwDaQaRyncFcLoSQz2R+9uKLPd3dNxxt7aP65qFDJycmpiqVsZv2/gMA3BUezM515i5f3mg0vnP48M2Fek06lfrak08+FEUL1aqJAQDt4DupAAAPhHh9J9WVVAAAOo5IBQBApAIAgEgFAECkAgDAnYrT7n4AAB4EdvcDANCJRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAA+crnidbqPRaDabt/9MIpFIJsU3AIBI3RS//u3rL//81MZG4/Yfi7q6Xvred8e/+hWrCwAQU3G64nhpfv5/FmoIYW19/Z8ffGBpAQDiK1Gv1+NyrqtXrvz1b39vNptbtmxJJpMff7z6je//oHXoFy//+DP9mUajsbGxkUwm9zzySLq3x+oCAMRRFEVxut2f7u3d/7nHr/357w8/vPb60c+WBnI5KwoAcH+wwQgAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACK1bbL9/TsLO0IIOws7tmW3WksAgPtGol6vmwIAAJ0jiiK3+wEA6DgiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCABBnXdUTg6YAAHdu6Uu/NAS4K/Z8/nAi0Z9qVmshNJtNAwEAoCP8B8yRVoeNOLvGAAAAAElFTkSuQmCC"/><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 y161 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 y162 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>include<span class="_ _20"> </span><span class="fc6">&lt;iostream&gt;</span></div><div class="t m0 xc hf y182 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>include<span class="_ _20"> </span><span class="fc6">&lt;nuclear_explosion.hpp&gt;</span></div><div class="t m0 xc hf y164 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>define<span class="_ _10"> </span>NUCLEAR_EXPLOSION<span class="_ _33"> </span>\<span class="_ _16"> </span><span class="fc6">//<span class="_ _10"> </span>{</span></div><div class="t m0 x6 hf y183 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 y165 ffb fs8 fc0 sc0 ls0 ws0">nuclear_explosion();</div><div class="t m0 x20 hf y166 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>}</div><div class="t m0 xc hf y167 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 y184 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 y185 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 y18e ffb fs8 fc0 sc0 ls0 ws0">NUCLEAR_EXPLOSION</div><div class="t m0 xc hf y18f 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 x21 h14 y18f ff1d fs8 fc6 sc0 ls0 ws0"><span class="fcd sc0">A</span></div><div class="t m0 x1 hc y190 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 y10 ff6 fs5 fc0 sc0 ls0 ws0">42/61</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIeElEQVR42u3YuwkCQRSG0RnZwWixBjGyAhFjwc5swnIMLMIOjJaNnGTMDA3Ex104p4Lhn+Tj5tVmlwAAIIzr5TyzAgAA0YhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACecq3VCgAAxFFKcUkFACAckQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAgH/pJvTWcRx9GADAe/q+n9BrXVIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpJgAAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAAB+Ra61WAAAgjlKKSyoAAOGIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAA8F3dcFxaAQB+6bY/GQFeWG8POS/mbbin1FozCAAAITwA03waAiHiKXYAAAAASUVORK5CYII="/><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 x22 hc y161 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 y162 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>include<span class="_ _20"> </span><span class="fc6">&lt;iostream&gt;</span></div><div class="t m0 xc hf y163 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 y164 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>define<span class="_ _10"> </span>value<span class="_ _10"> </span>4</div><div class="t m0 x6 hf y183 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 y165 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xc hf y167 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 y184 ffb fs8 fc0 sc0 ls0 ws0">f();<span class="_ _34"> </span><span class="ffc fc6">//<span class="_ _10"> </span>4</span></div><div class="t m0 x6 hf y185 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 y18e ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>define<span class="_ _10"> </span>value<span class="_ _10"> </span>3</div><div class="t m0 x6 hf y18f ffb fs8 fc0 sc0 ls0 ws0">f();<span class="_ _34"> </span><span class="ffc fc6">//<span class="_ _10"> </span>4</span></div><div class="t m0 x6 hf y191 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 y192 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xf h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">43/61</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,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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 x23 hc y178 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 y193 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </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 y194 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 y195 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 y196 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 y197 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 y198 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 y199 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 y19a 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 y19b ffb fs8 fc0 sc0 ls0 ws0">}<span class="_ _35"> </span><span class="ffc fc6">//<span class="_ _10"> </span>segmentation<span class="_ _10"> </span>fault</span></div><div class="t m0 x24 h14 y19b ff1d fs8 fc6 sc0 ls0 ws0"><span class="fcd sc0">A</span></div><div class="t m0 xb hf y19c ffb fs8 fcc sc0 ls0 ws0">arne-mertz.de/2019/03/macro-evil</div><div class="t m0 xf h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">44/61</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="pf32" class="pf w0 h0" data-page-no="32"><div class="pc pc32 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIm0lEQVR42u3bsY3CMACG0fgUi8piBkTFBAhdfRIluzAEFRswBENQMAQbUCFX5yZ0DBAEsuG9CazfzadEDvPlbwcAANW4nE8/VgAAoDYiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQCAh1BKsQIAAPWIMfqSCgBAdUQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQCA9+sbOmvO2YUBAIyTUmrotL6kAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUk0AAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAF6iNwEw2ma/N8I3O263RgBeJJRSWjlrztmFAQCMk1Jq5agxRr/7AQCojkgFAECkAgCASAUAQKQCAMCzWnrdDwDAN/C6HwCAGolUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAOAt+ttuZgUA+AzXv4MR+ACL1TqE6WS4/XfdMAwGAQCgCncyxSMAua+ycAAAAABJRU5ErkJggg=="/><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 x25 hc y19d 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 y19e ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>define<span class="_ _10"> </span>MY_MACRO<span class="_ _10"> </span>defined(EXTERNAL_MACRO)</div><div class="t m0 xc hf y19f ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>if<span class="_ _10"> </span>MY_MACRO</div><div class="t m0 xc hf y1a0 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _31"> </span>define<span class="_ _10"> </span>MY_VALUE<span class="_ _10"> </span>1</div><div class="t m0 xc hf y1a1 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>else</div><div class="t m0 xc hf y1a2 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _31"> </span>define<span class="_ _10"> </span>MY_VALUE<span class="_ _10"> </span>0</div><div class="t m0 xc hf y1a3 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>endif</div><div class="t m0 xc hf y1a4 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 y10 ff6 fs5 fc0 sc0 ls0 ws0">45/61</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf33" class="pf w0 h0" data-page-no="33"><div class="pc pc33 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIuElEQVR42u3ZsU0DQRCG0Vt0I6IVNSAiKkCIGMktEFAPTdABATUgEVAEHRBZG2BvcmQUYJJZ9r0K1v8ln8bl6uZuAQCAND4/3s+sAABANiIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAIBfpfduBQAA8ogIl1QAANIRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQTAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAgNRWEzCQ1tp/+jm1VvPOINuHBhiCSyoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAABMZjUBA6m1GgEAZuCSCgCASAUAAJEKAIBIBQCAvyq9dysAAJBHRLikAgCQjkgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAMDs1oHe2lrzwQAATlNrHei1LqkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUEwAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAMym9dysAAJBHRLikAgCQjkgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQCAZNZRHvp9OOweHn0wGMvb64sRADhB6b1bAQCAPCLC3/0AAKQjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQCAqaz7p0srAMCEvu6fjUBO17e7Ui7Ot/1xWbZtMwgAACn8ABT5LCeBxySaAAAAAElFTkSuQmCC"/><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 yfe 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 y1a5 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 y1a6 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 y1a7 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="_ _1c"> </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 y1a8 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </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 y1a9 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 y1aa ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </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="_ _20"> </span><span class="fc6">//<span class="_ _10"> </span>replaced<span class="_ _10"> </span>with</span></div><div class="t m0 xc hf y1ab 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 y1ac 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 y1ad ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xb hf y1ae ffb fs8 fcc 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 y10 ff6 fs5 fc0 sc0 ls0 ws0">46/61</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="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">Source<span class="_ _8"> </span>Lo<span class="_ _c"></span>cation<span class="_ _8"> </span>Macros<span class="_ _36"> </span>1/3</div><div class="t m0 x13 hc y7d ff5 fs7 fc0 sc0 ls0 ws0">LINE<span class="_ _37"> </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 y155 ff4 fs7 fc0 sc0 ls0 ws0">b<span class="_ _c"></span>eing<span class="_ _a"> </span>compiled</div><div class="t m0 x13 hc y100 ff5 fs7 fc0 sc0 ls0 ws0">FILE<span class="_ _37"> </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 y101 ff4 fs7 fc0 sc0 ls0 ws0">compiled</div><div class="t m0 x26 hc y1af ff5 fs7 fc0 sc0 ls0 ws0">FUNCTION<span class="_ _37"> </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 y1b0 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 x27 hc y1b1 ff5 fs7 fc0 sc0 ls0 ws0">PRETTY<span class="_ _6"> </span>FUNCTION<span class="_ _37"> </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 y1b2 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 x28 hc y1b3 ffe fs7 fc4 sc0 ls0 ws0">func<span class="_ _38"> </span><span class="ff4 fc0">(<span class="fca">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 y1b4 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 y10 ff6 fs5 fc0 sc0 ls0 ws0">47/61</div></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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIeElEQVR42u3YsQkCMRiG4UQuWB3OIFZOIGIt3GYu4TgWDuEGVsdVpomdYKuC/8HzTBC+NC9/3uwOCQAAwrhdLwsrAAAQjUgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAOAl11qtAABAHKUUl1QAAMIRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAgH/qZvTWaZp8GADAZ/q+n9FrXVIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpJgAAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFJNAACASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAADvcq3VCgAAxFFKcUkFACAckQoAQDjdeFpbAQD4ofvxbAS+sd0POa+WbXyk1FozCAAAITwBwHAaAvi3dTgAAAAASUVORK5CYII="/><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="_ _36"> </span>2/3</div><div class="t m0 x1 h15 y1b5 ff5 fs8 fc0 sc0 ls0 ws0">source.cpp:</div><div class="t m0 xc hf y1b6 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>include<span class="_ _20"> </span><span class="fc6">&lt;iostream&gt;</span></div><div class="t m0 xc hf y1b7 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 y1b8 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="ff18">&apos;</span>source.cpp:4<span class="ff18">&apos;</span></span></div><div class="t m0 x6 hf y1b9 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="_ _34"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span><span class="ff18">&apos;</span>f<span class="ff18">&apos;</span></span></div><div class="t m0 x6 hf y1ba 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="_ _39"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span><span class="ff18">&apos;</span>f<span class="ff18">&apos;</span></span></div><div class="t m0 xc hf y1bb ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xc hf y1bc 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 y1bd 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 y1be 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 y1bf 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="ff18">&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="ff18">&apos;</span></span></div><div class="t m0 x6 hf y1c0 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 y1c1 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xc hf y1c2 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 y10 ff6 fs5 fc0 sc0 ls0 ws0">48/61</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAJXklEQVR42u3cMYrUYBjH4Y3kw+rFM4iVF1hRa0EWXPBUXsJTTDEnsJA5gzewWt7KD5ex22JcXXfIxDeZ5ymnGJJ/mh9fIMOLV28vAACgjG9fvzyxAgAA1YhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAADuDL13KwAAUEdrzUkqAADliFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAB1jQu61sz0wGBZIsIIABzBSSoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAAAUM5qAc/Pz9vbNh4+//77bbowDAEUMvfelXGtmemCwLBFhBAAeq7XmdT8AAOWIVAAARCoAAIhUAABEKgAAiFQAAFZnSZ+gAgDgHPgEFQAAFYlUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAeKTRBHcy0whHiwgjAABTcZIKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAAaht671YAAKCO1pqTVAAAyhGpAACIVAAAeMhogtlk5orvLiI8YgBgKk5SAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAQG1D790KAADU0VpzkgoAQDkiFQAAkQoAACIVAIDFGU3w7zLTCH8SEUYAAKbiJBUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAADUNvTerQAAQB2tNSepAACUI1IBABCpAADwkHGVd5WZHu3MIsIIAMBUnKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAgL8bTTCPy6vrg192241ZAADuNfTe13dXmenRziwijAAATKK15nU/AADliFQAAEQqAACIVAAARCoAAIhUAABWZ52foAIAYLl8ggoAgIpEKgAAIhUAAEQqAACLM57ofzPTuGclIowAAEzFSSoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAAAUM5pgHpdX1we/7LYbswAA3GvovZ/ifzPTuGclIowAAEyiteZ1PwAA5YhUAABEKgAAiFQAAEQqAACIVAAARCoAAJzaqb6TCgAAx/GdVAAAKhKpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAwsXFB15qZHhgAwHEiYkFX6yQVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRagIAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAmNfQe7cCAAB1tNacpAIAUI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAyzbefHpuBQDgf/n+7rMROPDy9fthePZ0f/Pj4mK/3xsEAIASfgEUs1vwhRlN1AAAAABJRU5ErkJggg=="/><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="_ _36"> </span>3/3</div><div class="t m0 x1 hc y8b ff4 fs7 fca 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 y1c3 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 x18 h6 y1c4 ff5 fs4 fc0 sc0 ls0 ws0">current()<span class="_ _22"> </span><span class="ff4">get<span class="_ _e"> </span>source<span class="_ _a"> </span>lo<span class="_ _c"></span>cation<span class="_ _e"> </span>info<span class="_ _a"> </span>(<span class="ffe">static<span class="_ _b"> </span>member</span>)</span></div><div class="t m0 x29 h6 y1c5 ff5 fs4 fc0 sc0 ls0 ws0">line()<span class="_ _22"> </span><span class="ff4">source<span class="_ _e"> </span>co<span class="_ _c"></span>de<span class="_ _a"> </span>line</span></div><div class="t m0 x16 h6 y1c6 ff5 fs4 fc0 sc0 ls0 ws0">column()<span class="_ _22"> </span><span class="ff4">line<span class="_ _e"> </span>column</span></div><div class="t m0 x2a h6 y1c7 ff5 fs4 fc0 sc0 ls0 ws0">file<span class="_ _f"> </span>name()<span class="_ _22"> </span><span class="ff4">current<span class="_ _a"> </span>file<span class="_ _a"> </span>name</span></div><div class="t m0 x27 h6 y1c8 ff5 fs4 fc0 sc0 ls0 ws0">function<span class="_ _f"> </span>name()<span class="_ _22"> </span><span class="ff4">current<span class="_ _a"> </span>function<span class="_ _a"> </span>name</span></div><div class="t m0 xc hf y1c9 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>include<span class="_ _20"> </span><span class="fc6">&lt;source_location&gt;</span></div><div class="t m0 xc hf y1ca 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 y1cb 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 y1cc ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xc hf y1cd 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 y10 ff6 fs5 fc0 sc0 ls0 ws0">49/61</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">Condition<span class="_ _8"> </span>Compiling<span class="_ _8"> </span>Macros<span class="_ _3a"> </span>1/2</div><div class="t m0 x1 hc y8b 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 y1ce fff fs4 fc0 sc0 ls0 ws0"><span class="_ _22"> </span><span class="ffe">#if<span class="_ _b"> </span>defined(<span class="_ _3"> </span>cplusplus)<span class="_ _26"> </span><span class="ff4">C++<span class="_ _a"> </span>co<span class="_ _c"></span>de</span></span></div><div class="t m0 xe h6 y1cf fff fs4 fc0 sc0 ls0 ws0"><span class="_ _22"> </span><span class="ffe">#if<span class="_ _3b"> </span>cplusplus<span class="_ _b"> </span>==<span class="_ _b"> </span>199711L<span class="_ _20"> </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 y1d0 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _22"> </span><span class="ffe">#if<span class="_ _3b"> </span>cplusplus<span class="_ _b"> </span>==<span class="_ _b"> </span>201103L<span class="_ _20"> </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 y1d1 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _22"> </span><span class="ffe">#if<span class="_ _3b"> </span>cplusplus<span class="_ _b"> </span>==<span class="_ _b"> </span>201402L<span class="_ _20"> </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 y1d2 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _22"> </span><span class="ffe">#if<span class="_ _3b"> </span>cplusplus<span class="_ _b"> </span>==<span class="_ _b"> </span>201703L<span class="_ _20"> </span><span class="ff4">ISO<span class="_ _a"> </span>C++<span class="_ _a"> </span>2017</span></span></div><div class="t m0 x1 hc y1d3 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 x2b h6 y1d4 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _22"> </span><span class="ffe">#if<span class="_ _b"> </span>defined(<span class="_ _3"> </span>GNUG<span class="_ _3c"> </span>)<span class="_ _20"> </span><span class="ff4">The<span class="_ _a"> </span>compiler<span class="_ _e"> </span>is<span class="_ _a"> </span></span>gcc/g++</span></div><div class="t m0 x2c h16 y1d5 ff1e fs6 fc0 sc0 ls0 ws0"></div><div class="t m0 x2b h6 y1d6 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _22"> </span><span class="ffe">#if<span class="_ _b"> </span>defined(<span class="_ _3"> </span>clang<span class="_ _3c"> </span>)<span class="_ _20"> </span><span class="ff4">The<span class="_ _a"> </span>compiler<span class="_ _e"> </span>is<span class="_ _a"> </span></span>clang/clang++</span></div><div class="t m0 x2b h6 y1d7 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _22"> </span><span class="ffe">#if<span class="_ _b"> </span>defined(<span class="_ _f"> </span>MSC<span class="_ _6"> </span>VER)<span class="_ _20"> </span><span class="ff4">The<span class="_ _a"> </span>compiler<span class="_ _e"> </span>is<span class="_ _a"> </span></span>Microsoft<span class="_ _4"> </span>Visual<span class="_ _b"> </span>C++</span></div><div class="t m0 x2d h12 y1d8 ff1 fs8 fcc sc0 ls0 ws0">*<span class="_ _4"> </span><span class="ffb">MSVC<span class="_ _10"> </span>defines<span class="_ _3d"> </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 x2d h12 y1d9 ff1e fs8 fcc sc0 ls0 ws0"><span class="_ _3e"> </span><span class="ffb">GNUC<span class="_ _3d"> </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 y10 ff6 fs5 fc0 sc0 ls0 ws0">50/61</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="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="_ _3a"> </span>2/2</div><div class="t m0 x1 hc y1da 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 y1db fff fs4 fc0 sc0 ls0 ws0"><span class="_ _22"> </span><span class="ffe">#if<span class="_ _b"> </span>defined(<span class="_ _f"> </span>WIN64)<span class="_ _20"> </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 y1dc fff fs4 fc0 sc0 ls0 ws0"><span class="_ _22"> </span><span class="ffe">#if<span class="_ _b"> </span>defined(<span class="_ _3"> </span>linux<span class="_ _3c"> </span>)<span class="_ _20"> </span><span class="ff4">OS<span class="_ _a"> </span>is<span class="_ _a"> </span></span>Linux</span></div><div class="t m0 xe h6 y1dd fff fs4 fc0 sc0 ls0 ws0"><span class="_ _22"> </span><span class="ffe">#if<span class="_ _b"> </span>defined(<span class="_ _3"> </span>APPLE<span class="_ _3c"> </span>)<span class="_ _20"> </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 y1de fff fs4 fc0 sc0 ls0 ws0"><span class="_ _22"> </span><span class="ffe">#if<span class="_ _b"> </span>defined(<span class="_ _3"> </span>MINGW32<span class="_ _3c"> </span>)<span class="_ _20"> </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 y1df fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">...and<span class="_ _a"> </span>many<span class="_ _e"> </span>others</span></div><div class="t m0 xf h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">51/61</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf39" class="pf w0 h0" data-page-no="39"><div class="pc pc39 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAI8ElEQVR42u3bMUrDUADH4UbycHp4BnHyAhVx6CRIhw4deiUv4Sk69AQO0jN4A6fyhta3xE0CJWKbFF7p940ZkvCffiS86u7haQQAAMX4/Hi/sgIAAKURqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAA/KpyzlYAAKAcIQRfUgEAKI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAABcsnrAe6WUDNoWYzQCAMARfEkFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAAH+rT/2A8XS2f3G9WnZdL2earjfc7naT+aLwlwcAOGtVznmoe6WUDNoWYzQCAMChQgh+9wMAUByRCgCASAUAAJEKAIBIBQCAvoY83Q8AAP053Q8AQIlEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAD/Vg94r5SSQdtijEYAADiCL6kAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAABQmPrUDxhPZ/sX16tl1/Vypul6w+1uN5kvCn95AICzVuWch7pXSsmgbTFGIwAAHCqE4Hc/AADFEakAAIhUAAAQqQAAiFQAAOhryNP9AADQn9P9AACUSKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSTQAAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAAOet3rzeWgEAuGRfz29GKMr940tV3Vw3m+/RqGkagwAAUIQfEKRJ/CjbXbcAAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Other<span class="_ _8"> </span>Macros</div><div class="t m0 x2d hc y1e0 ff5 fs7 fc0 sc0 ls0 ws0">DATE<span class="_ _37"> </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 x29 hc y1e1 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 x2d hc y1e2 ff5 fs7 fc0 sc0 ls0 ws0">TIME<span class="_ _37"> </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 x29 hc y1e3 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 x1 hc y1e4 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 y1e5 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 y1e6 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ffe">Compiler<span class="_ _13"> </span>predefined<span class="_ _13"> </span>macros</span></div><div class="t m0 xb hc y1e7 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 xf h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">52/61</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:73.581000px;width:202.447000px;height:11.993000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="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:55.011000px;width:150.902000px;height:10.952000px;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:36.440000px;width:127.993000px;height:10.952000px;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="pf3a" class="pf w0 h0" data-page-no="3a"><div class="pc pc3a w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 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 y8b ff4 fs7 fca sc0 ls0 ws0">C++17<span class="_ _f"> </span><span class="fc0">intro<span class="_ _c"></span>duces<span class="_ _3f"> </span><span class="ff5">has<span class="_ _6"> </span>include<span class="_ _1c"> </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 ye9 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 y1e8 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>if<span class="_ _10"> </span>__has_include(&lt;iostream&gt;)</div><div class="t m0 xc hf y1e9 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _31"> </span>include<span class="_ _20"> </span><span class="fc6">&lt;iostream&gt;</span></div><div class="t m0 xc hf y1ea ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>endif</div><div class="t m0 x1 hc y1eb ff4 fs7 fca 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 y1ec ff4 fs7 fc0 sc0 ls0 ws0">compiler</div><div class="t m0 xc hf y1ed ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>if<span class="_ _10"> </span>__cpp_constexpr</div><div class="t m0 xc hf y1ee 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 y1ef ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>endif</div><div class="t m0 xb hf y1f0 ffb fs8 fcc sc0 ls0 ws0">Feature<span class="_ _10"> </span>Testing<span class="_ _10"> </span>Macros</div><div class="t m0 xf h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">53/61</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="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">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>10<span class="_ _8"> </span><span class="ff13"></span></div><div class="t m0 xa hc y161 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 h10 y1f1 ff5 fs5 fc8 sc0 ls0 ws0">struct<span class="_ _8"> </span><span class="fc4">A<span class="_ _6"> </span><span class="ff14 fc0">{</span></span></div><div class="t m0 x11 h10 y1f2 ff5 fs5 fc3 sc0 ls0 ws0">int<span class="_ _8"> </span><span class="ff14 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 h10 y1f3 ffc fs5 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>if<span class="_ _6"> </span>__cplusplus<span class="_ _8"> </span>&gt;=<span class="_ _6"> </span>201103</div><div class="t m0 x11 h10 y1f4 ff14 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 h10 y1f5 ffc fs5 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>else</div><div class="t m0 x11 h10 y1f6 ff14 fs5 fc0 sc0 ls0 ws0">A()<span class="_ _8"> </span>{}</div><div class="t m0 x1 h10 y1f7 ffc fs5 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>endif</div><div class="t m0 x1 h10 y1f8 ff14 fs5 fc0 sc0 ls0 ws0">};</div><div class="t m0 x2e h10 y1f9 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 x2e h10 y1fa ff5 fs5 fc3 sc0 ls0 ws0">float<span class="_ _8"> </span><span class="ff14 fc4">safe_function<span class="fc0">()<span class="_ _6"> </span>{</span></span></div><div class="t m0 x2f h10 y1fb ff14 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 x2f h10 y1fc ff5 fs5 fc8 sc0 ls0 ws0">for<span class="_ _8"> </span><span class="ff14 fc0">(</span><span class="fc3">int<span class="_ _6"> </span><span class="ff14 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 x30 h10 y1fd ff14 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 x2f h10 y1fe ff5 fs5 fc8 sc0 ls0 ws0">return<span class="_ _8"> </span><span class="ff14 fc0">a.x;</span></div><div class="t m0 x2e h10 y1ff ff14 fs5 fc0 sc0 ls0 ws0">}</div><div class="t m0 x2e h10 y200 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 y201 ff4 fs4 fc0 sc0 ls0 ws0">The<span class="_ _e"> </span>co<span class="_ _c"></span>de<span class="_ _a"> </span>w<span class="_ _5"></span>orks<span class="_ _e"> </span>fine<span class="_ _e"> </span>on<span class="_ _a"> </span>Linux,<span class="_ _a"> </span>but<span class="_ _a"> </span>not<span class="_ _a"> </span>under<span class="_ _e"> </span>Windows<span class="_ _e"> </span>MSVC.<span class="_ _e"> </span>MSVC<span class="_ _e"> </span>sets<span class="_ _38"> </span><span class="ffe">cplusplus<span class="_ _12"> </span></span>to</div><div class="t m0 xc h6 y202 ffe fs4 fc0 sc0 ls0 ws0">199711<span class="_ _20"> </span><span class="ff4">even<span class="_ _a"> </span>if<span class="_ _e"> </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="_ _e"> </span>the<span class="_ _a"> </span>co<span class="_ _c"></span>de<span class="_ _e"> </span>can<span class="_ _a"> </span>return<span class="_ _20"> </span></span>NaN</div><div class="t m0 x2a h12 y203 ff1a fs8 fcc sc0 ls0 ws0">see<span class="_ _e"> </span>Lecture<span class="_ _e"> </span>“Object-Oriented<span class="_ _e"> </span>Programming<span class="_ _e"> </span>II<span class="_ _e"> </span>-<span class="_ _e"> </span>Zero<span class="_ _e"> </span>Initialization”<span class="_ _e"> </span>and<span class="_ _e"> </span><span class="ffb">MSVC<span class="_ _10"> </span>now<span class="_ _10"> </span>correctly</span></div><div class="t m0 x1 hf y204 ffb fs8 fcc sc0 ls0 ws0">reports<span class="_ _3d"> </span>cplusplus</div><div class="t m0 xf h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">54/61</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="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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIt0lEQVR42u3YMUoEQRCG0WmZwqjxDGLkCUSMBW/mJTyOgYfwBkZLR1YyBoJguiM7Net7Bxiaf5KPajd3DxMAAJTx/vZ6YQUAAKoRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAA/GiZaQUAAOqICJdUAADKEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAcGKzCYATGGOs/0jv3ZIA/4RLKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAA8EvLTCsAAFBHRLikAgBQjkgFAECkAgCASAUAQKQCAMBaswmAbY0x1n+k925JgHPikgoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAAttUy0woAANQRES6pAACUI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAOCPzTt66xjDDwMAOE7vfUevdUkFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAMC5aplpBQAA6ogIl1QAAMoRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBgW/OO3jrG8MMAAI7Te9/Ra11SAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqSYAAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAALvUMtMKAADUEREuqQAAlCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAMC25sPztRUAADb38fhihG+390+tXV0uh89pWpbFIAAAlPAF1gQr/C3yxdYAAAAASUVORK5CYII="/><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 y8b 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="_ _e"> </span><span class="ff5">#<span class="_ _e"> </span></span>)<span class="_ _a"> </span>causes<span class="_ _a"> </span>the<span class="_ _a"> </span>corresponding<span class="_ _a"> </span>actual<span class="_ _a"> </span>argument<span class="_ _e"> </span>to<span class="_ _f"> </span>b<span class="_ _c"></span>e</span></span></div><div class="t m0 x1 hc ye9 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 y1e8 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>define<span class="_ _10"> </span>STRING_MACRO(string)<span class="_ _10"> </span>#string</div><div class="t m0 xc hf y1ea 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 y205 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>define<span class="_ _10"> </span>INFO_MACRO(my_func)<span class="_ _40"> </span>\</div><div class="t m0 xc hf y206 ffc fs8 fc9 sc0 ls0 ws0">{<span class="_ _41"> </span>\</div><div class="t m0 x6 hf y207 ffc fs8 fc9 sc0 ls0 ws0">my_func<span class="_ _42"> </span>\</div><div class="t m0 x6 hf y208 ffc fs8 fc9 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 x1a hf y209 ffc fs8 fc9 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 y20a ffc fs8 fc9 sc0 ls0 ws0">}</div><div class="t m0 xc hf y20b 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 y20c 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 y10 ff6 fs5 fc0 sc0 ls0 ws0">55/61</div></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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAMYUlEQVR42u3dT2ib9xnA8Z9Ty6orrKAWKcWTUow1TCY1A9vBnZvQ2PVGAgleDksLKS0jh7IxtsF2GdsxI4dtbAuFMdhK2aGEXpLQlpqRuls3JzMuhrZW/4BaE2w2bC80srFTKY69g6CMZFlC0SLJ+3xORu/l9fNcvrzS+74t3QOPBgAAaBjFv/11mykAANBoRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAAJ9pqVQqpgAAQOOIRCKupAIA0HBEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAICtq7WJznVlZcXCAAA+n46OjiY6W1dSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqUYAAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAAKihViMA4A5NFovjhcLbly59eu1aKh4fzuVG+/vb29pMBqi5lkql0iznurKyYmEAdXG1Ujn/7ruLy8svT0//++edicTPjh2LRaNGBI2vo6OjWU41Eon4uh+A2zv31lunL14cyGZv+Pzvn3xyamzMfICaE6kA3N7Uxx+n4vH/eGiyWFxcXjYiQKQCUAexaHS1XP7R6GhnIhFCGMhmTxw9mk+nQwiLpZL5ACIVgLstn04vLi93pVL5TOYLiUQ+ne5KJvOZTOf994cQUtu3GxFQW26cAuD25i9f/s4LL1T/Ptzbe2TPnm8///yn165V+/XEE08YETQ+N04BsNWkH3hgOJc7vn9/CKG8vn5maire3h5CGO3rG87nzQeoOc9JBeCOPDk4GEIYLxT++M471U+Gc7l8JvOldNpwgJpzJRWAO5KKx8dnZoZzudG+vq5kMhWPPzk4ODM35yGpwP+CK6kA3KmZubnVcnn3zp35TCafyZw8e3bbNhc7AJEKQL3NLi3NLi2FEKqvnurescNMAJEKQB2cvnChva1ttL//cF/fDYf27doVQhgvFBZLpeqPVgFEKgB3yYsTE907dgxksze/GbW4sHBqbOybjz1mSoBIBeAuWS2XZ5eWyuvrP3nppVg0OpDNVm/qn11cnJmb+9P773+0sBBCGHn4YbMCasjD/AH4b05fuHD64sUTR4+GEMYLhclicbVcjkWj+UwmhBBtbX20p+fkuXNdyeQvn37auKCRNdfD/EUqALd07LnnupLJgWy2LRKZnp2dLBYHstnt991XWlur3umfiMX29vSEEFbL5ZWrV3985IihgUitSaT6uh+AWzo+NPT7N96YmZ+/NxL58kMPHd+/P5/JdKVS1aOTxeLEhx9Wb/MPIXxt924TA2pFpAJwS13JZAghFY//+pln2tvabjhavY/q2ZGRU2Njk8Xi6E33/gN8bh7CDMAtzV2+fH1j47sHDtxcqJ+JRaPfeOSReyORhVLJxIBa8ZtUAID/C831m1RXUgEAaDgiFQAAkQoAACIVAACRCgAAIhUAAJHaLEpra4X5eQsGAGhGW/ONU9c3Nn569mwqHs+l03YMANB0tuaV1BcnJhauXDk+NGTBAAAitSG8fenSmamp7x08mIjFLBgAQKTWX2lt7VevvXa4t7e3q8t2AQBEav1tbm6eGhtLxGJP7dtntQAAIrUhvDw9XZif/+GhQ5F77rFaAACRWn8fLSz84c03n3388c5Ewl4BAERq/V2tVH7x6quDPT1DuZylAgCI1Ibw29df39jY+NbIiI0CAIjUhvDn9977ywcf/ODQofa2NhsFABCp9fePK1d+c/78U3v3fvHBB60TAECk1t/69es/f+WVns7Or/f32yUAgEhtCGempv65vPz9gwdbWlrsEgBgy2ht6rPfvXPnnu5urz8FABCpDaSns9MKAQC2nm1GAACASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAgDprqVQqpgAAQOOIRCKupAIA0HBEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAAFBTraWTXaYAANBclr76uy383+36yoGWlu3RzVI5hM3NTesGAKAh/AtzxnBS1xHA3wAAAABJRU5ErkJggg=="/><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 x31 hc y161 ff1 fs7 fc0 sc0 ls0 ws0">Co<span class="_ _c"></span>de<span class="_ _f"> </span>injection</div><div class="t m0 xc hf y20d ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>include<span class="_ _20"> </span><span class="fc6">&lt;cstdio&gt;</span></div><div class="t m0 xc hf y20e ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>define<span class="_ _10"> </span>CHECK_ERROR(condition)<span class="_ _43"> </span>\</div><div class="t m0 xc hf y20f ffc fs8 fc9 sc0 ls0 ws0">{<span class="_ _44"> </span>\</div><div class="t m0 x11 hf y210 ffc fs8 fc9 sc0 ls0 ws0">if<span class="_ _10"> </span>(condition)<span class="_ _10"> </span>{<span class="_ _45"> </span>\</div><div class="t m0 x32 hf y211 ffc fs8 fc9 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 x1e hf y212 ffc fs8 fc9 sc0 ls0 ws0">__LINE__);<span class="_ _46"> </span>\</div><div class="t m0 x11 hf y213 ffc fs8 fc9 sc0 ls0 ws0">}<span class="_ _47"> </span>\</div><div class="t m0 xc hf y214 ffc fs8 fc9 sc0 ls0 ws0">}</div><div class="t m0 xc hf y215 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 y216 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 y217 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="fcb">segmentation<span class="_ _10"> </span>fault!!!</span></span></div><div class="t m0 x33 h14 y217 ff1d fs8 fc6 sc0 ls0 ws0"><span class="fcd sc0">A</span></div><div class="t m0 xc hf y218 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 y10 ff6 fs5 fc0 sc0 ls0 ws0">56/61</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf3e" class="pf w0 h0" data-page-no="3e"><div class="pc pc3e w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 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 y219 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _22"> </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 y21a 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 y21b fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4 fca">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 y21c 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 y21d ff4 fs7 fc0 sc0 ls0 ws0">p<span class="_ _5"></span>ro<span class="_ _c"></span>cess</div><div class="t m0 xf h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">57/61</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 h17 y7 ff5 fs3 fc1 sc0 ls0 ws0">#pragma</div><div class="t m0 x1 hc y8b 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 ye9 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 y21e fff fs7 fc0 sc0 ls0 ws0"><span class="_ _22"> </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 y21f 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 y220 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _22"> </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 y221 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 y222 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _3b"> </span><span class="ffe fc4">Pragma<span class="fc0">(&lt;command&gt;)<span class="_ _20"> </span><span class="ff4">(<span class="fca">C++11</span>)</span></span></span></div><div class="t m0 x6 hc y223 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 y224 ffc fs8 fc9 sc0 ls0 ws0">#define<span class="_ _10"> </span>MY_MESSAGE<span class="_ _10"> </span>\</div><div class="t m0 x34 hf y225 ffc fs8 fc9 sc0 ls0 ws0">_Pragma(&quot;message(\&quot;hello\&quot;)&quot;)</div><div class="t m0 xf h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">58/61</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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIkElEQVR42u3YsWnDUBSGUT2jS6pHZjCpMkEwqQ3eLEtknBQeIhukEq/KbZTO4CaQgMw1nDOAJH41H7c9vbxOAABQxuf5Y2cFAACqEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAFy0zLQCAAB1RIRLKgAA5YhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQDgymwCALgYY9zmRb13a8MvXFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAIArLTOtAABAHRHhkgoAQDkiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgDAduY7+tYxhh8GAPA/vfc7+lqXVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARKoJAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBgWy0zrQAAQB0R4ZIKAEA5IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAEBd8/K2twIAAH/1dXzf6MnPh1Nrjw/r8j1N67qaGgCAEn4AIH8gAAOVydYAAAAASUVORK5CYII="/><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 x35 h18 y226 ff13 fs5 fc1 sc0 ls0 ws0"></div><div class="t m0 x1 hc yb0 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="_ _e"> </span><span class="ff5">##<span class="_ _e"> </span></span>)<span class="_ _a"> </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 yb1 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 y227 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </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 y228 ffc fs8 fc9 sc0 ls0 ws0">void<span class="_ _10"> </span>tokenA##tokenB()<span class="_ _10"> </span>{}</div><div class="t m0 xc hf y229 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </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 y22a ffc fs8 fc9 sc0 ls0 ws0">void<span class="_ _10"> </span>tokenA##_##tokenB()<span class="_ _10"> </span>{}</div><div class="t m0 xc hf y22b ffb fs8 fc0 sc0 ls0 ws0">FUNC_GEN_A(my,<span class="_ _10"> </span>function)</div><div class="t m0 xc hf y22c ffb fs8 fc0 sc0 ls0 ws0">FUNC_GEN_B(my,<span class="_ _10"> </span>function)</div><div class="t m0 xc hf y22d 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 y22e 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 y10 ff6 fs5 fc0 sc0 ls0 ws0">59/61</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAJEUlEQVR42u3bwSoFURzA4TOak9VJsbBTsvIChIWVkqJYeCUv4SnuwhNYyDN4AYnSSTjRtbPguum6pjN833KaZs78Z/PrTNOsrG8FAACoxtXF+YwpAABQG5EKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAMC7ppRiCgAA1CPGaCcVAIDqiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAIIQQQmsEACGEnLMhdCalZAjAeHZSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAoDKtEQB85fHpafvo+MPBy7PBy+vr5v7h5/MvzwY/v+mvXnwqxqxwbe+g5pUDPdKUUkwBIOdsCJ1JKRkCMEaM0ed+AACqI1IBABCpAAAgUgEAEKkAAPBT/u4HAKAu/u4HAKBGIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAP6JtkdrzTl7YQAAk0kp9Wi1dlIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpRgAAgEgFAACRCgCASAUAAJEKAMBf0xpBNxYW5j8cub29G3lwsus/PISlpfmpXGq6j3l9fbe4OLXHBAD+iaaU0pe15py9MACAyaSU+rLUGKPP/QAAVEekAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAgNGaUoopAABQjxijnVQAAKojUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQCgY+39ybIpAADwq252Tr9/8urGbtPMzQ7vn0MYDoemBwBAFd4AkYNX/Kxw2AoAAAAASUVORK5CYII="/><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 x17 h18 y226 ff13 fs5 fc1 sc0 ls0 ws0"></div><div class="t m0 x1 hc y8b ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _e"> </span><span class="ff1">variadic<span class="_ _a"> </span>macro<span class="_ _a"> </span></span><span class="fca">C++11<span class="_ _e"> </span></span>is<span class="_ _a"> </span>a<span class="_ _a"> </span>sp<span class="_ _c"></span>ecial<span class="_ _e"> </span>macro<span class="_ _a"> </span>accepting<span class="_ _e"> </span>a<span class="_ _a"> </span>variable<span class="_ _e"> </span>numb<span class="_ _c"></span>er<span class="_ _e"> </span>of<span class="_ _e"> </span>arguments</div><div class="t m0 x1 hc ye9 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 y22f 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="_ _48"> </span><span class="ffe">VA<span class="_ _6"> </span>ARGS<span class="_ _48"> </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 y230 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 y231 ff4 fs4 fc0 sc0 ls0 ws0">Example:</div><div class="t m0 xc hf y232 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="_ _49"> </span>{<span class="_ _10"> </span>printf(<span class="fc7">&quot;%d&quot;</span>,<span class="_ _10"> </span>a);<span class="_ _4a"> </span>}</span></div><div class="t m0 xc hf y233 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 y234 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 y235 ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>define<span class="_ _10"> </span>PRINT(...)<span class="_ _10"> </span>\</div><div class="t m0 x6 hf y236 ffc fs8 fc9 sc0 ls0 ws0">f(<span class="_ _1c"> </span><span class="fc4">VA<span class="_ _a"> </span>ARGS<span class="_ _12"> </span></span>);</div><div class="t m0 xc hf y237 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 y238 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 y10 ff6 fs5 fc0 sc0 ls0 ws0">60/61</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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIhUlEQVR42u3YsW0CQRCG0Vt0I0crEhqwKIKA3pzSmAMXQUgDaCNPcmQUcLLkudN7Faz+TT5NO1+uEwAAlHH/+T5YAQCAakQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAABvLTOtAABAHRHhkgoAQDkiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQCAt3lDbx1j+DAAgHV67xt6rUsqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAwI60zLQCAAB1RIRLKgAA5YhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAA8D/mDb11jOHDAADW6b1v6LUuqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQTAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAYOdaZloBAIA6IsIlFQCAckQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAADwJ+bn7dMKAADUcfp6tHb8WJ6/07Qsi0EAACjhBVrIHwAUDOw+AAAAAElFTkSuQmCC"/><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 x28 h18 y226 ff13 fs5 fc1 sc0 ls0 ws0"></div><div class="t m0 x1 hc y239 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 y23a ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>define<span class="_ _10"> </span>TO_LITERAL_AUX(x)<span class="_ _10"> </span>#x</div><div class="t m0 xc hf y23b ffc fs8 fc9 sc0 ls0 ws0">#<span class="_ _1f"> </span>define<span class="_ _10"> </span>TO_LITERAL(x)<span class="_ _1a"> </span>TO_LITERAL_AUX(x)</div><div class="t m0 x1 hc y23c 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 y23d 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 y23e ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _16"> </span><span class="ffb fc0">x1<span class="_ _1d"> </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 y23f ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _16"> </span><span class="ffb fc0">y1<span class="_ _1d"> </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 y240 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 y241 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 y242 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xf h9 y10 ff6 fs5 fc0 sc0 ls0 ws0">61/61</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>