Modern-CPP-Programming/htmls/07.Basic_Concepts_V.html
2025-01-30 14:34:16 -08:00

1721 lines
664 KiB
HTML
Raw Permalink 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,d09GRgABAAAAAATkAA0AAAAABuQAAwACAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEyAAAABoAAAAcoqQZUEdERUYAAASsAAAAGwAAAB4AJwALT1MvMgAAAaQAAABEAAAAVlXIgqpjbWFwAAAB/AAAAEYAAAFKRYDkOWdhc3AAAASkAAAACAAAAAj//wADZ2x5ZgAAAlAAAAB0AAAAdF5LOhRoZWFkAAABMAAAADMAAAA2KnqSgmhoZWEAAAFkAAAAHgAAACQGSgNsaG10eAAAAegAAAAUAAAAFAcYAERsb2NhAAACRAAAAAwAAAAMAAAAOm1heHAAAAGEAAAAHQAAACAASAAnbmFtZQAAAsQAAAG+AAAC3BPNfFNwb3N0AAAEhAAAAB4AAAA0ObKyo3icY2BkYGBgZmjOWZQnEM9v85WBm/kFUITh8cHlWXDa5f8E5klM24BcDgYmkCgAc80NPQB4nGNgZGBg2vZ/AgMD8zUGIGCexMDIgApYAWUfA70AAHicY2BkYGBgZVBhANEMDExAzAhmO4D5DAAGWwBwAAAAeJxjYGR8zfiFgZWBgamLaQ8DA0MPhGZ8wGDIyAQUZWBjZoABRiB2gHEC0lxTgJSC0jGmbf8nAFVuYyiAqmEAACwtDEAB9AAAAAAAAAFNAAAAAQAAA9YARHicY2BgYGaAYBkGRgYQcAHyGMF8FgYNIM0GpBkZmBgUlI79/w/kg+n/j+/aQdUDASMbA5zDyAQkmBhQASPEiuEMAMdbCdwAAAAAAAAAAAAAAAAAOgABAET/kAOSArYAIwAAAQcXHgIVFCMnBwYjIjU0NxMnJjU0PgEzIRM2MhcTITIeARQDg+sIAywmDf3sBwoNA1rsDgkLCwEdWgYWBloBHQsLCQFtrBcLhnYED7SrCQ8FCQEVqwkJBwYBARQVFf7sAQYOAAAAeJxtUcFq20AQfavYhqal9AN6mN5ssGVZJhiZEHBCfCgohxhy6kXIi6ViSa60jvBP9dZvKYTeeupf9Gm9hRyqAc2bnZk3b3cAvMd3KJy/Ar8cVuirJ4c9DNRXhy/wSf1wuMea3w738cF76/AAfW/IStV7w+jFdnVY4VJ9dtjDO/XF4Qvcqm8O91jz0+E+RP1xeIBL7yPuUOGAE2rk2CGDgWCIFCP6GSLaAmPiEAEtIlrxTtrWp0hQ8iSmN+zVzHTonNkzsyF7yljz9GSZr+0Mw5lLTGmtNZ/1BRr6isw73HB+N7Vlb8cseCRHY+c+87/lyZq1pdX7YLu1VbKhvpiafeCuOpzqfJcZGaYjmUXRYixhEESyKnSdp0kpcWIyXSSGwV42VZprc5LhdWbMYTmdtm3rJ0XjV/XuZjSWNjeZPOpG1896K+uqNPKQFFrizSpecNw9jrxzpxD3x72mi63SnOcFA73Nj/T/ZK/dVbV9XJ+PK3yS11c4x3NmJlzFxK4gxBUpOHtNVVpCP5DlWQH9PJjMJmEQXuEVC2wWeLLSGsqp7NK6dc7t3I5VWKDrJq9KCYK5HwSh/IfkL3CceU0AAHicY2BiwA9YgZiRgYmBmZGJvTQv08jI2QwAC4UCQQAAAAAAAf//AAJ4nGNgZGBg4AFiMSBmYmAEQhYwBvEYAAPKADMAeJxjYGBgZACC2wqnqkH044PLs2A0AE7GB6wAAA==')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,d09GRgABAAAAAAVUAA0AAAAAB8QAAgADAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAFOAAAABoAAAAcoqQZUkdERUYAAAUcAAAAHAAAAB4AJwAMT1MvMgAAAaQAAABFAAAAVlVkglVjbWFwAAACBAAAAEsAAAFSJqspWGdhc3AAAAUUAAAACAAAAAj//wADZ2x5ZgAAAmAAAADDAAAAxENGNMloZWFkAAABMAAAADMAAAA2KomScmhoZWEAAAFkAAAAIAAAACQGRgPJaG10eAAAAewAAAAYAAAAGA0/AIpsb2NhAAACUAAAAA4AAAAOAGIALG1heHAAAAGEAAAAHQAAACAASgAkbmFtZQAAAyQAAAG9AAADUdeLrL9wb3N0AAAE5AAAAC4AAAA5WO/ZJ3icY2BkYGBgYjjC+9c6Ip7f5isDN/MLoAjD44PLs+G0+f9y5vVMNUAuB1AtEAAAfqENTQB4nGNgZGBgqvlfzsDA/IIBCJjXM6QwSDIgAzYAZzgEFnicY2BkYGBgY1BkYGIAARDJyAAScwDzGQAGQgBvAAAAeJxjYGSexziBgZWBgamLaQ+DIkMPiP7fw/iAwZCRCSjKwMrMAAOMQJwA4wSkuaYAKQWlFKaa/+VAlTUMnVA1DABVzQyGAAAAARgAAAAAAAABTQAAA+gAAAPoADcDCgBTeJxjYGBgZoBgGQZGBhDwAfIYwXwWBgMgzQGETEBaQXGSUsr//wjW/8f3iu4uhOoCA0Y2BjiXEaSHiQEVMEKsGlyAlaqmAQCceAxLAAAAAAAAAAAAAAAALABiAAB4nB3OTQ7BQBQA4PdeeTM1M41U6yd+W1FNWFG6cAYLwTUs2dg4gaNILNzE2h0kEhZNiRN8HyCk+cu6YA5NAPCEg4JHGM7maRAm0yAaJguc1DpYsy5ytXPIdlVjnynfp9e+oVybnN0KqUzt08Y25228PRt7c2oDwTo/0I2OUIcewMDjfjjEaJakOJ9Oqr4nDHasFvb/DN20ZJXdKxUaq6LUbvYkwwVBQfYIQuoupWZkaXQJmbV0xOdtEfM1jn/pLwnbI20AeJytUstq20AUPaPYhkJJd+2mlLsJJAsNsoQXyTImCRjLCVZcAl2NE9kWtjVBUjD+hvxK6SIf1e/okTTtwot2Uw2ae+a+z50BcIwfUGi/r3+wwgd14rCHnho6fIRIvTncwSfvo8NdHHtjh3vUv9JTdd7x9L2JqrHCF9V12MN7NXD4CAs1crgDrX463MVnTzvcg/a+YQiLZ+xRIMMSK1QQhAi4IvhcLT6ndk4vwSU09xEMHrFm7A4lZUadQY6nxqYRN16Txt561h6nPOdNppSVDDZY8GSb/Z66B8oZElxhyl1wQ3lLzR1PZ8yIoX3eF9lyVUkYBJHvcz+X+V4utYzM49ruynUmJn+SkY61TOyOykxObS7zdGU2C7ELuU8fZJZcTRO5md7O7pIz5h2z4ZgNVWwrIc0tW7Rsr0Sf5DGOY1Otkv12bjdln4qaWEGvmgImttgayuuGXdXIgrNMm0lqJhBc8P97EZ9cU0a9UGMY38ZEjaXv7iHEgGVsXl3bYplKqAO5kIPm/Gm6fNmYgpYo8PscUTj4F8HD2oeEf+esX3NKe8nbbG+y5Ve/FaExLcqMs2ZfQST/regv5lmVVAAAAHicY2BiYPj/8dvu/00MGgzYABsQMzIwMTAzMjFM4UosKsovL8pMzygBACxlCkMAAAAAAAH//wACeJxjYGRgYOABYjEgZmJgBEJWIGYB8xgAA9UANHicY2BgYGQAgtsKp6pB9OODy7NhNABO0AeuAAA=')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,d09GRgABAAAAAA9AAA0AAAAAFMAAAgAEAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAPJAAAABoAAAAcoqQZYkdERUYAAA8IAAAAHAAAAB4AJwA2T1MvMgAAAagAAABGAAAAVlXnGZNjbWFwAAACkAAAAN0AAAHCke8KlWdhc3AAAA8AAAAACAAAAAj//wADZ2x5ZgAAA9QAAAkMAAAMXL0ZBpJoZWFkAAABMAAAADUAAAA2KUmSxmhoZWEAAAFoAAAAIAAAACQFlwI9aG10eAAAAfAAAACeAAAAvlZ7CU9sb2NhAAADcAAAAGIAAABiRRpBuG1heHAAAAGIAAAAHgAAACAAdQBJbmFtZQAADOAAAAGrAAAC8ZCLziJwb3N0AAAOjAAAAHIAAACSQ1Wha3icY2BkYGBgYmR7PPf9+Xh+m68M3MwvgCIMjw8uL4bR/w/+Z2d6yvQOyOVgYAKJAgDB/hABAAAAeJxjYGRgYHr3n52Bgdng/8H/15ieMgBFUIA+AKMiBtd4nGNgZGBgMGBwY2BmAAEmIGZkAIk5gPkMAA5kAL8AAHicY2BkfMk4gYGVgYGpi2kPAwNDD4RmfMBgyMgEFGVgZWYAgwagoAMDAgSkuaYAKYXfTEzv/rMDVb5j+AnkM4LkACfBDN4AAHicHY0xCsIADEVf0lHoYBeH2g4Krp2EOnYVh+oguBQVT6CncLIH8QqKi+AVPICjmzjqbwOfl5/8EOvRls3AXbyzsxOllMsXQUpuCRtb0pFfSX35rdcUfqawlMoz6at8zdoPyr8Ze8TCHgzFoTiwCXFzK1/yYWrd302cBxllM9MuaW8q6agfe6Jmbk9CvxCKNL1dtXvp/4iY+A8nvx4NAAB4nGNgYGBmgGAZBkYGENgD5DGC+SwMC4C0CoMCkMUCJJUYdBkMGUwYrBicGdwZPBl8GAIYohiyGAoYqhRkfjP9/w9UDVKlgabKH6gqkSGHoQioivH///+P/z/6f/f/rf83/l/+f/r/if/H/x/9f/j/rv9b/m/+v+mBIKsu1CUEASMbA1wpIxOQYEJXAPIaC5jJysbOwckFZHAzMPCARXhhqviAmJ9BgIFBkIFBSBiuWQRCiYqJS0hKScvIyjHIKygqKTOoqKqpa2hqaesQ50iSgS4SW0+fkGoAYuYw/AAAAAAAAAAAAAAAAAAAFAA0AFQAoADEANQA4gD6ARgBKgFeAZABnAGuAdIB9AIQAkgCcgKYAsIC7gMSA3IDkgOkA8QD0AQEBCQESgRyBIgEzATqBQoFJgVYBXAFngW+BdgGBgYuAAB4nH1Xe2xT1xk/33FikzhxcmNf2zGxsX1jO4nz9PX1xTY4kPeDh4kdJ5AHdgiB9h8KmjboOt4ESBXERPdCI5MKgk6RaDW10VjTeTBN3dTuj21dgW2iHZR/NinaxNBUpNzsO9cJTbtpke455x7f7/e9f+eEULIXbkKGfkg0REeIUeBE9txKJt9IJvEXh/IQHIQQIDuWdJCiC6SMkHyhHqRgmSwa8kwODaQ273px//Dm8nURwV5RGXF+vmVx9gZZ2mqrHMnMvH1lbNjL5MMoH8vJe0xanRDLC9ZrfKIDILZa2Ipgz26sFrZuWWTyLRCALMoH8cWkFdwNsE6dvZKsU6dgM/hwDImBdeBjk5nXyepkKgGLGbJ8ib5k7xowlxRbCnabikr48pcOWtXNAnVvLy7VPXi7lNe3Hy8oNRm58y0GvpQ3hCNFZrZ5Xt3rKFzeU/26Rh/THcTC/BJcnElwS5zLLQVFFxcUAzznCtDHgvKINysPBQEcvBnswjM+92LmwSEIykPEGVs6QW6RFNESIusEWZDEW7X+tbYUHD+WYv7rSRbsZBHzRDwuyQV2ZQHKsjE1N7tweIdeI0WEVIMkclpBCsgiJ8I7yuxxefupVv54DBRLbPPiZfyeEjt+/xm9QApJCaIJvCC5JMDvBU5bAvDZeFL5J9DM+E/g9MYbN25shuvKLjgc/HScye5BhFswv1IvqI2ZmsI/mEgpbaqtLUtP6RC9TZyIrmXZWU6MxWzReX1ewa3T8iaLWQzIIZkObfT4N01lMnemZL9fKq33VUmZjvb2jsymak+4rrJA/8KLl177/RqdadCpL+pPHjnc319U5CUrevat6Pk/WiQ0ke7bf1DVEm2sl0saamsjOS2tLWfue5tUHXr92kFvaUlOh2lms6pjN45ZOsfijvERs+k0vuT2aR4udSzmHAZPFmmeMpT2Pqmlc4sXKItVeOlv9D3srQJiVKvWyQx0mnVBrxtNMwdC9L2s8iybBW02fXbu7ORPJ2Hw8kcfXf7hvXvTJ380c+r8zZtqvjI4DKCuQtY9iOMHTsC6MmuDXlyKATrw6v6radDsf3UgnbxwIQl/T76sPKJzRy6+0qd8SlQ/woixCTGK1RoBIR+TzoPoEemmxc9h0qosjsAT5WU7FI/V0S7a6l+8pfoQWnoK1+G3xEw8hLgEKddrIVkKsgj7cn0muQ0UHcJQxyhcj7fsj0Z/cLqpOtmh3ZboGUuUNKUioap6J8dRb1OidkOrpqZpY7CzdqznO8G8IrfVLhgLbRxRfU2gvgW0s4TYVKZAdT4eA88xTTpVKY+KQrBwYHtjN5eI94x0jiSSUluVe9P6oU/2nPUZG+iccjcyNdrft/5PsT70vRIxZ1Uf1Drxquxg0dWDoOYBzYbZ+GD62LcmgrG6Yt+G+p7Obc0DPZ7GqZ9fNJZ32Ez7WrtGxZx9DCurxtH2PB5q1XGiRvI+BwxBNtHW3z2xvzfVEk94o+GhPjni0webz905J4N38e6vgn0DiWTQwDCFZfvKSDnrbgcggGU50Kyec5bqYFa5Q1OxRI9268DoiSMDo4GqDcVdvvr24j+3p6X2pqk9maneWH2r2BbI5bwCh3HsD/Qb0DQD2EHEWAqsZXPQMF5dYxK8hw7Ee3vHur219AC3xuf6Wkw5CUdjg71jesTREPtSAJ7A+6QOq6g9h8U6i2fZ8aHDUQg48vCNGSwvPww9JKoJy4UkZAz6wY0EwwofntjrYnm2TFvQXxAZ5uxyjd96+henNpXb3Zk2ubYn9YbkrZTZM3Ru1O2jdPiVITidl0/za+ta03aDKUh1RrvoCm+Py83VTn+dtyHUknE6rwbFJhkf5cMWV2mpu8afO7twuI05M7GMcXjuoE12WC4qHm4nQG+srggGEvHIzmlwF5e5TKWDkX9hGf2mawbz04sos/RSjvMYCzB6fj0eL0inYf4baVYXS7eXROSJS8TAetSiRkZGr2MgcSLjn+yWUPNGi7vaUOGOp9PRlrh787p8t4MSVR5IH46vf8EziJ7jGbSdPsDYV37F9lVe8LlYB3j64LknK/PWyPBee/PwKq9Wre50bunrmyFfxAj1/FeM+K/ECBGnv4wxw2rYgTX8CGtYnzsJn1eveXUJwKMzo8OTZ0Z2n070R8OpxMZo8i+ZyTNj49MXdu7oT/btGB7KcUAMFtAWA7EuY6kUwK+mAMYAL23dviER70137ErsCLdWeQ4PfjI+Gf4HPdoYndrdsVu+F8uoviVwiCNeIc6sCVQsGeKdE/GeloNwDEa2/BHuDI1S/NaOfhxCP+qYZgNdSSMN1oOvXr1hxDQYbp3aAw6wOCjeLQ65ZKliZ6K4a0DPe62CwxpuslU5qyI2w7bO4s6elLPC5nH7SptO1EQr9LXdAU2hvd5ZkKfnLFVNnlC5gTo7fFFzxZp8XQFnqFFtNqIdKRplJwfjLEntWZHH/uVNjLBSPdtS/YM9Fy8GAzU2z3kgsWPHYgsDztxd7Snmcp7JIkMZgOUCi11NAS7gdtw10RgSE/aA2JVotDvCzbBdmat0BGVwMXkkJfgA5fE+ARpBI+KJKobwrIYP3hp5q2/H+jyaHy5ugXmlDeZ/d8nlfc39Y7IsR99EubWqnA8PYZ+ADb+CYFye6JvTQ1vyDUUAmroNien4hto8yJ/oafdqQfcCQ/03J8e0Nd9HF3757bpOiDw4WhWF7lydsuE+6tAz33x4U/KJFlnUwf3B710aeP/2wPTZgfl333189+rVuzmblkTVl3Jmk0HDLo5qWzaDRjSjPTFAtx6UCS5jScCq9dUUFluLPL9OdpeGNJrmDphfXKiRjPlr2rk8m20nzN+oOtnYgNdbFZvdo64gNrd8prrxZFZP1UAoCnBFOQ5FW7VW7TQcUJ4mcfFdPySguVq5CbmzZA/8FU5im2vZqWzUYW4ldEWdfoZXv9onbKBzx1L9x9mjcjHj9I+R0xkXMf1YFhqsZ92XaJ33qt0rwseplCYev3YY6T0ecdnXClbPN2kmtdgN8zmO39mb0XcbBf/XmT0M+w+IzavR+p+I7L8DaFjBs7sQ71o8Dkefg3VyCKa00bn/AOEeroV4nJVSQU7jQBCsMUnQSigc0N4W1EcQsmVsOMARBEgRCSgmEdcJTBIrwYPsoChf2LesOO5T9gm8g8p4tNLmtrbcXV1T09PdYwBtfEChfoZ/scK2+u5xgJY69ngLx+qnxw3sqj8eN9EOGh63sBukVKrGN0a/3K41VmirpscBdtS+x1sYqsTjBg7Ub4+b+KE+PW7hINjDFSzesEKJHBNMsYAgQcw3Rci3xudkR1QJLhHRdqDxjBn3LlHR5+Q0Cry4tQhdp+q59Vq5VhwyLlwmw5M05hgzss4+knuiHyDDNfq0glv6ezIPjI6YEVf2bVXmk+lCkjhOw5D2XEYruYyko59ndlnNctHFi3SibiQ9uySZy6EtZGSmej4WO5ZH8ySD7LqfyW3/fvCQHTHvHQvOXAMVW8VdN9NFRbBuoMSrKxU9W75q+hvXxcL5kjMzbmIRpyS44PdvspA9GKremUJTX2tSqkOc+PkmOGNaWyxubDkxkkSxXIgvIuybyftcl2TSODxhy8nZZsGbZ2Bj7/ovNOQr3kJ9A3W9MU6JMTRllXNGPDc+lf9O/gUVWHykAHicbcs5DgEBAEDRNzMRhbWQqLQKkRij1oh9iS12DqDRuYfDuB8iSj/5+dUX+vJ6qPpH/DEQiqRkZOXkFRSVlFU+T01dQ6Klraunb2BoZGxiamZuYWllbWNrZ+/g6OTs4hmEQZS+3679Ttz8NXkDJzkQmAAAAAAAAf//AAJ4nGNgZGBg4AFiMSBmYmAEQn0gZgHzGAAFowBeeJxjYGBgZACC2wqnqkH044PLi2E0AE8gB74AAA==')format("woff");}.ff13{font-family:ff13;line-height:0.999000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff14;src:url('data:application/font-woff;base64,d09GRgABAAAAAAWIAA0AAAAAB6AAAwACAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAFbAAAABoAAAAcoqQZZEdERUYAAAVQAAAAHAAAAB4AJwAMT1MvMgAAAaQAAABEAAAAVlXmhJRjbWFwAAACAAAAAEcAAAFSIfYpumdhc3AAAAVIAAAACAAAAAj//wADZ2x5ZgAAAlgAAAEIAAABCN6/qDpoZWFkAAABMAAAADMAAAA2KoSSlmhoZWEAAAFkAAAAHgAAACQGZQOAaG10eAAAAegAAAAYAAAAGA7BAGlsb2NhAAACSAAAAA4AAAAOAIQASm1heHAAAAGEAAAAHQAAACAASQA0bmFtZQAAA2AAAAG+AAAC6APphOhwb3N0AAAFIAAAACUAAAA+ZVt0UXicY2BkYGBgZmjOSs7kiue3+crAzfwCKMLw+ODyEjht9H8i8zqmrUAuBwMTSBQAaIoNDwB4nGNgZGBg2vp/IgMD8wsGIGBex8DIgArYAGj0A+wAAHicY2BkYGBgYzBkANEMDExAzAhmO4D5DAAHuwB+AAAAeJxjYGS+yviFgZWBgamLaQ8DA0MPhGZ8wGDIyAQUZWBjZoABRiBOgHEC0lxTgJSC0jGmrf8nAlVuZciHqmEAACo9DEoB9AAAAAAAAAFNAAAD6AAAA+gANwOwADJ4nGNgYGBmgGAZBkYGEPAB8hjBfBYGAyDNAYRMQFpB8a7Ssf//Eaz/j++p37WH6gIDRjYGOJcRpIeJARUwQqwazgAAZaYM8wAAAAAAAAAAAAAAAEoAhAAAAAEANwBTA64BoQAwAAATFz4CNzYzMhcWFzMmJzMWFwYHIzY3IyIvAQ8BBiInLgIjJw4BBwYiJjU0PwE2Mr2kCVJJAQ0HCRIHQuBDIh8mcG4oHyJD2BcLSktPFhIOAgwKAYkPLgcREAwQRBQSAVaUCEpBAQsQBj08V2o9Om1XPApCREcUDgIKCXwNKQYQDAgJDzwTAAABADL/kQN+ArUAJAAAAQcTFhUUIyIvAQcGIyI1PwETJyY1NDYzIRM2MzIWFxMhMhYVFANx71wDCwgH7+8LBAsCAlvwDAwQASFaBgkGBARbASERCwFxrv7nCQULCa2tCQsHBwEZrgkGCAMBFhQGDP7oAwgEeJxtkcFq20AQhv9VbENLKD30AYZCwQZbXkuEYBMCJo1vyiGGQk9FyIslsCwjrSP8UnmAPkubF8itT9Bf6+0hUC94vpmd/edfLYAPeIbC+bfHi2eFvvruOcBAlZ4v8Fn99Nxj/dVzHx+DT54HGAQxO1XvHbNf7lTHCu9V4jnApfrh+QJflfXcY/235z5E/fE8wGXwBXeocMAJNQpskcNCMESGEeMMc65rjMkRNNectEQJ4/ozpLyfIGG0PGu409F5Z8edNdUz5obVk1O+cTMsZy4w5WrdCtlfomGsqLzFLed3U1ue7ZQFj9Ro3Nwn/m9YWbF37/w+uNPGOVnTX0Lnmlq4qw6nutjmVobZSGbz+fVYIq3nsixNXWTpXpLU5qZMLZOdrKusMPYkw5vc2sNiOm3bNkzLJqzq7e1oLG1hc3k0jamfzEZW1d7KQ1oaSdbLZKY57x5HXrszifvjzjAkzmzBesnEbIoj4z/nK39b475vSM/Cr/L2FudKTJown7h3iHBFEY5f0ZiRKNSy8CYIsZ7MJpGOrvBGCOcG4Jsz2NBU5V6ve9fYTe+UhQ2mbopqL1rHodaR/F/nL3OdevMAAHicY2BiwA/YgJiRgYmBmZGJkZm9NC/TyNDFBUwbOZsBACi0BIQAAAAAAAAB//8AAnicY2BkYGDgAWIxIGZiYARCViBmAfMYAAPVADR4nGNgYGBkAILbCqeqQfTjg8tLYDQATyoHwAAA')format("woff");}.ff14{font-family:ff14;line-height:0.804000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff15;src:url('data:application/font-woff;base64,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')format("woff");}.ff15{font-family:ff15;line-height:0.833000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff16;src:url('data:application/font-woff;base64,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')format("woff");}.ff16{font-family:ff16;line-height:0.888000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff17;src:url('data:application/font-woff;base64,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')format("woff");}.ff17{font-family:ff17;line-height:0.844000;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,d09GRgABAAAAAAa8AA0AAAAACXgAAgAEAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGoAAAABoAAAAcoqQZnEdERUYAAAaEAAAAHAAAAB4AJwAQT1MvMgAAAaQAAABBAAAAVlRtXz1jbWFwAAACCAAAAGUAAAFiELcNAmdhc3AAAAZ8AAAACAAAAAj//wADZ2x5ZgAAAogAAAIfAAACsGy+xa9oZWFkAAABMAAAADMAAAA2KKWTbmhoZWEAAAFkAAAAHQAAACQEXgIDaG10eAAAAegAAAAeAAAAHgTHAKxsb2NhAAACcAAAABYAAAAWAt4CPG1heHAAAAGEAAAAHQAAACAATgBBbmFtZQAABKgAAAGrAAAC/UXwk/9wb3N0AAAGVAAAACcAAAA2AFAA6nicY2BkYGBgYmS78CD7ZTy/zVcGbuYXQBGGxweXT4DT/P9/MX5mygRyORiYQKIAqK0OywB4nGNgZGBgyvz/C0gyMwAB42cGRgZUwAoAWiQDZQAAAHicY2BkYGDgYrBjYGIAARDJyAAScwDzGQAJgwCQAAAAeJxjYGTcyTiBgZWBgamLaQ8DA0MPhGZ8wGDIyAQUZWBlZoABRgYkEJDmmgKkFBjymDL//wKqzGRgg6kBAOOwClUAAAABGAAAAAAAAAFNAAAAAQAAAgMAIgAlADgAKgBSAA8AAHicY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMCgzpDFkMuT9/w8UBfFSILz/j/8//L/w//z/s6EmwAEjGwNciJEJSDAxoCkAW83CQCFgZWNnALoSCDgpNYrqAAD9whDLAAAAAAAAAAAAAAAAAABUAIwAxAD6ASQBWAAAeJxVkc9vElEQx+c94iLlxxbcXWShUnbL8tYG0LcstUuQiLSJTSVpQ2IUKAf0oKImJsbWg7G1f4CJB66evPVmE/sHNOn/4KU3Ez1y80CdXWiNl5n35uXN5/udAQoaADmlfViGKkBWWiR+QdcKpEb0i4NmlypkaZrKFldEYp1nLrtfLJ7T/RY5zd+fFZJCKOqbHZwfzHyexxp570WUJg9unta/DGKD4/n3OZ8ibU9iZn6YwYIS3/YCXodDoJA9+0NGqDMJDGABoZpho0DDLqGSuK1rKI4rctTK2SVD1wRZUixeJiNWT4XstearNxsNbjJWT4jmszvFpdZ6ubTiOJJe3e10d/lXJ3p1DPtNc3VrtdFrI+8W8k7Id0hB1p3LBUqRpQjVM9fQ+m1vGrmCD3F+ctJpdT++e/DoiRAOzox/XG5XRe1mMKBk6jSoWjrfDLxIt/a2OntvO+FZP6lsCGlVeRln+eRaFQhcxz0c0KeQw+zRikSL0DnEoNeoF12LUc+op4QcJCI4SV8sYcg7jO30GDtjrPeYmf1urU1vXJGlmYAvrCe5Mz52HFJxyrUVAPS2iYwj+hBioLqz1DP/OnsjpJKgGaUyJ0ds/Ms0Xz9nbD8h9vuqoaqG47XCcX2jl9w7tsB2IGIYkUNX/8JU62QRUwv/IVA9lnE5nxkz58zCOm7GPboLSoWs5gcTKT+Li/fuHno0Kb386Tdi/gJYOn9BAHicnVJBTutADH0T2uojAWLHhoWXIJEoTekCFixAgFSRglqKup3CtI1aMigtqnoKLoL+CTgLV+AKvE7m/0XZkSj2s/3ssT0BsIO/UCifh/9Y4Y/a8zhATUUeb+BIvXlcwa769LiKnWDb4xp2gzMyVWWT1rvLWmFFftXjAFtKPN5AXzU9rkDUh8dV7Ksvj2uQYB8XsHjBEgUyjDDGHIIEMd8GQr4lPqF3QJbgHBFlCxqPmDB3gRl1Rp9GjicXi5A6VtvFS+aKcUA7d5UMT9KYYkjLOnlPX5+6hy4u0aEUXFPf0nNH65AVcWFflkU2Gs8lieNGGFKeyGAp55G09OPELmaTTHT+JK0ojaRtF3RmcmBzGZixng7FDuXe9KXXvex05bpz27vrHrLuDRtOXXMWdY6MmzS1ua0TrWYo8Oy6RdsWz5r6ynHnThdcm3FLi7gowSm/9XohBzHkvbKIZkbJapAfMl4uOUGThW0+v7LFyEgSxXIq//oIO2b0OtUFXY04rHPwpPmz7fVjsJ6++h0NAzNeR3kVZdcxjonxYIpZxmXx7PhYflP/Gw2EfmQAeJxjYGIAg//xDH4M2AAXEDMyMDEwM7AxuDN4MHgy+DAEAgBUwgM6AAAAAAH//wACeJxjYGRgYOABYjEgZmJgBEJOIGYB8xgABAEAOHicY2BgYGQAgtsKp6pB9OODyyfAaABQQgf4AAA=')format("woff");}.ff19{font-family:ff19;line-height:0.623000;font-style:normal;font-weight:normal;visibility:visible;}
.ff1a{font-family:sans-serif;visibility:hidden;}
@font-face{font-family:ff1b;src:url('data:application/font-woff;base64,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')format("woff");}.ff1b{font-family:ff1b;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff1c;src:url('data:application/font-woff;base64,d09GRgABAAAAAAT0AA0AAAAAB5wAAgADAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAE2AAAABoAAAAcoqQZvkdERUYAAAS8AAAAGwAAAB4AJwALT1MvMgAAAaQAAABBAAAAVlQ3gD5jbWFwAAAB/AAAAEoAAAFKRITku2dhc3AAAAS0AAAACAAAAAj//wADZ2x5ZgAAAlQAAACDAAAAyJswHh5oZWFkAAABMAAAADMAAAA2KduTDGhoZWEAAAFkAAAAHgAAACQFEQOjaG10eAAAAegAAAAUAAAAFAWgADtsb2NhAAACSAAAAAwAAAAMAAAAZG1heHAAAAGEAAAAHQAAACAASQBKbmFtZQAAAtgAAAG3AAADRaoF94pwb3N0AAAEkAAAACEAAAAs/5n3iHicY2BkYGBgYjjiFqh0MJ7f5isDN/MLoAjD44PLF8JpawYNpn+MP4FcDqBaIAAAdqkNFgB4nGNgZGBg/MkABMxWIJLpH0MKgyQDMmAFAD+oArsAAHicY2BkYGBgZXBnYGIAARDJyAAScwDzGQAJ3QCUAAAAeJxjYGScyziBgZWBgamLaQ+DIkMPiP7fw/iAwZCRCSjKwMrMAAOMQOwA4wSkuaYAKQUlD8afYMmfcDUMAD/yC0AAAAABGAAAAAAAAAFNAAAAAQAAAzoAO3icY2BgYGaAYBkGRgYQcAHyGMF8FgYNIM0GpBkZmBgUlDz+/wfywfT/x3f3QNUDASMbA5zDyAQkmBhQASPEikEPWMjXCgA5DQliAAAAAAAAAAAAAAAAAGR4nGNgYrBm0GD6x/iTQZnBjYGBUYRNWUmPUV2PUVmJj5EdxDM1MTM2kmMUl2M0NjIzB7IFoWrUcCth+pfqo+CmpWHupSFjbcHEwSEA5+vGszLzQrkZjnBZRVdtdbgs41WPdElJaRUlYWttNmFlKMfCUfLffTDbDS4uJQUWZwAAMzsh7wB4nK1Sy2rbQBQ9o9iGQvGyqywulEICkVAkAk1WJSYxmMoJUlyyHceyLWxrgqRgvOsHtf2mfkqPRkOhpWRVDbr33PdjBsAQP6DQfV9+Y4Wheu+wh4H65PARIvXd4R7eeUOH+xh6I4cH1H+lp+q9ofTNRrVY4Vj1HfbwVkUOH2Ghxg73cKZ+OtzHsffB4QHOvBQjGDzjgAoFVlijgSBCyBPD5+nwJbVzegmuEZBOoPGEDWP3qMkL6jRKLKwtQGK9ptbeebYeJ5RLmylnJY0tlpSMpQ/UPZLPkOEGKalgTH5HzT2lU2bEyDwfqmK1biQKw9j3SS9lfpDrQCb6aWP29aYQXS5kEiSBTM2eykJOTCnzfK23SzFLecgfZZbdpJmM07vZfXbKvJ/ZcMKGGraVccwdWzRsr8ZHGpNEN+vssJubbU25naqiS9s/pqbaafJbO1pjecVF5naNAVcnuOL/WgWfY+aMeaGsGd1FxIz1ce6uIMIFi5iyuTXVKpcoCOVK/uzMT/PVy1ZXNMShf87lRBevj/Z3Yfw7YfuIc5prXmJ3gd1k7RMRGvOqLrhi9hTG8n8q/gIqN5O8AHicY2BiYPj/8dvu/3MZVBiwAVYgZmRgYmBmWA4Ay4sGFgAAAAAAAAH//wACeJxjYGRgYOABYjEgZmJgBEIWMAbxGAADygAzAHicY2BgYGQAgtsKp6pB9OODyxfCaABQ7AgaAAA=')format("woff");}.ff1c{font-family:ff1c;line-height:0.465000;font-style:normal;font-weight:normal;visibility:visible;}
.m0{transform:matrix(0.250000,0.000000,0.000000,0.250000,0,0);-ms-transform:matrix(0.250000,0.000000,0.000000,0.250000,0,0);-webkit-transform:matrix(0.250000,0.000000,0.000000,0.250000,0,0);}
.m1{transform:none;-ms-transform:none;-webkit-transform:none;}
.v0{vertical-align:0.000000px;}
.ls0{letter-spacing:0.000000px;}
.sc_{text-shadow:none;}
.sc0{text-shadow:-0.015em 0 transparent,0 0.015em transparent,0.015em 0 transparent,0 -0.015em transparent;}
@media screen and (-webkit-min-device-pixel-ratio:0){
.sc_{-webkit-text-stroke:0px transparent;}
.sc0{-webkit-text-stroke:0.015em transparent;text-shadow:none;}
}
.ws0{word-spacing:0.000000px;}
._7{margin-left:-4.399514px;}
._e{margin-left:-3.307583px;}
._5{margin-left:-1.319850px;}
._c{width:1.778929px;}
._0{width:3.073600px;}
._28{width:4.441380px;}
._21{width:6.240614px;}
._1d{width:11.337259px;}
._d{width:12.363176px;}
._a{width:13.514073px;}
._f{width:14.614042px;}
._6{width:15.618270px;}
._8{width:17.550234px;}
._10{width:18.830240px;}
._b{width:20.601143px;}
._4{width:21.691454px;}
._13{width:22.909110px;}
._1c{width:23.944529px;}
._22{width:25.034189px;}
._12{width:26.108179px;}
._1e{width:27.184302px;}
._34{width:28.203966px;}
._3{width:31.241700px;}
._9{width:32.418280px;}
._24{width:33.865717px;}
._1{width:36.288314px;}
._16{width:37.656160px;}
._2{width:40.829100px;}
._32{width:43.635612px;}
._1f{width:56.488800px;}
._33{width:62.728934px;}
._18{width:75.319360px;}
._31{width:80.069834px;}
._2b{width:84.680995px;}
._1a{width:94.143200px;}
._2f{width:100.423260px;}
._17{width:112.973920px;}
._2e{width:118.092166px;}
._2d{width:119.328817px;}
._15{width:131.803360px;}
._30{width:133.939606px;}
._23{width:135.041571px;}
._14{width:150.632800px;}
._20{width:169.463360px;}
._27{width:188.288800px;}
._11{width:225.949920px;}
._44{width:244.781120px;}
._43{width:282.440160px;}
._36{width:320.098240px;}
._1b{width:338.928480px;}
._35{width:357.758560px;}
._3b{width:376.588000px;}
._39{width:395.410720px;}
._2c{width:541.355085px;}
._3e{width:583.711840px;}
._41{width:602.542080px;}
._3d{width:677.859840px;}
._25{width:725.336319px;}
._40{width:790.834880px;}
._37{width:809.662560px;}
._19{width:843.300676px;}
._3c{width:866.154240px;}
._2a{width:928.186118px;}
._26{width:993.735338px;}
._3a{width:1009.353626px;}
._42{width:1073.278080px;}
._38{width:1100.825257px;}
._3f{width:1129.766400px;}
._29{width:1325.468243px;}
.fc0{color:rgb(35,55,59);}
.fc1{color:rgb(250,250,250);}
.fc2{color:rgb(255,255,255);}
.fc5{color:rgb(102,102,102);}
.fca{color:rgb(156,102,0);}
.fc6{color:rgb(61,122,122);}
.fcd{color:transparent;}
.fc4{color:rgb(0,0,255);}
.fc7{color:rgb(186,33,33);}
.fcb{color:rgb(16,136,110);}
.fc3{color:rgb(176,0,64);}
.fc8{color:rgb(0,128,0);}
.fc9{color:rgb(57,75,79);}
.fcc{color:rgb(173,34,49);}
.fs6{font-size:27.895200px;}
.fs5{font-size:31.880400px;}
.fs8{font-size:35.865600px;}
.fs4{font-size:39.850400px;}
.fs7{font-size:43.636400px;}
.fs3{font-size:47.820800px;}
.fs2{font-size:57.384800px;}
.fs1{font-size:82.650000px;}
.fs0{font-size:99.148400px;}
.y0{bottom:-0.500000px;}
.y75{bottom:5.048000px;}
.y51{bottom:5.278000px;}
.y46{bottom:5.288000px;}
.y16c{bottom:5.750000px;}
.yc9{bottom:5.834000px;}
.y14e{bottom:5.867000px;}
.y203{bottom:6.690000px;}
.y1ee{bottom:6.958000px;}
.y1d7{bottom:7.124000px;}
.y3a{bottom:7.702000px;}
.y1b2{bottom:7.947000px;}
.y1a7{bottom:8.155000px;}
.yb9{bottom:9.212000px;}
.y5f{bottom:10.581000px;}
.y217{bottom:10.786000px;}
.y1c4{bottom:11.140000px;}
.y83{bottom:11.239000px;}
.y197{bottom:11.329000px;}
.ydc{bottom:11.583000px;}
.y19d{bottom:11.638000px;}
.yf{bottom:13.018000px;}
.y24a{bottom:13.282000px;}
.y178{bottom:14.107000px;}
.y95{bottom:14.830000px;}
.y160{bottom:15.458000px;}
.y107{bottom:15.663000px;}
.yf1{bottom:16.390000px;}
.y14d{bottom:16.751000px;}
.y1e2{bottom:17.493000px;}
.y13e{bottom:18.566000px;}
.y1ca{bottom:18.622000px;}
.yae{bottom:18.771000px;}
.y21f{bottom:18.816000px;}
.y50{bottom:19.026000px;}
.y183{bottom:19.105000px;}
.y45{bottom:20.008000px;}
.y22b{bottom:21.380000px;}
.y39{bottom:21.451000px;}
.y1ed{bottom:21.553000px;}
.yb8{bottom:21.814000px;}
.y6a{bottom:22.829000px;}
.y5e{bottom:23.184000px;}
.y16b{bottom:23.324000px;}
.y216{bottom:23.389000px;}
.y1a5{bottom:23.671000px;}
.y82{bottom:23.842000px;}
.ya2{bottom:24.365000px;}
.y74{bottom:24.674000px;}
.y1c{bottom:25.331000px;}
.y249{bottom:25.885000px;}
.y135{bottom:26.033000px;}
.y8c{bottom:26.378000px;}
.y19c{bottom:27.219000px;}
.y14c{bottom:27.635000px;}
.y106{bottom:28.265000px;}
.y1e{bottom:28.947000px;}
.y1a6{bottom:29.001000px;}
.y1e1{bottom:30.095000px;}
.y13d{bottom:31.169000px;}
.yc8{bottom:31.438000px;}
.y182{bottom:31.707000px;}
.ydb{bottom:32.146000px;}
.y1d6{bottom:32.329000px;}
.y177{bottom:33.036000px;}
.y4f{bottom:33.746000px;}
.y22a{bottom:33.983000px;}
.y1c9{bottom:34.203000px;}
.yad{bottom:34.353000px;}
.yb7{bottom:34.417000px;}
.y1c3{bottom:34.627000px;}
.y1f7{bottom:35.269000px;}
.y240{bottom:35.777000px;}
.y5d{bottom:35.787000px;}
.y81{bottom:36.445000px;}
.y94{bottom:36.598000px;}
.y196{bottom:36.933000px;}
.y15f{bottom:36.953000px;}
.ya1{bottom:36.968000px;}
.y73{bottom:37.277000px;}
.y38{bottom:38.163000px;}
.y69{bottom:38.411000px;}
.y14b{bottom:38.519000px;}
.y134{bottom:38.636000px;}
.y156{bottom:38.673000px;}
.y16a{bottom:38.906000px;}
.y105{bottom:40.868000px;}
.y44{bottom:41.542000px;}
.yf0{bottom:41.595000px;}
.y1a4{bottom:41.604000px;}
.y238{bottom:42.597000px;}
.y1e0{bottom:42.698000px;}
.y124{bottom:42.925000px;}
.y6{bottom:43.061000px;}
.y13c{bottom:43.772000px;}
.y21e{bottom:44.021000px;}
.y18d{bottom:44.143000px;}
.y181{bottom:44.310000px;}
.y1b{bottom:44.534000px;}
.y11a{bottom:44.593000px;}
.y1d5{bottom:44.932000px;}
.y176{bottom:45.639000px;}
.y229{bottom:46.585000px;}
.yc7{bottom:47.019000px;}
.yb6{bottom:47.020000px;}
.y1c2{bottom:47.229000px;}
.y1d{bottom:48.150000px;}
.y23f{bottom:48.380000px;}
.y5c{bottom:48.389000px;}
.y80{bottom:49.048000px;}
.y14a{bottom:49.403000px;}
.y26{bottom:49.485000px;}
.ya0{bottom:49.571000px;}
.yac{bottom:49.934000px;}
.yd2{bottom:49.941000px;}
.y1f6{bottom:50.850000px;}
.y248{bottom:51.090000px;}
.y202{bottom:51.347000px;}
.y8b{bottom:51.583000px;}
.y254{bottom:51.777000px;}
.yda{bottom:52.709000px;}
.y155{bottom:53.321000px;}
.y19b{bottom:53.351000px;}
.y104{bottom:53.471000px;}
.y1ec{bottom:53.952000px;}
.y1a3{bottom:54.207000px;}
.y1ba{bottom:54.691000px;}
.y68{bottom:54.774000px;}
.y237{bottom:55.199000px;}
.y4e{bottom:55.280000px;}
.y1df{bottom:55.301000px;}
.y1b1{bottom:55.991000px;}
.y43{bottom:56.261000px;}
.y21d{bottom:56.624000px;}
.y18c{bottom:56.745000px;}
.y180{bottom:56.913000px;}
.ye{bottom:56.945000px;}
.y119{bottom:57.196000px;}
.y1d4{bottom:57.534000px;}
.yfa{bottom:58.158000px;}
.y175{bottom:58.242000px;}
.y93{bottom:58.366000px;}
.y2e{bottom:58.369000px;}
.y215{bottom:58.956000px;}
.ye7{bottom:59.057000px;}
.y228{bottom:59.188000px;}
.y169{bottom:59.468000px;}
.yb5{bottom:59.622000px;}
.y37{bottom:59.697000px;}
.y5{bottom:59.736000px;}
.y1c1{bottom:59.832000px;}
.y149{bottom:60.288000px;}
.y5b{bottom:60.992000px;}
.y7f{bottom:61.650000px;}
.y1c8{bottom:61.740000px;}
.y247{bottom:63.693000px;}
.y1a{bottom:63.737000px;}
.y133{bottom:63.841000px;}
.y201{bottom:63.950000px;}
.y253{bottom:64.380000px;}
.y19a{bottom:65.954000px;}
.y103{bottom:66.073000px;}
.yef{bottom:66.800000px;}
.y1a2{bottom:66.809000px;}
.ybf{bottom:67.246000px;}
.y1fd{bottom:67.917000px;}
.y154{bottom:67.969000px;}
.y123{bottom:68.131000px;}
.yc6{bottom:68.553000px;}
.y1b0{bottom:68.594000px;}
.y15e{bottom:68.908000px;}
.y13b{bottom:68.977000px;}
.y21c{bottom:69.227000px;}
.y18b{bottom:69.348000px;}
.y17f{bottom:69.515000px;}
.y72{bottom:69.755000px;}
.y118{bottom:69.798000px;}
.y4d{bottom:70.000000px;}
.y1eb{bottom:70.058000px;}
.y1d3{bottom:70.137000px;}
.yf9{bottom:70.761000px;}
.y236{bottom:71.013000px;}
.y148{bottom:71.172000px;}
.yab{bottom:71.468000px;}
.ye6{bottom:71.660000px;}
.yb4{bottom:72.225000px;}
.y1c0{bottom:72.435000px;}
.y174{bottom:73.086000px;}
.yd9{bottom:73.271000px;}
.y23e{bottom:73.585000px;}
.y5a{bottom:73.595000px;}
.y7e{bottom:74.253000px;}
.y214{bottom:74.537000px;}
.y9f{bottom:74.776000px;}
.yd1{bottom:75.146000px;}
.yd{bottom:76.148000px;}
.y36{bottom:76.409000px;}
.y132{bottom:76.444000px;}
.y200{bottom:76.553000px;}
.y8a{bottom:76.788000px;}
.y252{bottom:76.982000px;}
.y168{bottom:77.042000px;}
.y1c7{bottom:77.321000px;}
.y25{bottom:77.480000px;}
.y42{bottom:77.796000px;}
.y1f5{bottom:78.387000px;}
.y230{bottom:78.997000px;}
.yee{bottom:79.403000px;}
.y1a1{bottom:79.412000px;}
.y1b9{bottom:79.897000px;}
.y92{bottom:80.135000px;}
.y1de{bottom:80.506000px;}
.y122{bottom:80.733000px;}
.y1af{bottom:81.197000px;}
.y15d{bottom:81.511000px;}
.y13a{bottom:81.580000px;}
.y21b{bottom:81.829000px;}
.y18a{bottom:81.951000px;}
.y147{bottom:82.056000px;}
.y71{bottom:82.358000px;}
.y117{bottom:82.401000px;}
.y1d2{bottom:82.740000px;}
.y67{bottom:82.796000px;}
.ybe{bottom:82.828000px;}
.y19{bottom:82.940000px;}
.y12b{bottom:83.563000px;}
.y2d{bottom:83.575000px;}
.ye5{bottom:84.263000px;}
.y227{bottom:84.393000px;}
.yb3{bottom:84.828000px;}
.y10e{bottom:84.853000px;}
.y1e9{bottom:85.614000px;}
.y102{bottom:85.899000px;}
.y153{bottom:85.984000px;}
.y23d{bottom:86.188000px;}
.y1fc{bottom:86.487000px;}
.y235{bottom:86.595000px;}
.y7d{bottom:86.856000px;}
.y9e{bottom:87.379000px;}
.yfe{bottom:87.508000px;}
.yd0{bottom:87.749000px;}
.y246{bottom:88.898000px;}
.y131{bottom:89.046000px;}
.yc5{bottom:89.116000px;}
.y1ea{bottom:89.229000px;}
.y251{bottom:89.585000px;}
.y199{bottom:91.159000px;}
.y4c{bottom:91.534000px;}
.y41{bottom:91.544000px;}
.y195{bottom:92.006000px;}
.y173{bottom:92.015000px;}
.y1b8{bottom:92.499000px;}
.y167{bottom:92.624000px;}
.y146{bottom:92.940000px;}
.y121{bottom:93.336000px;}
.y1ae{bottom:93.799000px;}
.yd8{bottom:93.834000px;}
.y1f4{bottom:93.968000px;}
.y21a{bottom:94.432000px;}
.y189{bottom:94.553000px;}
.y22f{bottom:94.579000px;}
.y1d1{bottom:95.342000px;}
.yc{bottom:95.351000px;}
.y1ff{bottom:95.523000px;}
.yf8{bottom:95.966000px;}
.y15c{bottom:96.106000px;}
.y12a{bottom:96.166000px;}
.y2c{bottom:96.177000px;}
.y12{bottom:96.596000px;}
.ye4{bottom:96.865000px;}
.y226{bottom:96.996000px;}
.yb2{bottom:97.430000px;}
.y10d{bottom:97.456000px;}
.yaa{bottom:97.600000px;}
.y1bf{bottom:97.640000px;}
.y35{bottom:97.943000px;}
.y66{bottom:98.378000px;}
.y59{bottom:98.800000px;}
.y7c{bottom:99.458000px;}
.y152{bottom:99.732000px;}
.y213{bottom:99.757000px;}
.y1dd{bottom:99.975000px;}
.y9d{bottom:99.981000px;}
.y20b{bottom:100.019000px;}
.ycf{bottom:100.352000px;}
.y101{bottom:101.481000px;}
.y245{bottom:101.501000px;}
.y89{bottom:101.994000px;}
.y18{bottom:102.143000px;}
.y250{bottom:102.188000px;}
.y116{bottom:102.227000px;}
.y91{bottom:103.029000px;}
.y17e{bottom:103.762000px;}
.y145{bottom:103.824000px;}
.y97{bottom:103.877000px;}
.y194{bottom:104.608000px;}
.y172{bottom:104.617000px;}
.yc4{bottom:104.698000px;}
.y1c6{bottom:104.858000px;}
.y1fb{bottom:105.057000px;}
.y1b7{bottom:105.102000px;}
.y4b{bottom:105.283000px;}
.y1e8{bottom:105.315000px;}
.y24{bottom:105.475000px;}
.y120{bottom:105.939000px;}
.y40{bottom:106.264000px;}
.y1ad{bottom:106.402000px;}
.y139{bottom:106.785000px;}
.y219{bottom:107.035000px;}
.y70{bottom:107.563000px;}
.yfd{bottom:108.544000px;}
.yf7{bottom:108.569000px;}
.y129{bottom:108.768000px;}
.yed{bottom:108.843000px;}
.ye3{bottom:109.468000px;}
.y225{bottom:109.599000px;}
.y10c{bottom:110.058000px;}
.y22e{bottom:110.160000px;}
.ya9{bottom:110.203000px;}
.y1be{bottom:110.243000px;}
.y212{bottom:110.641000px;}
.y20a{bottom:110.903000px;}
.y1fe{bottom:111.104000px;}
.y23c{bottom:111.393000px;}
.y58{bottom:111.403000px;}
.y34{bottom:111.692000px;}
.y130{bottom:111.851000px;}
.y7b{bottom:112.061000px;}
.y234{bottom:112.139000px;}
.y166{bottom:113.187000px;}
.y65{bottom:113.959000px;}
.y244{bottom:114.103000px;}
.yd7{bottom:114.397000px;}
.yb{bottom:114.554000px;}
.y24f{bottom:114.790000px;}
.ybd{bottom:114.823000px;}
.y11{bottom:115.799000px;}
.y17d{bottom:116.365000px;}
.y90{bottom:116.778000px;}
.y4{bottom:117.135000px;}
.y1f3{bottom:117.201000px;}
.y193{bottom:117.211000px;}
.y171{bottom:117.220000px;}
.y1dc{bottom:117.346000px;}
.y1b6{bottom:117.705000px;}
.y115{bottom:117.808000px;}
.y11f{bottom:118.542000px;}
.y151{bottom:118.935000px;}
.y1ac{bottom:119.005000px;}
.y4a{bottom:119.031000px;}
.y138{bottom:119.388000px;}
.y218{bottom:119.637000px;}
.y188{bottom:119.759000px;}
.y1c5{bottom:120.439000px;}
.y1d0{bottom:120.548000px;}
.y1fa{bottom:120.639000px;}
.y15b{bottom:120.664000px;}
.yf6{bottom:121.172000px;}
.y17{bottom:121.346000px;}
.y128{bottom:121.371000px;}
.y23{bottom:121.515000px;}
.y211{bottom:121.526000px;}
.y209{bottom:121.787000px;}
.ye2{bottom:122.071000px;}
.y224{bottom:122.201000px;}
.y2b{bottom:122.602000px;}
.yb1{bottom:122.636000px;}
.y10b{bottom:122.661000px;}
.y23b{bottom:123.996000px;}
.y57{bottom:124.005000px;}
.y88{bottom:124.335000px;}
.yec{bottom:124.424000px;}
.y7a{bottom:124.664000px;}
.y9c{bottom:125.187000px;}
.yc3{bottom:125.260000px;}
.yce{bottom:125.557000px;}
.y144{bottom:125.592000px;}
.y1e7{bottom:126.849000px;}
.y243{bottom:126.955000px;}
.y233{bottom:127.720000px;}
.y3f{bottom:127.798000px;}
.y33{bottom:128.404000px;}
.y165{bottom:128.768000px;}
.y17c{bottom:128.967000px;}
.y192{bottom:129.814000px;}
.y1a0{bottom:129.823000px;}
.y1b5{bottom:130.307000px;}
.ybc{bottom:130.404000px;}
.y11e{bottom:131.144000px;}
.y1ab{bottom:131.607000px;}
.y137{bottom:131.991000px;}
.y187{bottom:132.361000px;}
.y210{bottom:132.410000px;}
.y208{bottom:132.672000px;}
.y6f{bottom:132.768000px;}
.y49{bottom:132.779000px;}
.y1f2{bottom:132.989000px;}
.y1db{bottom:133.087000px;}
.y1cf{bottom:133.150000px;}
.ya{bottom:133.757000px;}
.y127{bottom:133.974000px;}
.y1bd{bottom:134.053000px;}
.ye1{bottom:134.673000px;}
.y223{bottom:134.804000px;}
.y10{bottom:135.002000px;}
.y10a{bottom:135.264000px;}
.ya8{bottom:135.408000px;}
.y8f{bottom:135.507000px;}
.yd6{bottom:135.931000px;}
.y143{bottom:136.476000px;}
.y24e{bottom:136.609000px;}
.y87{bottom:136.938000px;}
.ycd{bottom:138.160000px;}
.y2a{bottom:138.183000px;}
.y1f{bottom:138.248000px;}
.y15a{bottom:138.696000px;}
.y3{bottom:139.153000px;}
.y1f9{bottom:139.209000px;}
.y64{bottom:140.237000px;}
.y16{bottom:140.549000px;}
.yc2{bottom:140.842000px;}
.y3e{bottom:141.546000px;}
.y17b{bottom:141.570000px;}
.y1e6{bottom:142.005000px;}
.y191{bottom:142.416000px;}
.y170{bottom:142.425000px;}
.y19f{bottom:142.426000px;}
.yb0{bottom:142.461000px;}
.y20f{bottom:143.294000px;}
.y207{bottom:143.556000px;}
.y11d{bottom:143.747000px;}
.y1aa{bottom:144.210000px;}
.y164{bottom:144.350000px;}
.y186{bottom:144.964000px;}
.y79{bottom:144.987000px;}
.yfc{bottom:145.162000px;}
.y6e{bottom:145.371000px;}
.y22d{bottom:145.667000px;}
.y1ce{bottom:145.753000px;}
.y22{bottom:145.998000px;}
.yf5{bottom:146.377000px;}
.y48{bottom:146.528000px;}
.y12f{bottom:146.561000px;}
.y126{bottom:146.576000px;}
.ye0{bottom:147.276000px;}
.y222{bottom:147.407000px;}
.y109{bottom:147.866000px;}
.yeb{bottom:147.976000px;}
.ya7{bottom:148.011000px;}
.y1da{bottom:148.828000px;}
.ybb{bottom:148.974000px;}
.y23a{bottom:149.201000px;}
.y56{bottom:149.211000px;}
.y100{bottom:149.540000px;}
.y32{bottom:149.938000px;}
.y9b{bottom:149.994000px;}
.y1f1{bottom:150.584000px;}
.y150{bottom:150.990000px;}
.y114{bottom:152.519000px;}
.y9{bottom:152.960000px;}
.y232{bottom:153.265000px;}
.y17a{bottom:154.173000px;}
.y20e{bottom:154.178000px;}
.y8e{bottom:154.237000px;}
.y206{bottom:154.440000px;}
.y242{bottom:154.975000px;}
.y29{bottom:155.006000px;}
.y190{bottom:155.019000px;}
.y16f{bottom:155.028000px;}
.y1b4{bottom:155.513000px;}
.y1bc{bottom:155.587000px;}
.y63{bottom:155.818000px;}
.y3d{bottom:156.266000px;}
.y11c{bottom:156.350000px;}
.y1e5{bottom:157.161000px;}
.y136{bottom:157.196000px;}
.yd5{bottom:157.465000px;}
.y142{bottom:157.799000px;}
.yaf{bottom:158.043000px;}
.y1cd{bottom:158.356000px;}
.yf4{bottom:158.980000px;}
.y12e{bottom:159.164000px;}
.y15{bottom:159.752000px;}
.y163{bottom:159.931000px;}
.y221{bottom:160.009000px;}
.ya6{bottom:160.614000px;}
.y47{bottom:161.247000px;}
.y22c{bottom:161.248000px;}
.y239{bottom:161.804000px;}
.y55{bottom:161.813000px;}
.y86{bottom:162.143000px;}
.y1f8{bottom:163.234000px;}
.ycc{bottom:163.365000px;}
.yea{bottom:163.558000px;}
.yc1{bottom:163.662000px;}
.y1d9{bottom:164.569000px;}
.y20d{bottom:165.062000px;}
.y113{bottom:165.122000px;}
.y205{bottom:165.324000px;}
.y78{bottom:165.550000px;}
.y9a{bottom:165.575000px;}
.yfb{bottom:166.198000px;}
.y14f{bottom:166.571000px;}
.y31{bottom:166.650000px;}
.y159{bottom:166.691000px;}
.y198{bottom:166.775000px;}
.y18f{bottom:167.622000px;}
.y19e{bottom:167.631000px;}
.y1f0{bottom:168.179000px;}
.y231{bottom:168.846000px;}
.y1a9{bottom:169.415000px;}
.y108{bottom:169.685000px;}
.y185{bottom:170.169000px;}
.y241{bottom:170.556000px;}
.y6d{bottom:170.576000px;}
.y1cc{bottom:170.958000px;}
.y125{bottom:171.373000px;}
.y12d{bottom:171.767000px;}
.y8{bottom:172.163000px;}
.y1e4{bottom:172.317000px;}
.ydf{bottom:172.481000px;}
.y96{bottom:172.619000px;}
.y8d{bottom:172.967000px;}
.yba{bottom:172.999000px;}
.yd4{bottom:173.047000px;}
.ya5{bottom:173.216000px;}
.y141{bottom:173.540000px;}
.y24d{bottom:174.058000px;}
.y54{bottom:174.416000px;}
.yff{bottom:174.746000px;}
.y62{bottom:175.385000px;}
.y162{bottom:175.513000px;}
.y20c{bottom:175.946000px;}
.ycb{bottom:175.968000px;}
.y204{bottom:176.208000px;}
.y2{bottom:177.056000px;}
.y21{bottom:177.455000px;}
.y112{bottom:177.724000px;}
.y14{bottom:178.955000px;}
.y1bb{bottom:179.139000px;}
.y179{bottom:179.378000px;}
.y18e{bottom:180.224000px;}
.y16e{bottom:180.234000px;}
.yf3{bottom:180.798000px;}
.y3c{bottom:180.825000px;}
.y11b{bottom:181.156000px;}
.y6c{bottom:183.179000px;}
.y12c{bottom:184.369000px;}
.y158{bottom:184.723000px;}
.yde{bottom:185.084000px;}
.y28{bottom:185.151000px;}
.y220{bottom:185.215000px;}
.y1ef{bottom:185.774000px;}
.ya4{bottom:185.819000px;}
.y77{bottom:186.113000px;}
.y1d8{bottom:186.138000px;}
.y1b3{bottom:186.297000px;}
.y99{bottom:186.611000px;}
.y24c{bottom:186.661000px;}
.y53{bottom:187.019000px;}
.ye9{bottom:187.109000px;}
.y85{bottom:187.348000px;}
.y1e3{bottom:187.473000px;}
.y140{bottom:189.281000px;}
.y111{bottom:190.327000px;}
.y61{bottom:190.966000px;}
.y161{bottom:191.094000px;}
.yc0{bottom:191.425000px;}
.yd3{bottom:191.592000px;}
.y30{bottom:193.417000px;}
.y20{bottom:193.494000px;}
.y1cb{bottom:196.164000px;}
.yf2{bottom:196.379000px;}
.y3b{bottom:196.406000px;}
.y1{bottom:197.678000px;}
.ydd{bottom:197.687000px;}
.y13{bottom:198.158000px;}
.y184{bottom:198.165000px;}
.y1a8{bottom:198.207000px;}
.ya3{bottom:198.422000px;}
.yca{bottom:201.173000px;}
.y27{bottom:201.515000px;}
.y98{bottom:202.193000px;}
.ye8{bottom:202.691000px;}
.y16d{bottom:203.189000px;}
.y24b{bottom:204.494000px;}
.y13f{bottom:205.022000px;}
.y76{bottom:206.676000px;}
.y157{bottom:206.716000px;}
.y84{bottom:207.174000px;}
.y60{bottom:207.788000px;}
.y6b{bottom:208.384000px;}
.y110{bottom:210.153000px;}
.y52{bottom:212.224000px;}
.y2f{bottom:212.770000px;}
.y7{bottom:236.149000px;}
.y10f{bottom:240.488000px;}
.hb{height:19.359269px;}
.h17{height:20.921400px;}
.h13{height:22.093117px;}
.h11{height:22.124998px;}
.h9{height:23.910300px;}
.h16{height:24.818995px;}
.hf{height:24.890726px;}
.hd{height:25.285248px;}
.h10{height:26.899200px;}
.ha{height:27.576477px;}
.h6{height:29.887800px;}
.h14{height:30.196389px;}
.he{height:30.283662px;}
.h12{height:30.763662px;}
.hc{height:32.727300px;}
.h18{height:33.091994px;}
.h5{height:33.665843px;}
.h15{height:34.072320px;}
.h7{height:35.865600px;}
.h4{height:40.456284px;}
.h8{height:43.038600px;}
.h3{height:58.268250px;}
.h2{height:74.361300px;}
.h0{height:255.118000px;}
.h1{height:255.500000px;}
.w0{width:453.543000px;}
.w1{width:454.000000px;}
.x0{left:0.000000px;}
.x2d{left:8.954000px;}
.x4{left:10.667000px;}
.x29{left:16.167000px;}
.x2c{left:22.942000px;}
.x1{left:28.346000px;}
.xc{left:31.983000px;}
.x2a{left:33.076000px;}
.x5{left:34.488000px;}
.xb{left:35.605000px;}
.xe{left:36.961000px;}
.x31{left:38.791000px;}
.x12{left:41.530000px;}
.x20{left:43.800000px;}
.x11{left:45.457000px;}
.x19{left:48.272000px;}
.x6{left:50.486000px;}
.x16{left:53.153000px;}
.x33{left:59.579000px;}
.x27{left:63.749000px;}
.x1a{left:65.208000px;}
.x28{left:66.738000px;}
.x17{left:67.945000px;}
.x14{left:68.994000px;}
.x35{left:71.983000px;}
.x1b{left:73.079000px;}
.x13{left:78.160000px;}
.x1d{left:80.380000px;}
.x37{left:81.634000px;}
.x22{left:87.823000px;}
.x1c{left:90.994000px;}
.x18{left:97.238000px;}
.x26{left:102.471000px;}
.xa{left:106.772000px;}
.x1e{left:108.512000px;}
.x9{left:116.849000px;}
.x2{left:118.687000px;}
.x1f{left:121.058000px;}
.xd{left:144.311000px;}
.x24{left:153.058000px;}
.x23{left:156.831000px;}
.x8{left:167.345000px;}
.x36{left:173.449000px;}
.x10{left:177.263000px;}
.x2e{left:187.632000px;}
.x32{left:190.795000px;}
.x2f{left:204.569000px;}
.x30{left:221.505000px;}
.x21{left:252.580000px;}
.x34{left:261.995000px;}
.x2b{left:272.974000px;}
.x15{left:323.190000px;}
.x25{left:342.020000px;}
.x3{left:378.705000px;}
.xf{left:424.403000px;}
.x7{left:428.637000px;}
@media print{
.v0{vertical-align:0.000000pt;}
.ls0{letter-spacing:0.000000pt;}
.ws0{word-spacing:0.000000pt;}
._7{margin-left:-5.866018pt;}
._e{margin-left:-4.410111pt;}
._5{margin-left:-1.759801pt;}
._c{width:2.371905pt;}
._0{width:4.098134pt;}
._28{width:5.921840pt;}
._21{width:8.320819pt;}
._1d{width:15.116345pt;}
._d{width:16.484235pt;}
._a{width:18.018764pt;}
._f{width:19.485390pt;}
._6{width:20.824359pt;}
._8{width:23.400311pt;}
._10{width:25.106987pt;}
._b{width:27.468191pt;}
._4{width:28.921939pt;}
._13{width:30.545480pt;}
._1c{width:31.926038pt;}
._22{width:33.378918pt;}
._12{width:34.810905pt;}
._1e{width:36.245736pt;}
._34{width:37.605289pt;}
._3{width:41.655600pt;}
._9{width:43.224373pt;}
._24{width:45.154290pt;}
._1{width:48.384419pt;}
._16{width:50.208213pt;}
._2{width:54.438800pt;}
._32{width:58.180816pt;}
._1f{width:75.318400pt;}
._33{width:83.638579pt;}
._18{width:100.425813pt;}
._31{width:106.759779pt;}
._2b{width:112.907993pt;}
._1a{width:125.524267pt;}
._2f{width:133.897680pt;}
._17{width:150.631893pt;}
._2e{width:157.456221pt;}
._2d{width:159.105090pt;}
._15{width:175.737813pt;}
._30{width:178.586142pt;}
._23{width:180.055428pt;}
._14{width:200.843733pt;}
._20{width:225.951147pt;}
._27{width:251.051733pt;}
._11{width:301.266560pt;}
._44{width:326.374827pt;}
._43{width:376.586880pt;}
._36{width:426.797653pt;}
._1b{width:451.904640pt;}
._35{width:477.011413pt;}
._3b{width:502.117333pt;}
._39{width:527.214293pt;}
._2c{width:721.806780pt;}
._3e{width:778.282453pt;}
._41{width:803.389440pt;}
._3d{width:903.813120pt;}
._25{width:967.115092pt;}
._40{width:1054.446507pt;}
._37{width:1079.550080pt;}
._19{width:1124.400901pt;}
._3c{width:1154.872320pt;}
._2a{width:1237.581491pt;}
._26{width:1324.980450pt;}
._3a{width:1345.804834pt;}
._42{width:1431.037440pt;}
._38{width:1467.767009pt;}
._3f{width:1506.355200pt;}
._29{width:1767.290991pt;}
.fs6{font-size:37.193600pt;}
.fs5{font-size:42.507200pt;}
.fs8{font-size:47.820800pt;}
.fs4{font-size:53.133867pt;}
.fs7{font-size:58.181867pt;}
.fs3{font-size:63.761067pt;}
.fs2{font-size:76.513067pt;}
.fs1{font-size:110.200000pt;}
.fs0{font-size:132.197867pt;}
.y0{bottom:-0.666667pt;}
.y75{bottom:6.730667pt;}
.y51{bottom:7.037333pt;}
.y46{bottom:7.050667pt;}
.y16c{bottom:7.666667pt;}
.yc9{bottom:7.778667pt;}
.y14e{bottom:7.822667pt;}
.y203{bottom:8.920000pt;}
.y1ee{bottom:9.277333pt;}
.y1d7{bottom:9.498667pt;}
.y3a{bottom:10.269333pt;}
.y1b2{bottom:10.596000pt;}
.y1a7{bottom:10.873333pt;}
.yb9{bottom:12.282667pt;}
.y5f{bottom:14.108000pt;}
.y217{bottom:14.381333pt;}
.y1c4{bottom:14.853333pt;}
.y83{bottom:14.985333pt;}
.y197{bottom:15.105333pt;}
.ydc{bottom:15.444000pt;}
.y19d{bottom:15.517333pt;}
.yf{bottom:17.357333pt;}
.y24a{bottom:17.709333pt;}
.y178{bottom:18.809333pt;}
.y95{bottom:19.773333pt;}
.y160{bottom:20.610667pt;}
.y107{bottom:20.884000pt;}
.yf1{bottom:21.853333pt;}
.y14d{bottom:22.334667pt;}
.y1e2{bottom:23.324000pt;}
.y13e{bottom:24.754667pt;}
.y1ca{bottom:24.829333pt;}
.yae{bottom:25.028000pt;}
.y21f{bottom:25.088000pt;}
.y50{bottom:25.368000pt;}
.y183{bottom:25.473333pt;}
.y45{bottom:26.677333pt;}
.y22b{bottom:28.506667pt;}
.y39{bottom:28.601333pt;}
.y1ed{bottom:28.737333pt;}
.yb8{bottom:29.085333pt;}
.y6a{bottom:30.438667pt;}
.y5e{bottom:30.912000pt;}
.y16b{bottom:31.098667pt;}
.y216{bottom:31.185333pt;}
.y1a5{bottom:31.561333pt;}
.y82{bottom:31.789333pt;}
.ya2{bottom:32.486667pt;}
.y74{bottom:32.898667pt;}
.y1c{bottom:33.774667pt;}
.y249{bottom:34.513333pt;}
.y135{bottom:34.710667pt;}
.y8c{bottom:35.170667pt;}
.y19c{bottom:36.292000pt;}
.y14c{bottom:36.846667pt;}
.y106{bottom:37.686667pt;}
.y1e{bottom:38.596000pt;}
.y1a6{bottom:38.668000pt;}
.y1e1{bottom:40.126667pt;}
.y13d{bottom:41.558667pt;}
.yc8{bottom:41.917333pt;}
.y182{bottom:42.276000pt;}
.ydb{bottom:42.861333pt;}
.y1d6{bottom:43.105333pt;}
.y177{bottom:44.048000pt;}
.y4f{bottom:44.994667pt;}
.y22a{bottom:45.310667pt;}
.y1c9{bottom:45.604000pt;}
.yad{bottom:45.804000pt;}
.yb7{bottom:45.889333pt;}
.y1c3{bottom:46.169333pt;}
.y1f7{bottom:47.025333pt;}
.y240{bottom:47.702667pt;}
.y5d{bottom:47.716000pt;}
.y81{bottom:48.593333pt;}
.y94{bottom:48.797333pt;}
.y196{bottom:49.244000pt;}
.y15f{bottom:49.270667pt;}
.ya1{bottom:49.290667pt;}
.y73{bottom:49.702667pt;}
.y38{bottom:50.884000pt;}
.y69{bottom:51.214667pt;}
.y14b{bottom:51.358667pt;}
.y134{bottom:51.514667pt;}
.y156{bottom:51.564000pt;}
.y16a{bottom:51.874667pt;}
.y105{bottom:54.490667pt;}
.y44{bottom:55.389333pt;}
.yf0{bottom:55.460000pt;}
.y1a4{bottom:55.472000pt;}
.y238{bottom:56.796000pt;}
.y1e0{bottom:56.930667pt;}
.y124{bottom:57.233333pt;}
.y6{bottom:57.414667pt;}
.y13c{bottom:58.362667pt;}
.y21e{bottom:58.694667pt;}
.y18d{bottom:58.857333pt;}
.y181{bottom:59.080000pt;}
.y1b{bottom:59.378667pt;}
.y11a{bottom:59.457333pt;}
.y1d5{bottom:59.909333pt;}
.y176{bottom:60.852000pt;}
.y229{bottom:62.113333pt;}
.yc7{bottom:62.692000pt;}
.yb6{bottom:62.693333pt;}
.y1c2{bottom:62.972000pt;}
.y1d{bottom:64.200000pt;}
.y23f{bottom:64.506667pt;}
.y5c{bottom:64.518667pt;}
.y80{bottom:65.397333pt;}
.y14a{bottom:65.870667pt;}
.y26{bottom:65.980000pt;}
.ya0{bottom:66.094667pt;}
.yac{bottom:66.578667pt;}
.yd2{bottom:66.588000pt;}
.y1f6{bottom:67.800000pt;}
.y248{bottom:68.120000pt;}
.y202{bottom:68.462667pt;}
.y8b{bottom:68.777333pt;}
.y254{bottom:69.036000pt;}
.yda{bottom:70.278667pt;}
.y155{bottom:71.094667pt;}
.y19b{bottom:71.134667pt;}
.y104{bottom:71.294667pt;}
.y1ec{bottom:71.936000pt;}
.y1a3{bottom:72.276000pt;}
.y1ba{bottom:72.921333pt;}
.y68{bottom:73.032000pt;}
.y237{bottom:73.598667pt;}
.y4e{bottom:73.706667pt;}
.y1df{bottom:73.734667pt;}
.y1b1{bottom:74.654667pt;}
.y43{bottom:75.014667pt;}
.y21d{bottom:75.498667pt;}
.y18c{bottom:75.660000pt;}
.y180{bottom:75.884000pt;}
.ye{bottom:75.926667pt;}
.y119{bottom:76.261333pt;}
.y1d4{bottom:76.712000pt;}
.yfa{bottom:77.544000pt;}
.y175{bottom:77.656000pt;}
.y93{bottom:77.821333pt;}
.y2e{bottom:77.825333pt;}
.y215{bottom:78.608000pt;}
.ye7{bottom:78.742667pt;}
.y228{bottom:78.917333pt;}
.y169{bottom:79.290667pt;}
.yb5{bottom:79.496000pt;}
.y37{bottom:79.596000pt;}
.y5{bottom:79.648000pt;}
.y1c1{bottom:79.776000pt;}
.y149{bottom:80.384000pt;}
.y5b{bottom:81.322667pt;}
.y7f{bottom:82.200000pt;}
.y1c8{bottom:82.320000pt;}
.y247{bottom:84.924000pt;}
.y1a{bottom:84.982667pt;}
.y133{bottom:85.121333pt;}
.y201{bottom:85.266667pt;}
.y253{bottom:85.840000pt;}
.y19a{bottom:87.938667pt;}
.y103{bottom:88.097333pt;}
.yef{bottom:89.066667pt;}
.y1a2{bottom:89.078667pt;}
.ybf{bottom:89.661333pt;}
.y1fd{bottom:90.556000pt;}
.y154{bottom:90.625333pt;}
.y123{bottom:90.841333pt;}
.yc6{bottom:91.404000pt;}
.y1b0{bottom:91.458667pt;}
.y15e{bottom:91.877333pt;}
.y13b{bottom:91.969333pt;}
.y21c{bottom:92.302667pt;}
.y18b{bottom:92.464000pt;}
.y17f{bottom:92.686667pt;}
.y72{bottom:93.006667pt;}
.y118{bottom:93.064000pt;}
.y4d{bottom:93.333333pt;}
.y1eb{bottom:93.410667pt;}
.y1d3{bottom:93.516000pt;}
.yf9{bottom:94.348000pt;}
.y236{bottom:94.684000pt;}
.y148{bottom:94.896000pt;}
.yab{bottom:95.290667pt;}
.ye6{bottom:95.546667pt;}
.yb4{bottom:96.300000pt;}
.y1c0{bottom:96.580000pt;}
.y174{bottom:97.448000pt;}
.yd9{bottom:97.694667pt;}
.y23e{bottom:98.113333pt;}
.y5a{bottom:98.126667pt;}
.y7e{bottom:99.004000pt;}
.y214{bottom:99.382667pt;}
.y9f{bottom:99.701333pt;}
.yd1{bottom:100.194667pt;}
.yd{bottom:101.530667pt;}
.y36{bottom:101.878667pt;}
.y132{bottom:101.925333pt;}
.y200{bottom:102.070667pt;}
.y8a{bottom:102.384000pt;}
.y252{bottom:102.642667pt;}
.y168{bottom:102.722667pt;}
.y1c7{bottom:103.094667pt;}
.y25{bottom:103.306667pt;}
.y42{bottom:103.728000pt;}
.y1f5{bottom:104.516000pt;}
.y230{bottom:105.329333pt;}
.yee{bottom:105.870667pt;}
.y1a1{bottom:105.882667pt;}
.y1b9{bottom:106.529333pt;}
.y92{bottom:106.846667pt;}
.y1de{bottom:107.341333pt;}
.y122{bottom:107.644000pt;}
.y1af{bottom:108.262667pt;}
.y15d{bottom:108.681333pt;}
.y13a{bottom:108.773333pt;}
.y21b{bottom:109.105333pt;}
.y18a{bottom:109.268000pt;}
.y147{bottom:109.408000pt;}
.y71{bottom:109.810667pt;}
.y117{bottom:109.868000pt;}
.y1d2{bottom:110.320000pt;}
.y67{bottom:110.394667pt;}
.ybe{bottom:110.437333pt;}
.y19{bottom:110.586667pt;}
.y12b{bottom:111.417333pt;}
.y2d{bottom:111.433333pt;}
.ye5{bottom:112.350667pt;}
.y227{bottom:112.524000pt;}
.yb3{bottom:113.104000pt;}
.y10e{bottom:113.137333pt;}
.y1e9{bottom:114.152000pt;}
.y102{bottom:114.532000pt;}
.y153{bottom:114.645333pt;}
.y23d{bottom:114.917333pt;}
.y1fc{bottom:115.316000pt;}
.y235{bottom:115.460000pt;}
.y7d{bottom:115.808000pt;}
.y9e{bottom:116.505333pt;}
.yfe{bottom:116.677333pt;}
.yd0{bottom:116.998667pt;}
.y246{bottom:118.530667pt;}
.y131{bottom:118.728000pt;}
.yc5{bottom:118.821333pt;}
.y1ea{bottom:118.972000pt;}
.y251{bottom:119.446667pt;}
.y199{bottom:121.545333pt;}
.y4c{bottom:122.045333pt;}
.y41{bottom:122.058667pt;}
.y195{bottom:122.674667pt;}
.y173{bottom:122.686667pt;}
.y1b8{bottom:123.332000pt;}
.y167{bottom:123.498667pt;}
.y146{bottom:123.920000pt;}
.y121{bottom:124.448000pt;}
.y1ae{bottom:125.065333pt;}
.yd8{bottom:125.112000pt;}
.y1f4{bottom:125.290667pt;}
.y21a{bottom:125.909333pt;}
.y189{bottom:126.070667pt;}
.y22f{bottom:126.105333pt;}
.y1d1{bottom:127.122667pt;}
.yc{bottom:127.134667pt;}
.y1ff{bottom:127.364000pt;}
.yf8{bottom:127.954667pt;}
.y15c{bottom:128.141333pt;}
.y12a{bottom:128.221333pt;}
.y2c{bottom:128.236000pt;}
.y12{bottom:128.794667pt;}
.ye4{bottom:129.153333pt;}
.y226{bottom:129.328000pt;}
.yb2{bottom:129.906667pt;}
.y10d{bottom:129.941333pt;}
.yaa{bottom:130.133333pt;}
.y1bf{bottom:130.186667pt;}
.y35{bottom:130.590667pt;}
.y66{bottom:131.170667pt;}
.y59{bottom:131.733333pt;}
.y7c{bottom:132.610667pt;}
.y152{bottom:132.976000pt;}
.y213{bottom:133.009333pt;}
.y1dd{bottom:133.300000pt;}
.y9d{bottom:133.308000pt;}
.y20b{bottom:133.358667pt;}
.ycf{bottom:133.802667pt;}
.y101{bottom:135.308000pt;}
.y245{bottom:135.334667pt;}
.y89{bottom:135.992000pt;}
.y18{bottom:136.190667pt;}
.y250{bottom:136.250667pt;}
.y116{bottom:136.302667pt;}
.y91{bottom:137.372000pt;}
.y17e{bottom:138.349333pt;}
.y145{bottom:138.432000pt;}
.y97{bottom:138.502667pt;}
.y194{bottom:139.477333pt;}
.y172{bottom:139.489333pt;}
.yc4{bottom:139.597333pt;}
.y1c6{bottom:139.810667pt;}
.y1fb{bottom:140.076000pt;}
.y1b7{bottom:140.136000pt;}
.y4b{bottom:140.377333pt;}
.y1e8{bottom:140.420000pt;}
.y24{bottom:140.633333pt;}
.y120{bottom:141.252000pt;}
.y40{bottom:141.685333pt;}
.y1ad{bottom:141.869333pt;}
.y139{bottom:142.380000pt;}
.y219{bottom:142.713333pt;}
.y70{bottom:143.417333pt;}
.yfd{bottom:144.725333pt;}
.yf7{bottom:144.758667pt;}
.y129{bottom:145.024000pt;}
.yed{bottom:145.124000pt;}
.ye3{bottom:145.957333pt;}
.y225{bottom:146.132000pt;}
.y10c{bottom:146.744000pt;}
.y22e{bottom:146.880000pt;}
.ya9{bottom:146.937333pt;}
.y1be{bottom:146.990667pt;}
.y212{bottom:147.521333pt;}
.y20a{bottom:147.870667pt;}
.y1fe{bottom:148.138667pt;}
.y23c{bottom:148.524000pt;}
.y58{bottom:148.537333pt;}
.y34{bottom:148.922667pt;}
.y130{bottom:149.134667pt;}
.y7b{bottom:149.414667pt;}
.y234{bottom:149.518667pt;}
.y166{bottom:150.916000pt;}
.y65{bottom:151.945333pt;}
.y244{bottom:152.137333pt;}
.yd7{bottom:152.529333pt;}
.yb{bottom:152.738667pt;}
.y24f{bottom:153.053333pt;}
.ybd{bottom:153.097333pt;}
.y11{bottom:154.398667pt;}
.y17d{bottom:155.153333pt;}
.y90{bottom:155.704000pt;}
.y4{bottom:156.180000pt;}
.y1f3{bottom:156.268000pt;}
.y193{bottom:156.281333pt;}
.y171{bottom:156.293333pt;}
.y1dc{bottom:156.461333pt;}
.y1b6{bottom:156.940000pt;}
.y115{bottom:157.077333pt;}
.y11f{bottom:158.056000pt;}
.y151{bottom:158.580000pt;}
.y1ac{bottom:158.673333pt;}
.y4a{bottom:158.708000pt;}
.y138{bottom:159.184000pt;}
.y218{bottom:159.516000pt;}
.y188{bottom:159.678667pt;}
.y1c5{bottom:160.585333pt;}
.y1d0{bottom:160.730667pt;}
.y1fa{bottom:160.852000pt;}
.y15b{bottom:160.885333pt;}
.yf6{bottom:161.562667pt;}
.y17{bottom:161.794667pt;}
.y128{bottom:161.828000pt;}
.y23{bottom:162.020000pt;}
.y211{bottom:162.034667pt;}
.y209{bottom:162.382667pt;}
.ye2{bottom:162.761333pt;}
.y224{bottom:162.934667pt;}
.y2b{bottom:163.469333pt;}
.yb1{bottom:163.514667pt;}
.y10b{bottom:163.548000pt;}
.y23b{bottom:165.328000pt;}
.y57{bottom:165.340000pt;}
.y88{bottom:165.780000pt;}
.yec{bottom:165.898667pt;}
.y7a{bottom:166.218667pt;}
.y9c{bottom:166.916000pt;}
.yc3{bottom:167.013333pt;}
.yce{bottom:167.409333pt;}
.y144{bottom:167.456000pt;}
.y1e7{bottom:169.132000pt;}
.y243{bottom:169.273333pt;}
.y233{bottom:170.293333pt;}
.y3f{bottom:170.397333pt;}
.y33{bottom:171.205333pt;}
.y165{bottom:171.690667pt;}
.y17c{bottom:171.956000pt;}
.y192{bottom:173.085333pt;}
.y1a0{bottom:173.097333pt;}
.y1b5{bottom:173.742667pt;}
.ybc{bottom:173.872000pt;}
.y11e{bottom:174.858667pt;}
.y1ab{bottom:175.476000pt;}
.y137{bottom:175.988000pt;}
.y187{bottom:176.481333pt;}
.y210{bottom:176.546667pt;}
.y208{bottom:176.896000pt;}
.y6f{bottom:177.024000pt;}
.y49{bottom:177.038667pt;}
.y1f2{bottom:177.318667pt;}
.y1db{bottom:177.449333pt;}
.y1cf{bottom:177.533333pt;}
.ya{bottom:178.342667pt;}
.y127{bottom:178.632000pt;}
.y1bd{bottom:178.737333pt;}
.ye1{bottom:179.564000pt;}
.y223{bottom:179.738667pt;}
.y10{bottom:180.002667pt;}
.y10a{bottom:180.352000pt;}
.ya8{bottom:180.544000pt;}
.y8f{bottom:180.676000pt;}
.yd6{bottom:181.241333pt;}
.y143{bottom:181.968000pt;}
.y24e{bottom:182.145333pt;}
.y87{bottom:182.584000pt;}
.ycd{bottom:184.213333pt;}
.y2a{bottom:184.244000pt;}
.y1f{bottom:184.330667pt;}
.y15a{bottom:184.928000pt;}
.y3{bottom:185.537333pt;}
.y1f9{bottom:185.612000pt;}
.y64{bottom:186.982667pt;}
.y16{bottom:187.398667pt;}
.yc2{bottom:187.789333pt;}
.y3e{bottom:188.728000pt;}
.y17b{bottom:188.760000pt;}
.y1e6{bottom:189.340000pt;}
.y191{bottom:189.888000pt;}
.y170{bottom:189.900000pt;}
.y19f{bottom:189.901333pt;}
.yb0{bottom:189.948000pt;}
.y20f{bottom:191.058667pt;}
.y207{bottom:191.408000pt;}
.y11d{bottom:191.662667pt;}
.y1aa{bottom:192.280000pt;}
.y164{bottom:192.466667pt;}
.y186{bottom:193.285333pt;}
.y79{bottom:193.316000pt;}
.yfc{bottom:193.549333pt;}
.y6e{bottom:193.828000pt;}
.y22d{bottom:194.222667pt;}
.y1ce{bottom:194.337333pt;}
.y22{bottom:194.664000pt;}
.yf5{bottom:195.169333pt;}
.y48{bottom:195.370667pt;}
.y12f{bottom:195.414667pt;}
.y126{bottom:195.434667pt;}
.ye0{bottom:196.368000pt;}
.y222{bottom:196.542667pt;}
.y109{bottom:197.154667pt;}
.yeb{bottom:197.301333pt;}
.ya7{bottom:197.348000pt;}
.y1da{bottom:198.437333pt;}
.ybb{bottom:198.632000pt;}
.y23a{bottom:198.934667pt;}
.y56{bottom:198.948000pt;}
.y100{bottom:199.386667pt;}
.y32{bottom:199.917333pt;}
.y9b{bottom:199.992000pt;}
.y1f1{bottom:200.778667pt;}
.y150{bottom:201.320000pt;}
.y114{bottom:203.358667pt;}
.y9{bottom:203.946667pt;}
.y232{bottom:204.353333pt;}
.y17a{bottom:205.564000pt;}
.y20e{bottom:205.570667pt;}
.y8e{bottom:205.649333pt;}
.y206{bottom:205.920000pt;}
.y242{bottom:206.633333pt;}
.y29{bottom:206.674667pt;}
.y190{bottom:206.692000pt;}
.y16f{bottom:206.704000pt;}
.y1b4{bottom:207.350667pt;}
.y1bc{bottom:207.449333pt;}
.y63{bottom:207.757333pt;}
.y3d{bottom:208.354667pt;}
.y11c{bottom:208.466667pt;}
.y1e5{bottom:209.548000pt;}
.y136{bottom:209.594667pt;}
.yd5{bottom:209.953333pt;}
.y142{bottom:210.398667pt;}
.yaf{bottom:210.724000pt;}
.y1cd{bottom:211.141333pt;}
.yf4{bottom:211.973333pt;}
.y12e{bottom:212.218667pt;}
.y15{bottom:213.002667pt;}
.y163{bottom:213.241333pt;}
.y221{bottom:213.345333pt;}
.ya6{bottom:214.152000pt;}
.y47{bottom:214.996000pt;}
.y22c{bottom:214.997333pt;}
.y239{bottom:215.738667pt;}
.y55{bottom:215.750667pt;}
.y86{bottom:216.190667pt;}
.y1f8{bottom:217.645333pt;}
.ycc{bottom:217.820000pt;}
.yea{bottom:218.077333pt;}
.yc1{bottom:218.216000pt;}
.y1d9{bottom:219.425333pt;}
.y20d{bottom:220.082667pt;}
.y113{bottom:220.162667pt;}
.y205{bottom:220.432000pt;}
.y78{bottom:220.733333pt;}
.y9a{bottom:220.766667pt;}
.yfb{bottom:221.597333pt;}
.y14f{bottom:222.094667pt;}
.y31{bottom:222.200000pt;}
.y159{bottom:222.254667pt;}
.y198{bottom:222.366667pt;}
.y18f{bottom:223.496000pt;}
.y19e{bottom:223.508000pt;}
.y1f0{bottom:224.238667pt;}
.y231{bottom:225.128000pt;}
.y1a9{bottom:225.886667pt;}
.y108{bottom:226.246667pt;}
.y185{bottom:226.892000pt;}
.y241{bottom:227.408000pt;}
.y6d{bottom:227.434667pt;}
.y1cc{bottom:227.944000pt;}
.y125{bottom:228.497333pt;}
.y12d{bottom:229.022667pt;}
.y8{bottom:229.550667pt;}
.y1e4{bottom:229.756000pt;}
.ydf{bottom:229.974667pt;}
.y96{bottom:230.158667pt;}
.y8d{bottom:230.622667pt;}
.yba{bottom:230.665333pt;}
.yd4{bottom:230.729333pt;}
.ya5{bottom:230.954667pt;}
.y141{bottom:231.386667pt;}
.y24d{bottom:232.077333pt;}
.y54{bottom:232.554667pt;}
.yff{bottom:232.994667pt;}
.y62{bottom:233.846667pt;}
.y162{bottom:234.017333pt;}
.y20c{bottom:234.594667pt;}
.ycb{bottom:234.624000pt;}
.y204{bottom:234.944000pt;}
.y2{bottom:236.074667pt;}
.y21{bottom:236.606667pt;}
.y112{bottom:236.965333pt;}
.y14{bottom:238.606667pt;}
.y1bb{bottom:238.852000pt;}
.y179{bottom:239.170667pt;}
.y18e{bottom:240.298667pt;}
.y16e{bottom:240.312000pt;}
.yf3{bottom:241.064000pt;}
.y3c{bottom:241.100000pt;}
.y11b{bottom:241.541333pt;}
.y6c{bottom:244.238667pt;}
.y12c{bottom:245.825333pt;}
.y158{bottom:246.297333pt;}
.yde{bottom:246.778667pt;}
.y28{bottom:246.868000pt;}
.y220{bottom:246.953333pt;}
.y1ef{bottom:247.698667pt;}
.ya4{bottom:247.758667pt;}
.y77{bottom:248.150667pt;}
.y1d8{bottom:248.184000pt;}
.y1b3{bottom:248.396000pt;}
.y99{bottom:248.814667pt;}
.y24c{bottom:248.881333pt;}
.y53{bottom:249.358667pt;}
.ye9{bottom:249.478667pt;}
.y85{bottom:249.797333pt;}
.y1e3{bottom:249.964000pt;}
.y140{bottom:252.374667pt;}
.y111{bottom:253.769333pt;}
.y61{bottom:254.621333pt;}
.y161{bottom:254.792000pt;}
.yc0{bottom:255.233333pt;}
.yd3{bottom:255.456000pt;}
.y30{bottom:257.889333pt;}
.y20{bottom:257.992000pt;}
.y1cb{bottom:261.552000pt;}
.yf2{bottom:261.838667pt;}
.y3b{bottom:261.874667pt;}
.y1{bottom:263.570667pt;}
.ydd{bottom:263.582667pt;}
.y13{bottom:264.210667pt;}
.y184{bottom:264.220000pt;}
.y1a8{bottom:264.276000pt;}
.ya3{bottom:264.562667pt;}
.yca{bottom:268.230667pt;}
.y27{bottom:268.686667pt;}
.y98{bottom:269.590667pt;}
.ye8{bottom:270.254667pt;}
.y16d{bottom:270.918667pt;}
.y24b{bottom:272.658667pt;}
.y13f{bottom:273.362667pt;}
.y76{bottom:275.568000pt;}
.y157{bottom:275.621333pt;}
.y84{bottom:276.232000pt;}
.y60{bottom:277.050667pt;}
.y6b{bottom:277.845333pt;}
.y110{bottom:280.204000pt;}
.y52{bottom:282.965333pt;}
.y2f{bottom:283.693333pt;}
.y7{bottom:314.865333pt;}
.y10f{bottom:320.650667pt;}
.hb{height:25.812358pt;}
.h17{height:27.895200pt;}
.h13{height:29.457490pt;}
.h11{height:29.499997pt;}
.h9{height:31.880400pt;}
.h16{height:33.091994pt;}
.hf{height:33.187635pt;}
.hd{height:33.713664pt;}
.h10{height:35.865600pt;}
.ha{height:36.768636pt;}
.h6{height:39.850400pt;}
.h14{height:40.261852pt;}
.he{height:40.378215pt;}
.h12{height:41.018216pt;}
.hc{height:43.636400pt;}
.h18{height:44.122658pt;}
.h5{height:44.887791pt;}
.h15{height:45.429760pt;}
.h7{height:47.820800pt;}
.h4{height:53.941712pt;}
.h8{height:57.384800pt;}
.h3{height:77.691000pt;}
.h2{height:99.148400pt;}
.h0{height:340.157333pt;}
.h1{height:340.666667pt;}
.w0{width:604.724000pt;}
.w1{width:605.333333pt;}
.x0{left:0.000000pt;}
.x2d{left:11.938667pt;}
.x4{left:14.222667pt;}
.x29{left:21.556000pt;}
.x2c{left:30.589333pt;}
.x1{left:37.794667pt;}
.xc{left:42.644000pt;}
.x2a{left:44.101333pt;}
.x5{left:45.984000pt;}
.xb{left:47.473333pt;}
.xe{left:49.281333pt;}
.x31{left:51.721333pt;}
.x12{left:55.373333pt;}
.x20{left:58.400000pt;}
.x11{left:60.609333pt;}
.x19{left:64.362667pt;}
.x6{left:67.314667pt;}
.x16{left:70.870667pt;}
.x33{left:79.438667pt;}
.x27{left:84.998667pt;}
.x1a{left:86.944000pt;}
.x28{left:88.984000pt;}
.x17{left:90.593333pt;}
.x14{left:91.992000pt;}
.x35{left:95.977333pt;}
.x1b{left:97.438667pt;}
.x13{left:104.213333pt;}
.x1d{left:107.173333pt;}
.x37{left:108.845333pt;}
.x22{left:117.097333pt;}
.x1c{left:121.325333pt;}
.x18{left:129.650667pt;}
.x26{left:136.628000pt;}
.xa{left:142.362667pt;}
.x1e{left:144.682667pt;}
.x9{left:155.798667pt;}
.x2{left:158.249333pt;}
.x1f{left:161.410667pt;}
.xd{left:192.414667pt;}
.x24{left:204.077333pt;}
.x23{left:209.108000pt;}
.x8{left:223.126667pt;}
.x36{left:231.265333pt;}
.x10{left:236.350667pt;}
.x2e{left:250.176000pt;}
.x32{left:254.393333pt;}
.x2f{left:272.758667pt;}
.x30{left:295.340000pt;}
.x21{left:336.773333pt;}
.x34{left:349.326667pt;}
.x2b{left:363.965333pt;}
.x15{left:430.920000pt;}
.x25{left:456.026667pt;}
.x3{left:504.940000pt;}
.xf{left:565.870667pt;}
.x7{left:571.516000pt;}
}
</style>
<script>
/*
Copyright 2012 Mozilla Foundation
Copyright 2013 Lu Wang <coolwanglu@gmail.com>
Apachine License Version 2.0
*/
(function(){function b(a,b,e,f){var c=(a.className||"").split(/\s+/g);""===c[0]&&c.shift();var d=c.indexOf(b);0>d&&e&&c.push(b);0<=d&&f&&c.splice(d,1);a.className=c.join(" ");return 0<=d}if(!("classList"in document.createElement("div"))){var e={add:function(a){b(this.element,a,!0,!1)},contains:function(a){return b(this.element,a,!1,!1)},remove:function(a){b(this.element,a,!1,!0)},toggle:function(a){b(this.element,a,!0,!0)}};Object.defineProperty(HTMLElement.prototype,"classList",{get:function(){if(this._classList)return this._classList;
var a=Object.create(e,{element:{value:this,writable:!1,enumerable:!0}});Object.defineProperty(this,"_classList",{value:a,writable:!1,enumerable:!1});return a},enumerable:!0})}})();
</script>
<script>
(function(){/*
pdf2htmlEX.js: Core UI functions for pdf2htmlEX
Copyright 2012,2013 Lu Wang <coolwanglu@gmail.com> and other contributors
https://github.com/pdf2htmlEX/pdf2htmlEX/blob/master/share/LICENSE
*/
var pdf2htmlEX=window.pdf2htmlEX=window.pdf2htmlEX||{},CSS_CLASS_NAMES={page_frame:"pf",page_content_box:"pc",page_data:"pi",background_image:"bi",link:"l",input_radio:"ir",__dummy__:"no comma"},DEFAULT_CONFIG={container_id:"page-container",sidebar_id:"sidebar",outline_id:"outline",loading_indicator_cls:"loading-indicator",preload_pages:3,render_timeout:100,scale_step:0.9,key_handler:!0,hashchange_handler:!0,view_history_handler:!0,__dummy__:"no comma"},EPS=1E-6;
function invert(a){var b=a[0]*a[3]-a[1]*a[2];return[a[3]/b,-a[1]/b,-a[2]/b,a[0]/b,(a[2]*a[5]-a[3]*a[4])/b,(a[1]*a[4]-a[0]*a[5])/b]}function transform(a,b){return[a[0]*b[0]+a[2]*b[1]+a[4],a[1]*b[0]+a[3]*b[1]+a[5]]}function get_page_number(a){return parseInt(a.getAttribute("data-page-no"),16)}function disable_dragstart(a){for(var b=0,c=a.length;b<c;++b)a[b].addEventListener("dragstart",function(){return!1},!1)}
function clone_and_extend_objs(a){for(var b={},c=0,e=arguments.length;c<e;++c){var h=arguments[c],d;for(d in h)h.hasOwnProperty(d)&&(b[d]=h[d])}return b}
function Page(a){if(a){this.shown=this.loaded=!1;this.page=a;this.num=get_page_number(a);this.original_height=a.clientHeight;this.original_width=a.clientWidth;var b=a.getElementsByClassName(CSS_CLASS_NAMES.page_content_box)[0];b&&(this.content_box=b,this.original_scale=this.cur_scale=this.original_height/b.clientHeight,this.page_data=JSON.parse(a.getElementsByClassName(CSS_CLASS_NAMES.page_data)[0].getAttribute("data-data")),this.ctm=this.page_data.ctm,this.ictm=invert(this.ctm),this.loaded=!0)}}
Page.prototype={hide:function(){this.loaded&&this.shown&&(this.content_box.classList.remove("opened"),this.shown=!1)},show:function(){this.loaded&&!this.shown&&(this.content_box.classList.add("opened"),this.shown=!0)},rescale:function(a){this.cur_scale=0===a?this.original_scale:a;this.loaded&&(a=this.content_box.style,a.msTransform=a.webkitTransform=a.transform="scale("+this.cur_scale.toFixed(3)+")");a=this.page.style;a.height=this.original_height*this.cur_scale+"px";a.width=this.original_width*this.cur_scale+
"px"},view_position:function(){var a=this.page,b=a.parentNode;return[b.scrollLeft-a.offsetLeft-a.clientLeft,b.scrollTop-a.offsetTop-a.clientTop]},height:function(){return this.page.clientHeight},width:function(){return this.page.clientWidth}};function Viewer(a){this.config=clone_and_extend_objs(DEFAULT_CONFIG,0<arguments.length?a:{});this.pages_loading=[];this.init_before_loading_content();var b=this;document.addEventListener("DOMContentLoaded",function(){b.init_after_loading_content()},!1)}
Viewer.prototype={scale:1,cur_page_idx:0,first_page_idx:0,init_before_loading_content:function(){this.pre_hide_pages()},initialize_radio_button:function(){for(var a=document.getElementsByClassName(CSS_CLASS_NAMES.input_radio),b=0;b<a.length;b++)a[b].addEventListener("click",function(){this.classList.toggle("checked")})},init_after_loading_content:function(){this.sidebar=document.getElementById(this.config.sidebar_id);this.outline=document.getElementById(this.config.outline_id);this.container=document.getElementById(this.config.container_id);
this.loading_indicator=document.getElementsByClassName(this.config.loading_indicator_cls)[0];for(var a=!0,b=this.outline.childNodes,c=0,e=b.length;c<e;++c)if("ul"===b[c].nodeName.toLowerCase()){a=!1;break}a||this.sidebar.classList.add("opened");this.find_pages();if(0!=this.pages.length){disable_dragstart(document.getElementsByClassName(CSS_CLASS_NAMES.background_image));this.config.key_handler&&this.register_key_handler();var h=this;this.config.hashchange_handler&&window.addEventListener("hashchange",
function(a){h.navigate_to_dest(document.location.hash.substring(1))},!1);this.config.view_history_handler&&window.addEventListener("popstate",function(a){a.state&&h.navigate_to_dest(a.state)},!1);this.container.addEventListener("scroll",function(){h.update_page_idx();h.schedule_render(!0)},!1);[this.container,this.outline].forEach(function(a){a.addEventListener("click",h.link_handler.bind(h),!1)});this.initialize_radio_button();this.render()}},find_pages:function(){for(var a=[],b={},c=this.container.childNodes,
e=0,h=c.length;e<h;++e){var d=c[e];d.nodeType===Node.ELEMENT_NODE&&d.classList.contains(CSS_CLASS_NAMES.page_frame)&&(d=new Page(d),a.push(d),b[d.num]=a.length-1)}this.pages=a;this.page_map=b},load_page:function(a,b,c){var e=this.pages;if(!(a>=e.length||(e=e[a],e.loaded||this.pages_loading[a]))){var e=e.page,h=e.getAttribute("data-page-url");if(h){this.pages_loading[a]=!0;var d=e.getElementsByClassName(this.config.loading_indicator_cls)[0];"undefined"===typeof d&&(d=this.loading_indicator.cloneNode(!0),
d.classList.add("active"),e.appendChild(d));var f=this,g=new XMLHttpRequest;g.open("GET",h,!0);g.onload=function(){if(200===g.status||0===g.status){var b=document.createElement("div");b.innerHTML=g.responseText;for(var d=null,b=b.childNodes,e=0,h=b.length;e<h;++e){var p=b[e];if(p.nodeType===Node.ELEMENT_NODE&&p.classList.contains(CSS_CLASS_NAMES.page_frame)){d=p;break}}b=f.pages[a];f.container.replaceChild(d,b.page);b=new Page(d);f.pages[a]=b;b.hide();b.rescale(f.scale);disable_dragstart(d.getElementsByClassName(CSS_CLASS_NAMES.background_image));
f.schedule_render(!1);c&&c(b)}delete f.pages_loading[a]};g.send(null)}void 0===b&&(b=this.config.preload_pages);0<--b&&(f=this,setTimeout(function(){f.load_page(a+1,b)},0))}},pre_hide_pages:function(){var a="@media screen{."+CSS_CLASS_NAMES.page_content_box+"{display:none;}}",b=document.createElement("style");b.styleSheet?b.styleSheet.cssText=a:b.appendChild(document.createTextNode(a));document.head.appendChild(b)},render:function(){for(var a=this.container,b=a.scrollTop,c=a.clientHeight,a=b-c,b=
b+c+c,c=this.pages,e=0,h=c.length;e<h;++e){var d=c[e],f=d.page,g=f.offsetTop+f.clientTop,f=g+f.clientHeight;g<=b&&f>=a?d.loaded?d.show():this.load_page(e):d.hide()}},update_page_idx:function(){var a=this.pages,b=a.length;if(!(2>b)){for(var c=this.container,e=c.scrollTop,c=e+c.clientHeight,h=-1,d=b,f=d-h;1<f;){var g=h+Math.floor(f/2),f=a[g].page;f.offsetTop+f.clientTop+f.clientHeight>=e?d=g:h=g;f=d-h}this.first_page_idx=d;for(var g=h=this.cur_page_idx,k=0;d<b;++d){var f=a[d].page,l=f.offsetTop+f.clientTop,
f=f.clientHeight;if(l>c)break;f=(Math.min(c,l+f)-Math.max(e,l))/f;if(d===h&&Math.abs(f-1)<=EPS){g=h;break}f>k&&(k=f,g=d)}this.cur_page_idx=g}},schedule_render:function(a){if(void 0!==this.render_timer){if(!a)return;clearTimeout(this.render_timer)}var b=this;this.render_timer=setTimeout(function(){delete b.render_timer;b.render()},this.config.render_timeout)},register_key_handler:function(){var a=this;window.addEventListener("DOMMouseScroll",function(b){if(b.ctrlKey){b.preventDefault();var c=a.container,
e=c.getBoundingClientRect(),c=[b.clientX-e.left-c.clientLeft,b.clientY-e.top-c.clientTop];a.rescale(Math.pow(a.config.scale_step,b.detail),!0,c)}},!1);window.addEventListener("keydown",function(b){var c=!1,e=b.ctrlKey||b.metaKey,h=b.altKey;switch(b.keyCode){case 61:case 107:case 187:e&&(a.rescale(1/a.config.scale_step,!0),c=!0);break;case 173:case 109:case 189:e&&(a.rescale(a.config.scale_step,!0),c=!0);break;case 48:e&&(a.rescale(0,!1),c=!0);break;case 33:h?a.scroll_to(a.cur_page_idx-1):a.container.scrollTop-=
a.container.clientHeight;c=!0;break;case 34:h?a.scroll_to(a.cur_page_idx+1):a.container.scrollTop+=a.container.clientHeight;c=!0;break;case 35:a.container.scrollTop=a.container.scrollHeight;c=!0;break;case 36:a.container.scrollTop=0,c=!0}c&&b.preventDefault()},!1)},rescale:function(a,b,c){var e=this.scale;this.scale=a=0===a?1:b?e*a:a;c||(c=[0,0]);b=this.container;c[0]+=b.scrollLeft;c[1]+=b.scrollTop;for(var h=this.pages,d=h.length,f=this.first_page_idx;f<d;++f){var g=h[f].page;if(g.offsetTop+g.clientTop>=
c[1])break}g=f-1;0>g&&(g=0);var g=h[g].page,k=g.clientWidth,f=g.clientHeight,l=g.offsetLeft+g.clientLeft,m=c[0]-l;0>m?m=0:m>k&&(m=k);k=g.offsetTop+g.clientTop;c=c[1]-k;0>c?c=0:c>f&&(c=f);for(f=0;f<d;++f)h[f].rescale(a);b.scrollLeft+=m/e*a+g.offsetLeft+g.clientLeft-m-l;b.scrollTop+=c/e*a+g.offsetTop+g.clientTop-c-k;this.schedule_render(!0)},fit_width:function(){var a=this.cur_page_idx;this.rescale(this.container.clientWidth/this.pages[a].width(),!0);this.scroll_to(a)},fit_height:function(){var a=this.cur_page_idx;
this.rescale(this.container.clientHeight/this.pages[a].height(),!0);this.scroll_to(a)},get_containing_page:function(a){for(;a;){if(a.nodeType===Node.ELEMENT_NODE&&a.classList.contains(CSS_CLASS_NAMES.page_frame)){a=get_page_number(a);var b=this.page_map;return a in b?this.pages[b[a]]:null}a=a.parentNode}return null},link_handler:function(a){var b=a.target,c=b.getAttribute("data-dest-detail");if(c){if(this.config.view_history_handler)try{var e=this.get_current_view_hash();window.history.replaceState(e,
"","#"+e);window.history.pushState(c,"","#"+c)}catch(h){}this.navigate_to_dest(c,this.get_containing_page(b));a.preventDefault()}},navigate_to_dest:function(a,b){try{var c=JSON.parse(a)}catch(e){return}if(c instanceof Array){var h=c[0],d=this.page_map;if(h in d){for(var f=d[h],h=this.pages[f],d=2,g=c.length;d<g;++d){var k=c[d];if(null!==k&&"number"!==typeof k)return}for(;6>c.length;)c.push(null);var g=b||this.pages[this.cur_page_idx],d=g.view_position(),d=transform(g.ictm,[d[0],g.height()-d[1]]),
g=this.scale,l=[0,0],m=!0,k=!1,n=this.scale;switch(c[1]){case "XYZ":l=[null===c[2]?d[0]:c[2]*n,null===c[3]?d[1]:c[3]*n];g=c[4];if(null===g||0===g)g=this.scale;k=!0;break;case "Fit":case "FitB":l=[0,0];k=!0;break;case "FitH":case "FitBH":l=[0,null===c[2]?d[1]:c[2]*n];k=!0;break;case "FitV":case "FitBV":l=[null===c[2]?d[0]:c[2]*n,0];k=!0;break;case "FitR":l=[c[2]*n,c[5]*n],m=!1,k=!0}if(k){this.rescale(g,!1);var p=this,c=function(a){l=transform(a.ctm,l);m&&(l[1]=a.height()-l[1]);p.scroll_to(f,l)};h.loaded?
c(h):(this.load_page(f,void 0,c),this.scroll_to(f))}}}},scroll_to:function(a,b){var c=this.pages;if(!(0>a||a>=c.length)){c=c[a].view_position();void 0===b&&(b=[0,0]);var e=this.container;e.scrollLeft+=b[0]-c[0];e.scrollTop+=b[1]-c[1]}},get_current_view_hash:function(){var a=[],b=this.pages[this.cur_page_idx];a.push(b.num);a.push("XYZ");var c=b.view_position(),c=transform(b.ictm,[c[0],b.height()-c[1]]);a.push(c[0]/this.scale);a.push(c[1]/this.scale);a.push(this.scale);return JSON.stringify(a)}};
pdf2htmlEX.Viewer=Viewer;})();
</script>
<script>
try{
pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer({});
}catch(e){}
</script>
<title></title>
</head>
<body>
<div id="sidebar">
<div id="outline">
<ul><li><a class="l" href="#pf6" data-dest-detail='[6,"XYZ",28.346,255.118,null]'>Functions</a><ul><li><a class="l" href="#pf9" data-dest-detail='[9,"XYZ",28.346,228.21,null]'>Pass by-Value</a></li><li><a class="l" href="#pfa" data-dest-detail='[10,"XYZ",28.346,228.21,null]'>Pass by-Pointer</a></li><li><a class="l" href="#pfb" data-dest-detail='[11,"XYZ",28.346,228.21,null]'>Pass by-Reference</a></li><li><a class="l" href="#pfd" data-dest-detail='[13,"XYZ",28.346,228.21,null]'>Function Signature and Overloading</a></li><li><a class="l" href="#pf10" data-dest-detail='[16,"XYZ",28.346,228.21,null]'>Overloading and =delete</a></li><li><a class="l" href="#pf11" data-dest-detail='[17,"XYZ",28.346,228.21,null]'>Default Parameters</a></li></ul></li><li><a class="l" href="#pf12" data-dest-detail='[18,"XYZ",28.346,255.118,null]'>Function Pointers and Function Objects</a><ul><li><a class="l" href="#pf13" data-dest-detail='[19,"XYZ",28.346,228.21,null]'>Function Pointer</a></li><li><a class="l" href="#pf15" data-dest-detail='[21,"XYZ",28.346,228.21,null]'>Function Object (or Functor)</a></li></ul></li><li><a class="l" href="#pf17" data-dest-detail='[23,"XYZ",28.346,255.118,null]'>Lambda Expressions</a><ul><li><a class="l" href="#pf1a" data-dest-detail='[26,"XYZ",28.346,228.21,null]'>Capture List</a></li><li><a class="l" href="#pf1d" data-dest-detail='[29,"XYZ",28.346,217.415,null]'>Lambda Expression and Function Relation</a></li><li><a class="l" href="#pf1e" data-dest-detail='[30,"XYZ",28.346,187.234,null]'>Parameter Notes</a></li><li><a class="l" href="#pf1f" data-dest-detail='[31,"XYZ",28.346,228.21,null]'>Composability</a></li><li><a class="l" href="#pf21" data-dest-detail='[33,"XYZ",28.346,228.21,null]'>Recursion</a></li><li><a class="l" href="#pf22" data-dest-detail='[34,"XYZ",28.346,228.21,null]'>constexpr/consteval</a></li><li><a class="l" href="#pf23" data-dest-detail='[35,"XYZ",28.346,192.409,null]'>template</a></li><li><a class="l" href="#pf25" data-dest-detail='[37,"XYZ",28.346,228.21,null]'>mutable</a></li><li><a class="l" href="#pf26" data-dest-detail='[38,"XYZ",28.346,228.21,null]'>Capture List and Classes</a></li></ul></li><li><a class="l" href="#pf27" data-dest-detail='[39,"XYZ",28.346,255.118,null]'>Preprocessing</a><ul><li><a class="l" href="#pf29" data-dest-detail='[41,"XYZ",28.346,228.21,null]'>Preprocessors</a></li><li><a class="l" href="#pf2b" data-dest-detail='[43,"XYZ",28.346,228.21,null]'>Common Errors</a></li><li><a class="l" href="#pf35" data-dest-detail='[53,"XYZ",28.346,228.21,null]'>Source Location Macros</a></li><li><a class="l" href="#pf38" data-dest-detail='[56,"XYZ",28.346,228.21,null]'>Condition Compiling Macros</a></li><li><a class="l" href="#pf3d" data-dest-detail='[61,"XYZ",28.346,228.21,null]'>Stringizing Operator #</a></li><li><a class="l" href="#pf3f" data-dest-detail='[63,"XYZ",28.346,185.273,null]'>#error and #warning</a></li><li><a class="l" href="#pf40" data-dest-detail='[64,"XYZ",28.346,228.21,null]'>#pragma</a></li><li><a class="l" href="#pf41" data-dest-detail='[65,"XYZ",28.346,228.21,null]'>Token-Pasting Operator ## </a></li><li><a class="l" href="#pf42" data-dest-detail='[66,"XYZ",28.346,228.21,null]'>Variadic Macro </a></li></ul></li></ul></div>
</div>
<div id="page-container">
<div id="pf1" class="pf w0 h0" data-page-no="1"><div class="pc pc1 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x1 h2 y1 ff1 fs0 fc0 sc0 ls0 ws0">Mo<span class="_ _0"></span>dern<span class="_ _1"> </span>C++</div><div class="t m0 x1 h2 y2 ff1 fs0 fc0 sc0 ls0 ws0">Programming</div><div class="t m0 x2 h3 y3 ff2 fs1 fc0 sc0 ls0 ws0">7.<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">2025-01-30</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf2" class="pf w0 h0" data-page-no="2"><div class="pc pc2 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>able<span class="_ _8"> </span>of<span class="_ _8"> </span>Contents</div><div class="t m0 x5 h8 y8 ff1 fs4 fc2 sc0 ls0 ws0">1<span class="_ _9"> </span><span class="fs2 fc0">F<span class="_ _5"></span>unctions</span></div><div class="t m0 x6 h6 y9 ff4 fs4 fc0 sc0 ls0 ws0">P<span class="_ _5"></span>ass<span class="_ _a"> </span>b<span class="_ _5"></span>y-Value</div><div class="t m0 x6 h6 ya ff4 fs4 fc0 sc0 ls0 ws0">P<span class="_ _5"></span>ass<span class="_ _a"> </span>b<span class="_ _5"></span>y-Pointer</div><div class="t m0 x6 h6 yb ff4 fs4 fc0 sc0 ls0 ws0">P<span class="_ _5"></span>ass<span class="_ _a"> </span>b<span class="_ _5"></span>y-Reference</div><div class="t m0 x6 h6 yc ff4 fs4 fc0 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _a"> </span>Signature<span class="_ _a"> </span>and<span class="_ _a"> </span>Overloading</div><div class="t m0 x6 h6 yd ff4 fs4 fc0 sc0 ls0 ws0">Overloading<span class="_ _a"> </span>and<span class="_ _a"> </span><span class="ff5">=delete</span></div><div class="t m0 x6 h6 ye ff4 fs4 fc0 sc0 ls0 ws0">Default<span class="_ _a"> </span>P<span class="_ _5"></span>a<span class="_ _5"></span>rameters</div><div class="t m0 x7 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">1/62</div><a class="l" href="#pf6" data-dest-detail='[6,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:47.076000px;bottom:169.340000px;width:64.888000px;height:13.782000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf9" data-dest-detail='[9,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:150.026000px;width:59.721000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pfa" data-dest-detail='[10,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:130.823000px;width:66.639000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pfb" data-dest-detail='[11,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:111.621000px;width:76.781000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pfd" data-dest-detail='[13,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:92.418000px;width:152.234000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf10" data-dest-detail='[16,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:73.215000px;width:109.893000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf11" data-dest-detail='[17,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:55.949000px;width:82.274000px;height:8.911000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf3" class="pf w0 h0" data-page-no="3"><div class="pc pc3 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>able<span class="_ _8"> </span>of<span class="_ _8"> </span>Contents</div><div class="t m0 x5 h8 y10 ff1 fs4 fc2 sc0 ls0 ws0">2<span class="_ _9"> </span><span class="fs2 fc0">F<span class="_ _5"></span>unction<span class="_ _b"> </span>P<span class="_ _5"></span>ointers<span class="_ _b"> </span>and<span class="_ _b"> </span>F<span class="_ _5"></span>unction<span class="_ _b"> </span>Objects</span></div><div class="t m0 x6 h6 y11 ff4 fs4 fc0 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _a"> </span>P<span class="_ _5"></span>ointer</div><div class="t m0 x6 h6 y12 ff4 fs4 fc0 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _a"> </span>Object<span class="_ _a"> </span>(o<span class="_ _5"></span>r<span class="_ _a"> </span>F<span class="_ _5"></span>uncto<span class="_ _5"></span>r)</div><div class="t m0 x7 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">2/62</div><a class="l" href="#pf12" data-dest-detail='[18,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:47.076000px;bottom:131.216000px;width:263.872000px;height:14.745000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf13" data-dest-detail='[19,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:114.803000px;width:71.565000px;height:8.911000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf15" data-dest-detail='[21,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:93.109000px;width:123.454000px;height:11.821000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf4" class="pf w0 h0" data-page-no="4"><div class="pc pc4 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>able<span class="_ _8"> </span>of<span class="_ _8"> </span>Contents</div><div class="t m0 x5 h8 y13 ff1 fs4 fc2 sc0 ls0 ws0">3<span class="_ _9"> </span><span class="fs2 fc0">Lamb<span class="_ _c"></span>da<span class="_ _b"> </span>Exp<span class="_ _5"></span>ressions</span></div><div class="t m0 x6 h6 y14 ff4 fs4 fc0 sc0 ls0 ws0">Capture<span class="_ _a"> </span>List</div><div class="t m0 x6 h6 y15 ff4 fs4 fc0 sc0 ls0 ws0">Lamb<span class="_ _c"></span>da<span class="_ _a"> </span>Exp<span class="_ _5"></span>ression<span class="_ _a"> </span>and<span class="_ _d"> </span>F<span class="_ _5"></span>unction<span class="_ _a"> </span>Relation</div><div class="t m0 x6 h6 y16 ff4 fs4 fc0 sc0 ls0 ws0">P<span class="_ _5"></span>arameter<span class="_ _d"> </span>Notes</div><div class="t m0 x6 h6 y17 ff4 fs4 fc0 sc0 ls0 ws0">Comp<span class="_ _c"></span>osabilit<span class="_ _5"></span>y</div><div class="t m0 x6 h6 y18 ff4 fs4 fc0 sc0 ls0 ws0">Recursion</div><div class="t m0 x6 h6 y19 ff5 fs4 fc0 sc0 ls0 ws0">constexpr<span class="ff4">/</span>consteval</div><div class="t m0 x6 ha y1a ff5 fs4 fc0 sc0 ls0 ws0">template</div><div class="t m0 x6 ha y1b ff5 fs4 fc0 sc0 ls0 ws0">mutable</div><div class="t m0 x6 h6 y1c ff4 fs4 fc0 sc0 ls0 ws0">Capture<span class="_ _d"> </span>List<span class="_ _a"> </span>and<span class="_ _a"> </span>Classes</div><div class="t m0 x7 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">3/62</div><a class="l" href="#pf17" data-dest-detail='[23,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:47.076000px;bottom:194.372000px;width:134.033000px;height:14.745000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf1a" data-dest-detail='[26,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:176.021000px;width:53.383000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf1d" data-dest-detail='[29,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:156.818000px;width:177.570000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf1e" data-dest-detail='[30,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:139.553000px;width:71.758000px;height:8.911000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf1f" data-dest-detail='[31,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:118.413000px;width:60.468000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf21" data-dest-detail='[33,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:101.147000px;width:42.161000px;height:8.911000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf22" data-dest-detail='[34,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:79.453000px;width:101.120000px;height:11.821000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf23" data-dest-detail='[35,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:60.584000px;width:43.835000px;height:10.123000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf25" data-dest-detail='[37,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:43.538000px;width:38.605000px;height:7.966000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf26" data-dest-detail='[38,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:22.398000px;width:104.525000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf5" class="pf w0 h0" data-page-no="5"><div class="pc pc5 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>able<span class="_ _8"> </span>of<span class="_ _8"> </span>Contents</div><div class="t m0 x5 h8 y13 ff1 fs4 fc2 sc0 ls0 ws0">4<span class="_ _9"> </span><span class="fs2 fc0">Prep<span class="_ _5"></span>ro<span class="_ _c"></span>cessing</span></div><div class="t m0 x6 h6 y14 ff4 fs4 fc0 sc0 ls0 ws0">Prep<span class="_ _5"></span>ro<span class="_ _c"></span>cesso<span class="_ _5"></span>rs</div><div class="t m0 x6 h6 y15 ff4 fs4 fc0 sc0 ls0 ws0">Common<span class="_ _d"> </span>Errors</div><div class="t m0 x6 h6 y16 ff4 fs4 fc0 sc0 ls0 ws0">Source<span class="_ _d"> </span>Lo<span class="_ _c"></span>cation<span class="_ _a"> </span>Macros</div><div class="t m0 x6 h6 y17 ff4 fs4 fc0 sc0 ls0 ws0">Condition<span class="_ _d"> </span>Compiling<span class="_ _a"> </span>Macros</div><div class="t m0 x6 h6 y18 ff4 fs4 fc0 sc0 ls0 ws0">Stringizing<span class="_ _d"> </span>Op<span class="_ _c"></span>erator<span class="_ _d"> </span><span class="ff5">#</span></div><div class="t m0 x6 h6 y19 ff5 fs4 fc0 sc0 ls0 ws0">#error<span class="_ _d"> </span><span class="ff4">and<span class="_ _a"> </span></span>#warning</div><div class="t m0 x6 ha y1a ff5 fs4 fc0 sc0 ls0 ws0">#pragma</div><div class="t m0 x6 h6 y1b ff4 fs4 fc0 sc0 ls0 ws0">T<span class="_ _e"></span>ok<span class="_ _5"></span>en-Pasting<span class="_ _d"> </span>Op<span class="_ _c"></span>erato<span class="_ _5"></span>r<span class="_ _d"> </span><span class="ff5">##</span></div><div class="t m0 x8 hb y1d ff7 fs6 fc0 sc0 ls0 ws0"></div><div class="t m0 x6 h6 y1c ff4 fs4 fc0 sc0 ls0 ws0">V<span class="_ _5"></span>ariadic<span class="_ _d"> </span>Macro</div><div class="t m0 x9 hb y1e ff7 fs6 fc0 sc0 ls0 ws0"></div><div class="t m0 x7 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">4/62</div><a class="l" href="#pf27" data-dest-detail='[39,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:47.076000px;bottom:194.372000px;width:92.079000px;height:14.745000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf29" data-dest-detail='[41,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:176.021000px;width:58.143000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf2b" data-dest-detail='[43,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:158.756000px;width:67.303000px;height:8.911000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf35" data-dest-detail='[53,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:139.553000px;width:102.670000px;height:8.911000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf38" data-dest-detail='[56,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:118.413000px;width:120.576000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf3d" data-dest-detail='[61,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:99.210000px;width:95.342000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf3f" data-dest-detail='[63,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:79.786000px;width:96.941000px;height:11.069000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf40" data-dest-detail='[64,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:60.584000px;width:38.605000px;height:10.123000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf41" data-dest-detail='[65,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:41.601000px;width:126.199000px;height:12.349000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf42" data-dest-detail='[66,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:24.335000px;width:75.702000px;height:10.412000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf6" class="pf w0 h0" data-page-no="6"><div class="pc pc6 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 xa h2 y1f ff1 fs0 fc0 sc0 ls0 ws0">F<span class="_ _e"></span>unctions</div><a class="l" href="#pf6" data-dest-detail='[6,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:137.252000px;width:110.662000px;height:19.206000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf7" class="pf w0 h0" data-page-no="7"><div class="pc pc7 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Overview</div><div class="t m0 x1 h7 y20 ff8 fs3 fc0 sc0 ls0 ws0">A<span class="_ _6"> </span><span class="ff1">function<span class="_ _6"> </span></span>(<span class="ff1">p<span class="_ _5"></span>ro<span class="_ _c"></span>cedure<span class="_ _6"> </span><span class="ff8">o<span class="_ _5"></span>r<span class="_ _6"> </span><span class="ff1">routine</span>)<span class="_ _6"> </span>is<span class="_ _6"> </span>a<span class="_ _6"> </span>piece<span class="_ _6"> </span>of<span class="_ _6"> </span>co<span class="_ _c"></span>de<span class="_ _6"> </span>that<span class="_ _6"> </span>performs<span class="_ _6"> </span>a<span class="_ _6"> </span><span class="ff3">specific</span></span></span></div><div class="t m0 x1 h5 y21 ff3 fs3 fc0 sc0 ls0 ws0">task</div><div class="t m0 x1 h7 y22 ff8 fs3 fc0 sc0 ls0 ws0">Purp<span class="_ _c"></span>ose:</div><div class="t m0 xb h7 y23 ff9 fs3 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff1">A<span class="_ _5"></span>voiding<span class="_ _8"> </span>co<span class="_ _c"></span>de<span class="_ _8"> </span>duplication<span class="ff8">:<span class="_ _b"> </span>less<span class="_ _6"> </span>co<span class="_ _c"></span>de<span class="_ _6"> </span>fo<span class="_ _5"></span>r<span class="_ _6"> </span>the<span class="_ _6"> </span>same<span class="_ _6"> </span>functionalit<span class="_ _5"></span>y<span class="_ _6"> </span><span class="ffa"><span class="_ _6"> </span></span>less</span></span></div><div class="t m0 x6 h7 y24 ff8 fs3 fc0 sc0 ls0 ws0">bugs</div><div class="t m0 xb h7 y25 ff9 fs3 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff1">Readabilit<span class="_ _5"></span>y<span class="ff8">:<span class="_ _b"> </span>b<span class="_ _c"></span>etter<span class="_ _6"> </span>exp<span class="_ _5"></span>ress<span class="_ _6"> </span>what<span class="_ _6"> </span>the<span class="_ _6"> </span>co<span class="_ _c"></span>de<span class="_ _6"> </span>does</span></span></div><div class="t m0 xb h7 y26 ff9 fs3 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff1">Organization<span class="ff8">:<span class="_ _b"> </span>break<span class="_ _6"> </span>the<span class="_ _6"> </span>code<span class="_ _6"> </span>in<span class="_ _6"> </span>separate<span class="_ _f"> </span>mo<span class="_ _c"></span>dules</span></span></div><div class="t m0 x7 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">5/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf8" class="pf w0 h0" data-page-no="8"><div class="pc pc8 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _8"> </span>P<span class="_ _5"></span>a<span class="_ _5"></span>rameter<span class="_ _8"> </span>and<span class="_ _8"> </span>Argument</div><div class="t m0 xc hc y27 ff1 fs7 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _6"> </span>Pa<span class="_ _5"></span>rameter<span class="_ _f"> </span>[formal]</div><div class="t m0 xc hc y28 ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="ff1">pa<span class="_ _5"></span>rameter<span class="_ _f"> </span><span class="ff4">is<span class="_ _f"> </span>the<span class="_ _f"> </span>variable<span class="_ _a"> </span>which<span class="_ _f"> </span>is<span class="_ _f"> </span>pa<span class="_ _5"></span>rt<span class="_ _f"> </span>of<span class="_ _a"> </span>the<span class="_ _f"> </span>metho<span class="_ _c"></span>d<span class="_ _f"> </span>signature</span></span></div><div class="t m0 xc hc y29 ff1 fs7 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _6"> </span>Argument<span class="_ _6"> </span>[actual]</div><div class="t m0 xc hc y2a ff4 fs7 fc0 sc0 ls0 ws0">An<span class="_ _f"> </span><span class="ff1">a<span class="_ _5"></span>rgument<span class="_ _a"> </span><span class="ff4">is<span class="_ _f"> </span>the<span class="_ _f"> </span>actual<span class="_ _f"> </span>value<span class="_ _f"> </span>(instance)<span class="_ _f"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>variable<span class="_ _a"> </span>that<span class="_ _f"> </span>gets<span class="_ _f"> </span>passed<span class="_ _f"> </span>to<span class="_ _f"> </span>the</span></span></div><div class="t m0 xc hc y2b ff4 fs7 fc0 sc0 ls0 ws0">function</div><div class="t m0 xc hd y2c ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">a,<span class="_ _10"> </span></span>char<span class="ffb fc5">*<span class="_ _10"> </span><span class="fc0">b);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span><span class="ffd">pa<span class="_ _5"></span>rameters<span class="ffc">:<span class="_ _10"> </span>int<span class="_ _10"> </span>a,<span class="_ _10"> </span>char*<span class="_ _10"> </span>b</span></span></span></span></span></div><div class="t m0 xd hd y2d ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span><span class="ffd">return<span class="_ _d"> </span>t<span class="_ _5"></span>yp<span class="_ _c"></span>e<span class="ffc">:<span class="_ _8"> </span>void</span></span></div><div class="t m0 xc hd y2e ffb fs8 fc0 sc0 ls0 ws0">f(<span class="fc5">3</span>,<span class="_ _10"> </span><span class="fc7">&quot;abc&quot;</span>);<span class="_ _11"> </span><span class="ffc fc6">//<span class="_ _10"> </span><span class="ffd">a<span class="_ _5"></span>rguments<span class="ffc">:<span class="_ _10"> </span>3,<span class="_ _10"> </span>&quot;abc&quot;</span></span></span></div><div class="t m0 x7 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">6/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf9" class="pf w0 h0" data-page-no="9"><div class="pc pc9 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIuElEQVR42u3cMUoEMRSA4YlMsAqeQbbaCygiFhaCWHitvcSeYgtbCy3EC9h4A6sllWnGzt6RgZfd7zvBm5fmJwNJq8vrAQAAwvh8ez2xBQAAohGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAD8Sq01WwAAII6cs5tUAADCEakAAIhUAAAQqQAAdGfsaNb1za0DAwCY5+PluaNp3aQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAgMOWWmu9zFprdWAAAPOUUnoZNefsJhUAgHBEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAQymgF/3Tx8Bh/yPen3XF++NJLAAAWklprvcxaa3VgAADzlFJ6GTXn7Hc/AADhiFQAAEQqAACIVAAARCoAAIhUAABEKgAALK2nd1IBADgG3kkFACAikQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEi1AgAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQDgEI37zbkt/MnX3dYSAACWs766T+nsdNp/D8M0TRYCAEAIP/CJK/ympGIUAAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">P<span class="_ _5"></span>ass<span class="_ _8"> </span>b<span class="_ _5"></span>y-V<span class="_ _5"></span>alue</div><div class="t m0 xc hc y2f ff1 fs7 fc1 sc0 ls0 ws0">Call-b<span class="_ _5"></span>y-value</div><div class="t m0 xc hc y30 ff4 fs7 fc0 sc0 ls0 ws0">The<span class="_ _f"> </span>object<span class="_ _a"> </span>is<span class="_ _f"> </span>copied<span class="_ _f"> </span>and<span class="_ _f"> </span>assigned<span class="_ _f"> </span>to<span class="_ _f"> </span>input<span class="_ _f"> </span>arguments<span class="_ _a"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>metho<span class="_ _c"></span>d<span class="_ _12"> </span><span class="ffe">f(T<span class="_ _13"> </span>x)</span></div><div class="t m0 x1 hc y31 ff1 fs7 fc0 sc0 ls0 ws0">A<span class="_ _5"></span>dvantages:</div><div class="t m0 xe h6 y32 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Changes<span class="_ _a"> </span>made<span class="_ _d"> </span>to<span class="_ _a"> </span>the<span class="_ _a"> </span>parameter<span class="_ _d"> </span>inside<span class="_ _a"> </span>the<span class="_ _d"> </span>function<span class="_ _a"> </span>have<span class="_ _a"> </span>no<span class="_ _a"> </span>effect<span class="_ _a"> </span>on<span class="_ _d"> </span>the<span class="_ _a"> </span>argument</span></div><div class="t m0 x1 hc y33 ff1 fs7 fc0 sc0 ls0 ws0">Disadvantages:</div><div class="t m0 xe h6 y34 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Perfo<span class="_ _5"></span>rmance<span class="_ _d"> </span>p<span class="_ _c"></span>enalt<span class="_ _5"></span>y<span class="_ _d"> </span>if<span class="_ _a"> </span>the<span class="_ _a"> </span>copied<span class="_ _a"> </span>a<span class="_ _5"></span>rguments<span class="_ _a"> </span>a<span class="_ _5"></span>re<span class="_ _d"> </span>large<span class="_ _d"> </span>(e.g.<span class="_ _8"> </span>a<span class="_ _a"> </span>structure<span class="_ _a"> </span>with<span class="_ _a"> </span>several<span class="_ _a"> </span>data</span></div><div class="t m0 x6 h6 y35 ff4 fs4 fc0 sc0 ls0 ws0">memb<span class="_ _c"></span>ers)</div><div class="t m0 x1 he y36 ff10 fs7 fc0 sc0 ls0 ws0">When<span class="_ _6"> </span>to<span class="_ _6"> </span>use:</div><div class="t m0 xe h6 y37 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Built-in<span class="_ _a"> </span>data<span class="_ _d"> </span>type<span class="_ _a"> </span>and<span class="_ _a"> </span>small<span class="_ _a"> </span>objects<span class="_ _a"> </span>(<span class="ffa"><span class="_ _d"> </span></span>8<span class="_ _a"> </span>bytes)</span></div><div class="t m0 x1 he y38 ff10 fs7 fc0 sc0 ls0 ws0">When<span class="_ _6"> </span>not<span class="_ _6"> </span>to<span class="_ _8"> </span>use:</div><div class="t m0 xe h6 y39 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Fixed<span class="_ _a"> </span>size<span class="_ _d"> </span>arra<span class="_ _5"></span>ys<span class="_ _d"> </span>which<span class="_ _a"> </span>decay<span class="_ _d"> </span>into<span class="_ _a"> </span>p<span class="_ _c"></span>ointers</span></div><div class="t m0 xe h6 y3a fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Large<span class="_ _d"> </span>objects</span></div><div class="t m0 x7 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">7/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pfa" class="pf w0 h0" data-page-no="a"><div class="pc pca w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAI2ElEQVR42u3asUlEQRCA4Vt5i9FiDWJ0DSgiBgaCGNiWTViFgamBBmIDJnZgdGzkJM/MUPQOYfbu+yqYN5v87NtydHK2AACANN5fnvdsAQCAbEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAADfSkTYAgAAedRa3aQCAJCOSAUAQKQCAIBIBQBgONNAsy7PLxwYAMB63p4eB5rWTSoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEA2G4lIkaZtffuwAAA1tNaG2XUWqubVAAA0hGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAsGMmK9jQ8fXNdnzI68O90wQAkigRMcqsvXcHBgCwntbaKKPWWv3uBwAgHZEKAEA63qTC2MZ6Fe3pMwC/5E0qAMBO8CYVAAA2IlIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAICtUiLCFgAAyKPW6iYVAIB0RCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACLVCgAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAJTVbAlum9W8IPWmuWAEB+blIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBgx5SIsAUAAPKotbpJBQAgHZEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAgKym1e2hLfyfj8s7SwAA+JPl6VUpB/vz6nOxmOfZQgAASOELOxI3+FmfCEMAAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">P<span class="_ _5"></span>ass<span class="_ _8"> </span>b<span class="_ _5"></span>y-P<span class="_ _5"></span>ointer</div><div class="t m0 xc hc y2f ff1 fs7 fc1 sc0 ls0 ws0">Call-b<span class="_ _5"></span>y-p<span class="_ _c"></span>ointer</div><div class="t m0 xc hc y3b ff4 fs7 fc0 sc0 ls0 ws0">The<span class="_ _f"> </span>address<span class="_ _a"> </span>of<span class="_ _f"> </span>a<span class="_ _f"> </span>variable<span class="_ _a"> </span>is<span class="_ _f"> </span>copied<span class="_ _f"> </span>and<span class="_ _f"> </span>assigned<span class="_ _f"> </span>to<span class="_ _f"> </span>input<span class="_ _f"> </span>a<span class="_ _5"></span>rguments<span class="_ _f"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>metho<span class="_ _c"></span>d</div><div class="t m0 x5 he y3c ffe fs7 fc0 sc0 ls0 ws0">f(T*<span class="_ _13"> </span>x)</div><div class="t m0 x1 hc y3d ff1 fs7 fc0 sc0 ls0 ws0">A<span class="_ _5"></span>dvantages:</div><div class="t m0 xe h6 y3e fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Allows<span class="_ _d"> </span>a<span class="_ _d"> </span>function<span class="_ _a"> </span>to<span class="_ _a"> </span>change<span class="_ _a"> </span>the<span class="_ _a"> </span>value<span class="_ _d"> </span>of<span class="_ _a"> </span>the<span class="_ _a"> </span>argument</span></div><div class="t m0 xe h6 y3f fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">The<span class="_ _a"> </span>a<span class="_ _5"></span>rgument<span class="_ _d"> </span>is<span class="_ _a"> </span>not<span class="_ _a"> </span>copied<span class="_ _a"> </span>(fast)</span></div><div class="t m0 x1 hc y40 ff1 fs7 fc0 sc0 ls0 ws0">Disadvantages:</div><div class="t m0 xe h6 y41 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">The<span class="_ _a"> </span>a<span class="_ _5"></span>rgument<span class="_ _d"> </span>may<span class="_ _d"> </span>b<span class="_ _c"></span>e<span class="_ _a"> </span>a<span class="_ _d"> </span>null<span class="_ _a"> </span>p<span class="_ _c"></span>ointer</span></div><div class="t m0 xe h6 y42 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Dereferencing<span class="_ _a"> </span>a<span class="_ _d"> </span>p<span class="_ _c"></span>ointer<span class="_ _a"> </span>is<span class="_ _d"> </span>slow<span class="_ _5"></span>er<span class="_ _d"> </span>than<span class="_ _a"> </span>accessing<span class="_ _a"> </span>a<span class="_ _a"> </span>value<span class="_ _a"> </span>directly</span></div><div class="t m0 x1 he y43 ff10 fs7 fc0 sc0 ls0 ws0">When<span class="_ _6"> </span>to<span class="_ _6"> </span>use:</div><div class="t m0 xe h6 y44 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff11">Raw<span class="_ _6"> </span><span class="ff4">arra<span class="_ _5"></span>ys<span class="_ _d"> </span>(use<span class="_ _12"> </span><span class="ffe">const<span class="_ _b"> </span>T*<span class="_ _12"> </span></span>if<span class="_ _d"> </span>read-only)</span></span></div><div class="t m0 x1 he y45 ff10 fs7 fc0 sc0 ls0 ws0">When<span class="_ _6"> </span>not<span class="_ _6"> </span>to<span class="_ _8"> </span>use:</div><div class="t m0 xe h6 y46 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">All<span class="_ _a"> </span>other<span class="_ _d"> </span>cases</span></div><div class="t m0 x7 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">8/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pfb" class="pf w0 h0" data-page-no="b"><div class="pc pcb w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIyklEQVR42u3ZMUpDQRSG0Yy8i9XgGsQqG1BELCwEsXBbbsJVWNhaaCFuwCY7sApTeZtnJzY2kcBMcs4K5v3TfMwrJ2cXCwAA6Mbq7fXACgAA9EakAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAADwo2SmFQAA6EdEeEkFAKA7IhUAAJEKAAAiFQCA4UwDnXV5eeXCAAA28/HyPNBpvaQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAgN1WMnOUs7bWXBgAwGZqraMcNSK8pAIA0B2RCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAHtmMsE/nd7e7dsnvz89uncAYKtKZo5y1taaCwMA2EytdZSjRoTf/QAAdEekAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAPxSMtMKAAD0IyK8pAIA0B2RCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASDUBAAAiFQAARCoAACIVAABEKgAAIhUAALZsMgHQodaaEf5SazUCsPO8pAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAMCeKZlpBQAA+hERXlIBAOiOSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKSaAAAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEA2CXT+v7YCp34vH4wAgDA8vymlKPDef21WMzzbBAAALrwDXvgLvqNUrA/AAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">P<span class="_ _5"></span>ass<span class="_ _8"> </span>b<span class="_ _5"></span>y-Reference</div><div class="t m0 xc hc y2f ff1 fs7 fc1 sc0 ls0 ws0">Call-b<span class="_ _5"></span>y-reference</div><div class="t m0 xc hc y3b ff4 fs7 fc0 sc0 ls0 ws0">The<span class="_ _f"> </span>reference<span class="_ _a"> </span>of<span class="_ _f"> </span>a<span class="_ _f"> </span>variable<span class="_ _a"> </span>is<span class="_ _f"> </span>copied<span class="_ _f"> </span>and<span class="_ _f"> </span>assigned<span class="_ _f"> </span>to<span class="_ _f"> </span>input<span class="_ _f"> </span>a<span class="_ _5"></span>rguments<span class="_ _f"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>metho<span class="_ _c"></span>d</div><div class="t m0 x5 he y3c ffe fs7 fc0 sc0 ls0 ws0">f(T&amp;<span class="_ _13"> </span>x)</div><div class="t m0 x1 hc y47 ff1 fs7 fc0 sc0 ls0 ws0">A<span class="_ _5"></span>dvantages:</div><div class="t m0 xe h6 y48 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Allows<span class="_ _d"> </span>a<span class="_ _d"> </span>function<span class="_ _a"> </span>to<span class="_ _a"> </span>change<span class="_ _a"> </span>the<span class="_ _a"> </span>value<span class="_ _d"> </span>of<span class="_ _a"> </span>the<span class="_ _a"> </span>argument<span class="_ _d"> </span>(b<span class="_ _c"></span>etter<span class="_ _d"> </span>readability<span class="_ _d"> </span>compared<span class="_ _d"> </span>with</span></div><div class="t m0 x6 h6 y49 ff4 fs4 fc0 sc0 ls0 ws0">p<span class="_ _c"></span>ointers)</div><div class="t m0 xe h6 y4a fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">The<span class="_ _a"> </span>a<span class="_ _5"></span>rgument<span class="_ _d"> </span>is<span class="_ _a"> </span>not<span class="_ _a"> </span>copied<span class="_ _a"> </span>(fast)</span></div><div class="t m0 xe h6 y4b fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">References<span class="_ _a"> </span>must<span class="_ _d"> </span>b<span class="_ _c"></span>e<span class="_ _a"> </span>initialized<span class="_ _d"> </span>(no<span class="_ _a"> </span>null<span class="_ _a"> </span>p<span class="_ _c"></span>ointer)</span></div><div class="t m0 xe h6 y4c fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Avoid<span class="_ _d"> </span>implicit<span class="_ _d"> </span>conversion<span class="_ _a"> </span>(without<span class="_ _12"> </span><span class="ffe">const<span class="_ _b"> </span>T&amp;<span class="_ _d"> </span></span>)</span></div><div class="t m0 x1 he y4d ff10 fs7 fc0 sc0 ls0 ws0">When<span class="_ _6"> </span>to<span class="_ _6"> </span>use:</div><div class="t m0 xe h6 y4e fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">All<span class="_ _a"> </span>cases<span class="_ _d"> </span>except<span class="_ _a"> </span>raw<span class="_ _d"> </span>p<span class="_ _c"></span>ointers</span></div><div class="t m0 x1 he y4f ff10 fs7 fc0 sc0 ls0 ws0">When<span class="_ _6"> </span>not<span class="_ _6"> </span>to<span class="_ _8"> </span>use:</div><div class="t m0 xe h6 y50 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Pass<span class="_ _d"> </span>b<span class="_ _5"></span>y-value<span class="_ _d"> </span><span class="ff11">could<span class="_ _6"> </span></span>give<span class="_ _d"> </span>p<span class="_ _c"></span>erformance<span class="_ _d"> </span>advantages<span class="_ _d"> </span>and<span class="_ _d"> </span>imp<span class="_ _5"></span>rove<span class="_ _d"> </span>the<span class="_ _d"> </span>readability<span class="_ _d"> </span>with<span class="_ _d"> </span>built-in</span></div><div class="t m0 x6 h6 y51 ff4 fs4 fc0 sc0 ls0 ws0">data<span class="_ _d"> </span>type<span class="_ _a"> </span>and<span class="_ _a"> </span>small<span class="_ _a"> </span>objects<span class="_ _a"> </span>that<span class="_ _d"> </span>are<span class="_ _d"> </span>trivially<span class="_ _a"> </span>copy<span class="_ _5"></span>able</div><div class="t m0 x7 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">9/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pfc" class="pf w0 h0" data-page-no="c"><div class="pc pcc w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAJ3UlEQVR42u3cMYoUQRSA4W3pwujhGcTIE4gYC4aCydyjDmEkCx17iD6EgYfwBkZSyfgad03EYINRWmat2vm+E7x5L/mZgp6evXh1BQAA3fjy+dMjWwAAoDciFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQCA36bMtAUAAPpRSvFPKgAA3RGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAA+N/mgWZtrTkYAMA+ETHQtP5JBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgDA/zJbAXDacdsOyzLu/GutjggwnCkzR5m1teZgAAD7RMQoo5ZSPPcDANAdkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAM5rtgLgtOO2HZbFHu5Ya7UEgPOZMnOUWVtrDgYAsE9EjDJqKcVzPwAA3RGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQDgvGYrAE47btthWeyhZ2utlgA8MFNmjjJra83BAAD2iYhRRi2leO4HAKA7IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAuzGwFwGnHbTssiz3csdZqCQDnM2XmKLO21hwMAGCfiBhl1FKK534AALojUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAADu0WwFwGnHbTssyyX80rVW5wboxJSZo8zaWnMwAIB9ImKUUUspnvsBAOiOSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAAOc1WwFw2nHbDstiD/dsrdUSgEs2ZeYos7bWHAwAYJ+IGGXUUornfgAAuiNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUA4MLMVgCcdty2w7Jcwi9da3VugE5MmTnKrK01BwMA2CciRhm1lOK5HwCA7ohUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAgHs0WwHAPsdtOyyLPdyx1moJwL+bMnOUWVtrDgYAsE9EjDJqKcVzPwAA3RGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAA8MtsBfBHP25u3l1fjzv/WqsjAjCWKTNHmbW15mAAAPtExCijllI89wMA0B2RCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAAzmu2Av7S2w8fLOHvrbVaAgDsNmXmKLO21hwMAGCfiBhl1FKK534AALojUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAwHnNVgB/9OPm5t319bjzr7U6IgBjmTJzlFlbaw4GALBPRIwyainFcz8AAN0RqQAAiFQAABCpAACIVAAAEKkAADw4I32CCgCAS+ATVAAA9EikAgAgUgEAQKQCACBSAQDgX83f3j+1heF8ff3REgCAh+r5yzfT9OTx7bfvV1e3t7cWAgBAF34CWH2a7AppSDwAAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Examples</div><div class="t m0 xc hf y52 ff5 fs8 fc8 sc0 ls0 ws0">struct<span class="_ _10"> </span><span class="fc4">MyStruct<span class="ffb fc0">;</span></span></div><div class="t m0 xc hd y53 ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f1<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">a);<span class="_ _14"> </span><span class="ffc fc6">//<span class="_ _10"> </span>pass<span class="_ _10"> </span><span class="ffd">b<span class="_ _5"></span>y-value</span></span></span></div><div class="t m0 xc hd y54 ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f2<span class="fc0">(</span></span>int<span class="ffb fc5">&amp;<span class="_ _10"> </span><span class="fc0">a);<span class="_ _15"> </span><span class="ffc fc6">//<span class="_ _10"> </span>pass<span class="_ _10"> </span><span class="ffd">b<span class="_ _5"></span>y-reference</span></span></span></span></div><div class="t m0 xc hd y55 ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f3<span class="fc0">(</span></span><span class="fc8">const<span class="_ _10"> </span></span>int<span class="ffb fc5">&amp;<span class="_ _10"> </span><span class="fc0">a);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>pass<span class="_ _10"> </span><span class="ffd">b<span class="_ _5"></span>y-const<span class="_ _d"> </span>reference</span></span></span></span></div><div class="t m0 xc hd y56 ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f4<span class="fc0">(MyStruct<span class="fc5">&amp;<span class="_ _10"> </span></span>a);<span class="_ _16"> </span><span class="ffc fc6">//<span class="_ _10"> </span>pass<span class="_ _10"> </span><span class="ffd">b<span class="_ _5"></span>y-reference</span></span></span></span></div><div class="t m0 xc hd y57 ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f5<span class="fc0">(</span></span>int<span class="ffb fc5">*<span class="_ _10"> </span><span class="fc0">a);<span class="_ _15"> </span><span class="ffc fc6">//<span class="_ _10"> </span>pass<span class="_ _10"> </span><span class="ffd">b<span class="_ _5"></span>y-p<span class="_ _c"></span>ointer</span></span></span></span></div><div class="t m0 xc hd y58 ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f6<span class="fc0">(</span></span><span class="fc8">const<span class="_ _10"> </span></span>int<span class="ffb fc5">*<span class="_ _10"> </span><span class="fc0">a);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>pass<span class="_ _10"> </span><span class="ffd">b<span class="_ _5"></span>y-const<span class="_ _d"> </span>p<span class="_ _c"></span>ointer</span></span></span></span></div><div class="t m0 xc hd y59 ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f7<span class="fc0">(MyStruct<span class="fc5">*<span class="_ _10"> </span></span>a);<span class="_ _16"> </span><span class="ffc fc6">//<span class="_ _10"> </span>pass<span class="_ _10"> </span><span class="ffd">b<span class="_ _5"></span>y-p<span class="_ _c"></span>ointer</span></span></span></span></div><div class="t m0 xc hd y5a ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f8<span class="fc0">(</span></span>int<span class="ffb fc5">*&amp;<span class="_ _10"> </span><span class="fc0">a);<span class="_ _17"> </span><span class="ffc fc6">//<span class="_ _10"> </span>pass<span class="_ _10"> </span>a<span class="_ _10"> </span>pointer<span class="_ _10"> </span><span class="ffd">b<span class="_ _5"></span>y-reference</span></span></span></span></div><div class="t m0 xc hf y5b ffc fs8 fc6 sc0 ls0 ws0">//--------------------------------------------------------------</div><div class="t m0 xc hf y5c ff5 fs8 fc3 sc0 ls0 ws0">char<span class="_ _10"> </span><span class="ffb fc0">c<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span><span class="ff12 fc7">&apos;<span class="ffb">a</span>&apos;</span></span>;</span></div><div class="t m0 xc hd y5d ffb fs8 fc0 sc0 ls0 ws0">f1(c);<span class="_ _18"> </span><span class="ffc fc6">//<span class="_ _10"> </span>ok,<span class="_ _10"> </span>pass<span class="_ _10"> </span><span class="ffd">b<span class="_ _5"></span>y-value<span class="_ _10"> </span><span class="ffc">(implicit<span class="_ _10"> </span>conversion)</span></span></span></div><div class="t m0 xc hd y5e ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>f2(c);<span class="_ _10"> </span>//<span class="_ _10"> </span><span class="ffd">compile<span class="_ _d"> </span>erro<span class="_ _5"></span>r<span class="_ _10"> </span><span class="ffc">different<span class="_ _10"> </span>types</span></span></div><div class="t m0 xc hd y5f ffb fs8 fc0 sc0 ls0 ws0">f3(c);<span class="_ _18"> </span><span class="ffc fc6">//<span class="_ _10"> </span>ok,<span class="_ _10"> </span>pass<span class="_ _10"> </span><span class="ffd">b<span class="_ _5"></span>y-value<span class="_ _10"> </span><span class="ffc">(implicit<span class="_ _10"> </span>conversion)</span></span></span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">10/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pfd" class="pf w0 h0" data-page-no="d"><div class="pc pcd w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _8"> </span>Signature<span class="_ _8"> </span>and<span class="_ _8"> </span>Overloading<span class="_ _19"> </span>1/2</div><div class="t m0 xc hc y60 ff1 fs7 fc1 sc0 ls0 ws0">Signature</div><div class="t m0 xc hc y61 ff1 fs7 fc0 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _6"> </span>signature<span class="_ _f"> </span><span class="ff4">defines<span class="_ _f"> </span>the<span class="_ _f"> </span><span class="ff11">input<span class="_ _f"> </span>t<span class="_ _5"></span>yp<span class="_ _c"></span>es<span class="_ _8"> </span><span class="ff4">fo<span class="_ _5"></span>r<span class="_ _f"> </span>a<span class="_ _f"> </span>(sp<span class="_ _c"></span>ecialized)<span class="_ _a"> </span>function<span class="_ _f"> </span>and<span class="_ _f"> </span>the</span></span></span></div><div class="t m0 xc hc y62 ff11 fs7 fc0 sc0 ls0 ws0">inputs<span class="_ _f"> </span>+<span class="_ _a"> </span>outputs<span class="_ _f"> </span>types<span class="_ _10"> </span><span class="ff4">fo<span class="_ _5"></span>r<span class="_ _f"> </span>a<span class="_ _f"> </span>template<span class="_ _f"> </span>function</span></div><div class="t m0 xc hc y63 ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span>function<span class="_ _a"> </span>signature<span class="_ _f"> </span>includes<span class="_ _f"> </span>the<span class="_ _f"> </span>numb<span class="_ _c"></span>er<span class="_ _f"> </span>of<span class="_ _f"> </span>a<span class="_ _5"></span>rguments,<span class="_ _f"> </span>the<span class="_ _f"> </span>t<span class="_ _5"></span>yp<span class="_ _c"></span>es<span class="_ _a"> </span>of<span class="_ _f"> </span>arguments,<span class="_ _a"> </span>and</div><div class="t m0 xc hc y64 ff4 fs7 fc0 sc0 ls0 ws0">the<span class="_ _f"> </span>o<span class="_ _5"></span>rder<span class="_ _f"> </span>of<span class="_ _f"> </span>the<span class="_ _a"> </span>arguments</div><div class="t m0 xb hc y65 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">The<span class="_ _f"> </span>C++<span class="_ _f"> </span>standa<span class="_ _5"></span>rd<span class="_ _f"> </span>p<span class="_ _5"></span>rohibits<span class="_ _f"> </span>a<span class="_ _f"> </span>function<span class="_ _f"> </span>decla<span class="_ _5"></span>ration<span class="_ _f"> </span>that<span class="_ _a"> </span>only<span class="_ _f"> </span>differs<span class="_ _f"> </span>in<span class="_ _f"> </span>the<span class="_ _f"> </span>return</span></div><div class="t m0 x6 hc y66 ff4 fs7 fc0 sc0 ls0 ws0">t<span class="_ _5"></span>yp<span class="_ _c"></span>e</div><div class="t m0 xb hc y67 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">F<span class="_ _5"></span>unction<span class="_ _f"> </span>decla<span class="_ _5"></span>rations<span class="_ _f"> </span>with<span class="_ _f"> </span>different<span class="_ _f"> </span>signatures<span class="_ _f"> </span>can<span class="_ _f"> </span>have<span class="_ _a"> </span>distinct<span class="_ _f"> </span>return<span class="_ _f"> </span>types</span></div><div class="t m0 xc hc y68 ff1 fs7 fc1 sc0 ls0 ws0">Overloading</div><div class="t m0 xc hc y69 ff1 fs7 fc0 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _6"> </span>overloading<span class="_ _f"> </span><span class="ff4">allows<span class="_ _a"> </span>having<span class="_ _f"> </span>distinct<span class="_ _f"> </span>functions<span class="_ _f"> </span>with<span class="_ _f"> </span>the<span class="_ _f"> </span>same<span class="_ _f"> </span>name<span class="_ _f"> </span>but<span class="_ _f"> </span>with</span></div><div class="t m0 xc hc y6a ff4 fs7 fc0 sc0 ls0 ws0">different<span class="_ _f"> </span><span class="ff11">signatures</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">11/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pfe" class="pf w0 h0" data-page-no="e"><div class="pc pce w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _8"> </span>Signature<span class="_ _8"> </span>and<span class="_ _8"> </span>Overloading<span class="_ _19"> </span>2/2</div><div class="t m0 xc hd y6b ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">a,<span class="_ _10"> </span></span>char<span class="ffb fc5">*<span class="_ _10"> </span><span class="fc0">b);<span class="_ _14"> </span><span class="ffc fc6">//<span class="_ _10"> </span><span class="ffd">signature</span>:<span class="_ _16"> </span>(int,<span class="_ _10"> </span>char*)</span></span></span></div><div class="t m0 xc hd y6c ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>char<span class="_ _10"> </span>f(int<span class="_ _10"> </span>a,<span class="_ _10"> </span>char*<span class="_ _10"> </span>b);<span class="_ _1a"> </span>//<span class="_ _10"> </span><span class="ffd">compile<span class="_ _d"> </span>erro<span class="_ _5"></span>r<span class="_ _10"> </span><span class="ffc">same<span class="_ _10"> </span>signature</span></span></div><div class="t m0 x10 hf y6d ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>but<span class="_ _10"> </span>different<span class="_ _10"> </span>return<span class="_ _10"> </span>types</div><div class="t m0 xc hd y6e ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span><span class="fc8">const<span class="_ _10"> </span></span>int<span class="_ _10"> </span><span class="ffb fc0">a,<span class="_ _10"> </span></span>char<span class="ffb fc5">*<span class="_ _10"> </span><span class="fc0">b);<span class="_ _16"> </span><span class="ffc fc6">//<span class="_ _10"> </span><span class="ffd">same<span class="_ _d"> </span>signature</span>,<span class="_ _10"> </span>ok</span></span></span></div><div class="t m0 x10 hf y6f ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>const<span class="_ _10"> </span>int<span class="_ _10"> </span>==<span class="_ _10"> </span>int</div><div class="t m0 xc hd y70 ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">a,<span class="_ _10"> </span></span><span class="fc8">const<span class="_ _10"> </span></span>char<span class="ffb fc5">*<span class="_ _10"> </span><span class="fc0">b);<span class="_ _16"> </span><span class="ffc fc6">//<span class="_ _10"> </span><span class="ffd">overloading<span class="_ _d"> </span>with<span class="_ _d"> </span>signature</span>:<span class="_ _10"> </span>(int,<span class="_ _10"> </span>const<span class="_ _10"> </span>char*)</span></span></span></div><div class="t m0 xc hd y71 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>float<span class="ffb fc0">);<span class="_ _1b"> </span><span class="ffc fc6">//<span class="_ _10"> </span><span class="ffd">overloading<span class="_ _d"> </span>with<span class="_ _d"> </span>signature</span>:<span class="_ _10"> </span>(float)</span></span></div><div class="t m0 x10 hf y72 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>the<span class="_ _10"> </span>return<span class="_ _10"> </span>type<span class="_ _10"> </span>is<span class="_ _10"> </span>different</div><div class="t m0 x1 h10 y73 ff13 fs8 fc0 sc0 ls0 ws0">GCC<span class="_ _d"> </span>14<span class="_ _d"> </span>adds<span class="_ _d"> </span>the<span class="_ _d"> </span>flag<span class="_ _1c"> </span><span class="ffb">-fdiagnostics-all-candidates<span class="_ _1c"> </span></span>to<span class="_ _d"> </span>show<span class="_ _d"> </span>all<span class="_ _d"> </span>function<span class="_ _1d"> </span>candidates<span class="_ _1d"> </span>when</div><div class="t m0 x1 h10 y74 ff13 fs8 fc0 sc0 ls0 ws0">overload<span class="_ _1d"> </span>resolution<span class="_ _d"> </span>failure<span class="_ _d"> </span>o<span class="_ _c"></span>ccurs</div><div class="t m0 xb hf y75 ffb fs8 fc9 sc0 ls0 ws0">New<span class="_ _10"> </span>C++<span class="_ _10"> </span>features<span class="_ _10"> </span>in<span class="_ _10"> </span>GCC<span class="_ _10"> </span>14</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">12/62</div><a class="l" href="https://developers.redhat.com/articles/2024/05/15/new-c-features-gcc-14#new_and_improved_warnings"><div class="d m1" style="border-style:none;position:absolute;left:34.722000px;bottom:0.271000px;width:124.384000px;height:13.444000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pff" class="pf w0 h0" data-page-no="f"><div class="pc pcf w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Overloading<span class="_ _8"> </span>Resolution<span class="_ _8"> </span>R<span class="_ _5"></span>ules</div><div class="t m0 xb hc y76 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">An<span class="_ _f"> </span>exact<span class="_ _f"> </span>match</span></div><div class="t m0 xb hc y77 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">A<span class="_ _f"> </span>p<span class="_ _5"></span>romotion<span class="_ _f"> </span>(e.g.<span class="_ _3"> </span><span class="ffe">char<span class="_ _12"> </span></span>to<span class="_ _12"> </span><span class="ffe">int<span class="_ _d"> </span></span>)</span></div><div class="t m0 xb hc y78 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">A<span class="_ _f"> </span>standa<span class="_ _5"></span>rd<span class="_ _f"> </span>t<span class="_ _5"></span>yp<span class="_ _c"></span>e<span class="_ _a"> </span>conversion<span class="_ _f"> </span>(e.g.<span class="_ _3"> </span><span class="ffe">float<span class="_ _1e"> </span></span>and<span class="_ _12"> </span><span class="ffe">int<span class="_ _d"> </span></span>)</span></div><div class="t m0 xb hc y79 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">A<span class="_ _f"> </span>constructo<span class="_ _5"></span>r<span class="_ _f"> </span>o<span class="_ _5"></span>r<span class="_ _f"> </span>user-defined<span class="_ _f"> </span>t<span class="_ _5"></span>yp<span class="_ _c"></span>e<span class="_ _a"> </span>conversion<span class="_ _f"> </span><span class="ff14"></span></span></div><div class="t m0 xc hf y7a ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>int<span class="_ _1f"> </span><span class="ffb fc0">a);</span></div><div class="t m0 xc hf y7b ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>float<span class="_ _10"> </span><span class="ffb fc0">b);<span class="_ _20"> </span><span class="ffc fc6">//<span class="_ _10"> </span>overload</span></span></div><div class="t m0 xc hf y7c ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>float<span class="_ _10"> </span><span class="ffb fc0">b,<span class="_ _10"> </span></span>char<span class="_ _10"> </span><span class="ffb fc0">c);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>overload</span></span></div><div class="t m0 xc hf y7d ffc fs8 fc6 sc0 ls0 ws0">//--------------------------------------------------------------</div><div class="t m0 x11 hf y7e ffb fs8 fc0 sc0 ls0 ws0">f(<span class="fc5">0</span>);<span class="_ _14"> </span><span class="ffc fc6">//<span class="_ _10"> </span>exact<span class="_ _10"> </span>match</span></div><div class="t m0 x11 hf y7f ffb fs8 fc0 sc0 ls0 ws0">f(<span class="ff12 fc7">&apos;<span class="ffb">a</span>&apos;</span>);<span class="_ _17"> </span><span class="ffc fc6">//<span class="_ _10"> </span>promotion<span class="_ _10"> </span>from<span class="_ _10"> </span>char<span class="_ _10"> </span>to<span class="_ _10"> </span>int<span class="_ _10"> </span>(promotion)</span></div><div class="t m0 xc hd y80 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>f(3LL);<span class="_ _17"> </span>//<span class="_ _10"> </span><span class="ffd">compile<span class="_ _1d"> </span>error<span class="_ _10"> </span></span>ambiguous<span class="_ _10"> </span>match</div><div class="t m0 x11 hf y81 ffb fs8 fc0 sc0 ls0 ws0">f(<span class="fc5">2.3f</span>);<span class="_ _1a"> </span><span class="ffc fc6">//<span class="_ _10"> </span>exact<span class="_ _10"> </span>match</span></div><div class="t m0 xc hd y82 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>f(2.3);<span class="_ _17"> </span>//<span class="_ _10"> </span><span class="ffd">compile<span class="_ _1d"> </span>error<span class="_ _10"> </span></span>ambiguous<span class="_ _10"> </span>match</div><div class="t m0 x11 hf y83 ffb fs8 fc0 sc0 ls0 ws0">f(<span class="fc5">2.3</span>,<span class="_ _10"> </span><span class="ff12 fc7">&apos;<span class="ffb">a</span>&apos;</span>);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>standard<span class="_ _10"> </span>type<span class="_ _10"> </span>conversion,<span class="_ _10"> </span>ambiguity<span class="_ _10"> </span>is<span class="_ _10"> </span>not<span class="_ _10"> </span>possible<span class="_ _10"> </span>here</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">13/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf10" class="pf w0 h0" data-page-no="10"><div class="pc pc10 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Overloading<span class="_ _8"> </span>and<span class="_ _8"> </span><span class="ff5">=delete</span></div><div class="t m0 xc hc y84 ffe fs7 fc0 sc0 ls0 ws0">=delete<span class="_ _12"> </span><span class="ff4">can<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _a"> </span>used<span class="_ _f"> </span>to<span class="_ _f"> </span>prevent<span class="_ _a"> </span>calling<span class="_ _f"> </span>the<span class="_ _f"> </span>wrong<span class="_ _f"> </span>overload</span></div><div class="t m0 xc hf y85 ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">g<span class="fc0">(</span></span>int<span class="ffb fc0">)<span class="_ _10"> </span>{}</span></div><div class="t m0 xc hf y86 ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">g<span class="fc0">(</span></span>double<span class="ffb fc0">)<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span></span><span class="fc8">delete<span class="ffb fc0">;</span></span></div><div class="t m0 xc hf y87 ffb fs8 fc0 sc0 ls0 ws0">g(<span class="fc5">3</span>);<span class="_ _1f"> </span><span class="ffc fc6">//<span class="_ _10"> </span>ok</span></div><div class="t m0 xc hf y88 ffb fs8 fc0 sc0 ls0 ws0">g(<span class="fc5">3.0</span>);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>compile<span class="_ _10"> </span>error</span></div><div class="t m0 xc hf y89 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>include<span class="_ _22"> </span><span class="fc6">&lt;cstddef&gt;<span class="_ _22"> </span>//<span class="_ _10"> </span>std::nullptr_t</span></div><div class="t m0 xc hf y8a ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>int<span class="ffb fc5">*<span class="fc0">)<span class="_ _10"> </span>{}</span></span></div><div class="t m0 xc hf y8b ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(std<span class="fc5">::</span>nullptr_t)<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span></span></span><span class="fc8">delete<span class="ffb fc0">;</span></span></div><div class="t m0 xc hf y8c ffb fs8 fc0 sc0 ls0 ws0">f(<span class="ff5 fc8">nullptr</span>);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>compile<span class="_ _10"> </span>error</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">14/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf11" class="pf w0 h0" data-page-no="11"><div class="pc pc11 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIx0lEQVR42u3ZoU1EQRCA4VvyNqgNNRDUVUAIQZwgQdLLFYG6DiiCDhAg6ABDB6jLKsY8HAKBeGqW930VTGbNn9lycXm9AQCAND7eXk9sAQCAbEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAA/SkTYAgAAedRaXVIBAEhHpAIAIFIBAECkAgAwnGmgWbc3Ow8GALDM+8vzQNO6pAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQCA/61ExCiz9t49GADAMq21UUattbqkAgCQjkgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAA61YiwhYAAMij1uqSCgBAOiIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRagUAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAZDENNGvv3YMBACzTWhtoWpdUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAANKYrABI4v5wsIRfnvZ7SwDWqUTEKLP23j0YAMAyrbVRRq21+u4HACAdkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACtRIsIWAADIo9bqkgoAQDoiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAD8bTo+nNsCeXzePloCAKzc9uqulLPT+fi12czzbCEAAKTwDQzXLvq0MkxSAAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _8"> </span>Default<span class="_ _8"> </span>P<span class="_ _5"></span>a<span class="_ _5"></span>rameters</div><div class="t m0 xc hc y2f ff1 fs7 fc1 sc0 ls0 ws0">Default/Optional<span class="_ _6"> </span>parameter</div><div class="t m0 xc hc y3b ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="ff1">default<span class="_ _6"> </span>pa<span class="_ _5"></span>rameter<span class="_ _f"> </span><span class="ff4">is<span class="_ _f"> </span>a<span class="_ _f"> </span>function<span class="_ _f"> </span>parameter<span class="_ _a"> </span>that<span class="_ _f"> </span>has<span class="_ _f"> </span>a<span class="_ _f"> </span>default<span class="_ _f"> </span>value</span></span></div><div class="t m0 xe h6 y8d fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">If<span class="_ _a"> </span>the<span class="_ _d"> </span>user<span class="_ _a"> </span>do<span class="_ _c"></span>es<span class="_ _d"> </span>not<span class="_ _a"> </span>supply<span class="_ _a"> </span>a<span class="_ _a"> </span>value<span class="_ _a"> </span>fo<span class="_ _5"></span>r<span class="_ _a"> </span>this<span class="_ _d"> </span>parameter,<span class="_ _d"> </span>the<span class="_ _a"> </span>default<span class="_ _a"> </span>value<span class="_ _a"> </span>will<span class="_ _d"> </span>b<span class="_ _c"></span>e<span class="_ _a"> </span>used</span></div><div class="t m0 xe h6 y8e fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">All<span class="_ _a"> </span>default<span class="_ _d"> </span>parameters<span class="_ _d"> </span>must<span class="_ _a"> </span>b<span class="_ _c"></span>e<span class="_ _d"> </span>the<span class="_ _a"> </span>rightmost<span class="_ _a"> </span>parameters</span></div><div class="t m0 xe h6 y8f fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Default<span class="_ _a"> </span>pa<span class="_ _5"></span>rameters<span class="_ _d"> </span>must<span class="_ _a"> </span>b<span class="_ _c"></span>e<span class="_ _a"> </span>decla<span class="_ _5"></span>red<span class="_ _d"> </span>only<span class="_ _a"> </span>once</span></div><div class="t m0 xe h6 y90 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Default<span class="_ _a"> </span>pa<span class="_ _5"></span>rameters<span class="_ _d"> </span>can<span class="_ _a"> </span>improve<span class="_ _d"> </span>compile<span class="_ _a"> </span>time<span class="_ _a"> </span>and<span class="_ _a"> </span>avoid<span class="_ _d"> </span>redundant<span class="_ _a"> </span>co<span class="_ _c"></span>de<span class="_ _d"> </span>b<span class="_ _c"></span>ecause<span class="_ _a"> </span>they</span></div><div class="t m0 x6 h6 y91 ff4 fs4 fc0 sc0 ls0 ws0">avoid<span class="_ _d"> </span>defining<span class="_ _a"> </span>other<span class="_ _a"> </span>overloaded<span class="_ _a"> </span>functions</div><div class="t m0 xc h11 y92 ff5 fs5 fc3 sc0 ls0 ws0">void<span class="_ _8"> </span><span class="ff15 fc4">f<span class="fc0">(</span></span>int<span class="_ _6"> </span><span class="ff15 fc0">a,<span class="_ _8"> </span></span>int<span class="_ _8"> </span><span class="ff15 fc0">b<span class="_ _6"> </span><span class="fc5">=<span class="_ _8"> </span>20</span>);<span class="_ _20"> </span><span class="ffc fc6">//<span class="_ _8"> </span>declaration</span></span></div><div class="t m0 xc h11 y93 ffc fs5 fc6 sc0 ls0 ws0">//void<span class="_ _8"> </span>f(int<span class="_ _6"> </span>a,<span class="_ _8"> </span>int<span class="_ _6"> </span>b<span class="_ _8"> </span>=<span class="_ _6"> </span>10)<span class="_ _8"> </span>{<span class="_ _8"> </span>...<span class="_ _6"> </span>}<span class="_ _8"> </span>//<span class="_ _6"> </span><span class="ff16">compile<span class="_ _1d"> </span>error</span>,<span class="_ _6"> </span>already<span class="_ _8"> </span>set<span class="_ _8"> </span>in<span class="_ _6"> </span>the<span class="_ _8"> </span>declaration</div><div class="t m0 xc h11 y94 ff5 fs5 fc3 sc0 ls0 ws0">void<span class="_ _8"> </span><span class="ff15 fc4">f<span class="fc0">(</span></span>int<span class="_ _6"> </span><span class="ff15 fc0">a,<span class="_ _8"> </span></span>int<span class="_ _8"> </span><span class="ff15 fc0">b)<span class="_ _6"> </span>{<span class="_ _8"> </span>...<span class="_ _8"> </span>}<span class="_ _23"> </span><span class="ffc fc6">//<span class="_ _8"> </span>definition,<span class="_ _6"> </span>default<span class="_ _8"> </span>value<span class="_ _6"> </span>of<span class="_ _8"> </span>&quot;b&quot;<span class="_ _6"> </span>is<span class="_ _8"> </span>already<span class="_ _8"> </span>set</span></span></div><div class="t m0 xc h11 y95 ff15 fs5 fc0 sc0 ls0 ws0">f(<span class="fc5">5</span>);<span class="_ _24"> </span><span class="ffc fc6">//<span class="_ _8"> </span>b<span class="_ _6"> </span>is<span class="_ _8"> </span>20</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">15/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf12" class="pf w0 h0" data-page-no="12"><div class="pc pc12 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 xa h2 y96 ff1 fs0 fc0 sc0 ls0 ws0">F<span class="_ _e"></span>unction<span class="_ _1"> </span>P<span class="_ _e"></span>ointers</div><div class="t m0 xa h2 y1f ff1 fs0 fc0 sc0 ls0 ws0">and<span class="_ _1"> </span>F<span class="_ _e"></span>unction</div><div class="t m0 xa h2 y97 ff1 fs0 fc0 sc0 ls0 ws0">Objects</div><a class="l" href="#pf12" data-dest-detail='[18,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:171.623000px;width:241.993000px;height:19.206000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf12" data-dest-detail='[18,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:137.252000px;width:241.993000px;height:19.206000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf12" data-dest-detail='[18,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:98.061000px;width:87.942000px;height:24.026000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf13" class="pf w0 h0" data-page-no="13"><div class="pc pc13 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _8"> </span>P<span class="_ _5"></span>ointer<span class="_ _8"> </span>-<span class="_ _8"> </span>F<span class="_ _5"></span>unction<span class="_ _8"> </span>as<span class="_ _8"> </span>Argument<span class="_ _25"> </span>1/2</div><div class="t m0 x1 hc y98 ff4 fs7 fc0 sc0 ls0 ws0">Standa<span class="_ _5"></span>rd<span class="_ _f"> </span>C<span class="_ _f"> </span>achieves<span class="_ _a"> </span>generic<span class="_ _f"> </span>programming<span class="_ _a"> </span>capabilities<span class="_ _f"> </span>and<span class="_ _f"> </span>comp<span class="_ _c"></span>osabilit<span class="_ _5"></span>y<span class="_ _f"> </span>through<span class="_ _f"> </span>the</div><div class="t m0 x1 hc y99 ff4 fs7 fc0 sc0 ls0 ws0">concept<span class="_ _f"> </span>of<span class="_ _8"> </span><span class="ff1">function<span class="_ _6"> </span>p<span class="_ _c"></span>ointer</span></div><div class="t m0 x1 hc y9a ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span>function<span class="_ _a"> </span>can<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _f"> </span>passed<span class="_ _f"> </span>as<span class="_ _f"> </span>a<span class="_ _f"> </span>p<span class="_ _c"></span>ointer<span class="_ _a"> </span>to<span class="_ _f"> </span>another<span class="_ _f"> </span>function<span class="_ _f"> </span>and<span class="_ _f"> </span>b<span class="_ _c"></span>ehaves<span class="_ _a"> </span>as<span class="_ _f"> </span>an<span class="_ _f"> </span><span class="ff11">“indirect</span></div><div class="t m0 x1 h12 y9b ff11 fs7 fc0 sc0 ls0 ws0">call”</div><div class="t m0 xc hf y9c ffc fs8 fca sc0 ls0 ws0">#include<span class="_ _22"> </span><span class="fc6">&lt;stdlib.h&gt;<span class="_ _22"> </span>//<span class="_ _10"> </span>qsort</span></div><div class="t m0 xc hf y9d ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc4">descending<span class="fc0">(</span></span><span class="fc8">const<span class="_ _10"> </span></span>void<span class="ffb fc5">*<span class="_ _10"> </span><span class="fc0">a,<span class="_ _10"> </span></span></span><span class="fc8">const<span class="_ _10"> </span></span>void<span class="ffb fc5">*<span class="_ _10"> </span><span class="fc0">b)<span class="_ _10"> </span>{</span></span></div><div class="t m0 x6 hf y9e ff5 fs8 fc8 sc0 ls0 ws0">return<span class="_ _10"> </span><span class="ffb fc5">*<span class="fc0">((</span></span>const<span class="_ _10"> </span><span class="fc3">int<span class="ffb fc5">*<span class="fc0">)<span class="_ _10"> </span>a)<span class="_ _10"> </span></span>&gt;<span class="_ _10"> </span>*<span class="fc0">((</span></span></span>const<span class="_ _10"> </span><span class="fc3">int<span class="ffb fc5">*<span class="fc0">)<span class="_ _10"> </span>b);</span></span></span></div><div class="t m0 xc hf y9f ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xc hf ya0 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc0">array[]<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>{<span class="fc5">7</span>,<span class="_ _10"> </span><span class="fc5">2</span>,<span class="_ _10"> </span><span class="fc5">5</span>,<span class="_ _10"> </span><span class="fc5">1</span>};</span></div><div class="t m0 xc hf ya1 ffb fs8 fc0 sc0 ls0 ws0">qsort(array,<span class="_ _10"> </span><span class="fc5">4</span>,<span class="_ _10"> </span><span class="ff5 fc8">sizeof</span>(<span class="ff5 fc3">int</span>),<span class="_ _10"> </span>descending);</div><div class="t m0 xc hf ya2 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>array:<span class="_ _10"> </span>{<span class="_ _10"> </span>7,<span class="_ _10"> </span>5,<span class="_ _10"> </span>2,<span class="_ _10"> </span>1<span class="_ _10"> </span>}</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">16/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf14" class="pf w0 h0" data-page-no="14"><div class="pc pc14 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIj0lEQVR42u3YsU0DQRCG0VvrRkQrakCOqAAhYkvujCYoh4Ai3AGRtRGTHBmhA0tIs/Z7Fdz9m3yatn95WwAAoIzT1+fOCgAAVCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAD40zLTCgAA1BERLqkAAJQjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAAJesE33rGMODAQBcp/c+0de6pAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFJNAACASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAACm1DLTCgAA1BERLqkAAJQjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAoYzUBAHADxhi39Du99zt/UJdUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAwt5aZVgAAoI6IcEkFAKAckQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAA/sd6fn+yAvfg+/BhBACYwvPrsbXHh+38syzbthkEAIASfgEvsyAAYWzHCgAAAABJRU5ErkJggg=="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _8"> </span>P<span class="_ _5"></span>ointer<span class="_ _8"> </span>-<span class="_ _8"> </span>F<span class="_ _5"></span>unction<span class="_ _8"> </span>as<span class="_ _8"> </span>Argument<span class="_ _25"> </span>2/2</div><div class="t m0 xc hf ya3 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc4">eval<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">a,<span class="_ _10"> </span></span>int<span class="_ _10"> </span><span class="ffb fc0">b,<span class="_ _10"> </span></span>int<span class="_ _10"> </span><span class="ffb fc0">(<span class="fc5">*</span>f)(</span>int<span class="ffb fc0">,<span class="_ _10"> </span></span>int<span class="ffb fc0">))<span class="_ _10"> </span>{</span></div><div class="t m0 x6 hf ya4 ff5 fs8 fc8 sc0 ls0 ws0">return<span class="_ _10"> </span><span class="ffb fc0">f(a,<span class="_ _10"> </span>b);</span></div><div class="t m0 xc hf ya5 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xc hf ya6 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>type:<span class="_ _10"> </span>int<span class="_ _10"> </span>(*)(int,<span class="_ _10"> </span>int)</div><div class="t m0 xc hf ya7 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc4">add<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">a,<span class="_ _10"> </span></span>int<span class="_ _10"> </span><span class="ffb fc0">b)<span class="_ _10"> </span>{<span class="_ _10"> </span></span><span class="fc8">return<span class="_ _10"> </span><span class="ffb fc0">a<span class="_ _10"> </span><span class="fc5">+<span class="_ _10"> </span></span>b;<span class="_ _10"> </span>}</span></span></div><div class="t m0 xc hf ya8 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc4">sub<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">a,<span class="_ _10"> </span></span>int<span class="_ _10"> </span><span class="ffb fc0">b)<span class="_ _10"> </span>{<span class="_ _10"> </span></span><span class="fc8">return<span class="_ _10"> </span><span class="ffb fc0">a<span class="_ _10"> </span><span class="fc5">-<span class="_ _10"> </span></span>b;<span class="_ _10"> </span>}</span></span></div><div class="t m0 xc hf ya9 ffb fs8 fc0 sc0 ls0 ws0">cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>eval(<span class="fc5">4</span>,<span class="_ _10"> </span><span class="fc5">3</span>,<span class="_ _10"> </span>add);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span>7</span></div><div class="t m0 xc hf yaa ffb fs8 fc0 sc0 ls0 ws0">cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>eval(<span class="fc5">4</span>,<span class="_ _10"> </span><span class="fc5">3</span>,<span class="_ _10"> </span>sub);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span>1</span></div><div class="t m0 x1 hc yab ff1 fs7 fc0 sc0 ls0 ws0">Problems:</div><div class="t m0 x12 hc yac ff1 fs7 fc0 sc0 ls0 ws0">Safet<span class="_ _5"></span>y<span class="_ _4"> </span><span class="ff4">There<span class="_ _f"> </span>is<span class="_ _f"> </span>no<span class="_ _f"> </span>check<span class="_ _a"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>argument<span class="_ _a"> </span>type<span class="_ _f"> </span>in<span class="_ _f"> </span>the<span class="_ _f"> </span>generic<span class="_ _f"> </span>case<span class="_ _f"> </span>(e.g.<span class="_ _3"> </span><span class="ffe">qsort<span class="_ _1d"> </span></span>)</span></div><div class="t m0 x4 hc yad ff1 fs7 fc0 sc0 ls0 ws0">P<span class="_ _5"></span>erfo<span class="_ _5"></span>rmance<span class="_ _4"> </span><span class="ff4">Any<span class="_ _f"> </span>op<span class="_ _c"></span>eration<span class="_ _a"> </span>requires<span class="_ _f"> </span>an<span class="_ _f"> </span>indirect<span class="_ _f"> </span>call<span class="_ _f"> </span>to<span class="_ _f"> </span>the<span class="_ _f"> </span>o<span class="_ _5"></span>riginal<span class="_ _f"> </span>function.<span class="_ _10"> </span>Function</span></div><div class="t m0 x13 hc yae ff4 fs7 fc0 sc0 ls0 ws0">inlining<span class="_ _f"> </span>is<span class="_ _a"> </span>not<span class="_ _f"> </span>p<span class="_ _c"></span>ossible</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">17/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf15" class="pf w0 h0" data-page-no="15"><div class="pc pc15 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIpElEQVR42u3YsU0DQRBA0Vt0I6IVNSAiV4AQInCARGc0QS8EduAOSOiAyNqISY4MEV9gdk/vVTCaSb6m3N0/TgAA0I3P0/HKFgAA6I1IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQDgV8lMWwAAoB8R4ZMKAEB3RCoAACIVAABEKgAAw5kHmnX3tHcwAIB1Pg7vA03rkwoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAtq1k5iizttYcDABgnVrrKKNGhE8qAADdEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAFxMyUxbAACgHxHhkwoAQHdEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAGzEPNCsrTUHAwBYp9Y60LQ+qQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQrAABApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAGF/JTFsAAKAfEeGTCgBAd0QqAAAiFQAARCoAACIVAABEKgAAmzOfX29tAf76en6zBAD4R7uHl1Jurpfz9zQty2IhAAB04QeBQiX8Hqk0fwAAAABJRU5ErkJggg=="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _8"> </span>Object<span class="_ _8"> </span>(o<span class="_ _5"></span>r<span class="_ _8"> </span>F<span class="_ _5"></span>uncto<span class="_ _5"></span>r)<span class="_ _26"> </span>1/2</div><div class="t m0 xc hc y2f ff1 fs7 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _6"> </span>Object</div><div class="t m0 xc hc y3b ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="ff1">function<span class="_ _6"> </span>object</span>,<span class="_ _f"> </span>or<span class="_ _a"> </span><span class="ff1">functor</span>,<span class="_ _a"> </span>is<span class="_ _f"> </span>a<span class="_ _f"> </span><span class="ff11">callable<span class="_ _8"> </span></span>object<span class="_ _a"> </span>that<span class="_ _f"> </span>can<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _a"> </span>treated<span class="_ _f"> </span>as<span class="_ _f"> </span>a</div><div class="t m0 xc hc y3c ff4 fs7 fc0 sc0 ls0 ws0">pa<span class="_ _5"></span>rameter</div><div class="t m0 x1 hc yaf ff4 fs7 fc0 sc0 ls0 ws0">C++<span class="_ _f"> </span>p<span class="_ _5"></span>rovides<span class="_ _f"> </span>a<span class="_ _a"> </span>more<span class="_ _a"> </span>efficient<span class="_ _f"> </span>and<span class="_ _f"> </span>convenient<span class="_ _f"> </span>wa<span class="_ _5"></span>y<span class="_ _a"> </span>to<span class="_ _f"> </span>pass<span class="_ _f"> </span><span class="ff11">“procedure”<span class="_ _8"> </span></span>to<span class="_ _f"> </span>other</div><div class="t m0 x1 hc yb0 ff4 fs7 fc0 sc0 ls0 ws0">functions<span class="_ _f"> </span>called<span class="_ _a"> </span><span class="ff1">function<span class="_ _8"> </span>object</span></div><div class="t m0 xc hf yb1 ffc fs8 fca sc0 ls0 ws0">#include<span class="_ _22"> </span><span class="fc6">&lt;algorithm&gt;<span class="_ _22"> </span>//<span class="_ _10"> </span>for<span class="_ _10"> </span>std::sort</span></div><div class="t m0 xc hf yb2 ff5 fs8 fc8 sc0 ls0 ws0">struct<span class="_ _10"> </span><span class="fc4">Descending<span class="_ _10"> </span><span class="ffb fc0">{<span class="_ _1b"> </span><span class="ffc fc6">//<span class="_ _10"> </span>&lt;--<span class="_ _10"> </span>function<span class="_ _10"> </span>object</span></span></span></div><div class="t m0 x6 hf yb3 ff5 fs8 fc3 sc0 ls0 ws0">bool<span class="_ _10"> </span><span class="ffb fc4">operator<span class="fc0">()(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">a,<span class="_ _10"> </span></span>int<span class="_ _10"> </span><span class="ffb fc0">b)<span class="_ _10"> </span>{<span class="_ _16"> </span><span class="ffc fc6">//<span class="_ _10"> </span>function<span class="_ _10"> </span>call<span class="_ _10"> </span>operator</span></span></div><div class="t m0 x14 hf yb4 ff5 fs8 fc8 sc0 ls0 ws0">return<span class="_ _10"> </span><span class="ffb fc0">a<span class="_ _10"> </span><span class="fc5">&gt;<span class="_ _10"> </span></span>b;</span></div><div class="t m0 x6 hf yb5 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xc hf yb6 ffb fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 xc hf yb7 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc0">array[]<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>{<span class="fc5">7</span>,<span class="_ _10"> </span><span class="fc5">2</span>,<span class="_ _10"> </span><span class="fc5">5</span>,<span class="_ _10"> </span><span class="fc5">1</span>};</span></div><div class="t m0 xc hf yb8 ffb fs8 fc0 sc0 ls0 ws0">std<span class="fc5">::</span>sort(array,<span class="_ _10"> </span>array<span class="_ _10"> </span><span class="fc5">+<span class="_ _10"> </span>4</span>,<span class="_ _10"> </span>Descending{});</div><div class="t m0 xc hf yb9 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>array:<span class="_ _10"> </span>{<span class="_ _10"> </span>7,<span class="_ _10"> </span>5,<span class="_ _10"> </span>2,<span class="_ _10"> </span>1<span class="_ _10"> </span>}</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">18/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf16" class="pf w0 h0" data-page-no="16"><div class="pc pc16 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _8"> </span>Object<span class="_ _8"> </span>(o<span class="_ _5"></span>r<span class="_ _8"> </span>F<span class="_ _5"></span>uncto<span class="_ _5"></span>r)<span class="_ _26"> </span>2/2</div><div class="t m0 x1 hc yba ff1 fs7 fc0 sc0 ls0 ws0">A<span class="_ _5"></span>dvantages:</div><div class="t m0 x12 hc ybb ff1 fs7 fc0 sc0 ls0 ws0">Safet<span class="_ _5"></span>y<span class="_ _4"> </span><span class="ff4">Argument<span class="_ _f"> </span>t<span class="_ _5"></span>yp<span class="_ _c"></span>e<span class="_ _a"> </span>checking<span class="_ _f"> </span>is<span class="_ _f"> </span>alwa<span class="_ _5"></span>ys<span class="_ _a"> </span>p<span class="_ _c"></span>ossible.<span class="_ _10"> </span>It<span class="_ _f"> </span>could<span class="_ _f"> </span>involve<span class="_ _f"> </span>templates</span></div><div class="t m0 x4 hc ybc ff1 fs7 fc0 sc0 ls0 ws0">P<span class="_ _5"></span>erfo<span class="_ _5"></span>rmance<span class="_ _4"> </span><span class="ff4">The<span class="_ _f"> </span>compiler<span class="_ _f"> </span>injects<span class="_ _12"> </span><span class="ffe">operator()<span class="_ _12"> </span></span>in<span class="_ _f"> </span>the<span class="_ _f"> </span>co<span class="_ _c"></span>de<span class="_ _f"> </span>of<span class="_ _a"> </span>the<span class="_ _f"> </span>destination<span class="_ _f"> </span>function</span></div><div class="t m0 x13 hc ybd ff4 fs7 fc0 sc0 ls0 ws0">and<span class="_ _f"> </span>then<span class="_ _a"> </span>compile<span class="_ _f"> </span>the<span class="_ _f"> </span>routine.<span class="_ _b"> </span>Operator<span class="_ _a"> </span>inlining<span class="_ _f"> </span>is<span class="_ _f"> </span>the<span class="_ _f"> </span>standard<span class="_ _a"> </span>b<span class="_ _c"></span>ehavio<span class="_ _5"></span>r</div><div class="t m0 x1 hc ybe ff4 fs7 fcb sc0 ls0 ws0">C++11<span class="_ _f"> </span><span class="fc0">simplifies<span class="_ _a"> </span>the<span class="_ _f"> </span>concept<span class="_ _f"> </span>by<span class="_ _a"> </span>providing<span class="_ _a"> </span>less<span class="_ _f"> </span>verb<span class="_ _c"></span>ose<span class="_ _a"> </span><span class="ffe">function<span class="_ _13"> </span>objects<span class="_ _f"> </span></span>called</span></div><div class="t m0 x1 hc ybf ff1 fs7 fc0 sc0 ls0 ws0">lamb<span class="_ _c"></span>da<span class="_ _f"> </span>expressions</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">19/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf17" class="pf w0 h0" data-page-no="17"><div class="pc pc17 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 xa h2 y1f ff1 fs0 fc0 sc0 ls0 ws0">Lamb<span class="_ _0"></span>da<span class="_ _1"> </span>Exp<span class="_ _e"></span>ressions</div><a class="l" href="#pf17" data-dest-detail='[23,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:132.432000px;width:230.130000px;height:24.026000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf18" class="pf w0 h0" data-page-no="18"><div class="pc pc18 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Lamb<span class="_ _c"></span>da<span class="_ _8"> </span>Exp<span class="_ _5"></span>ression</div><div class="t m0 xc hc y60 ff1 fs7 fc1 sc0 ls0 ws0">Lamb<span class="_ _c"></span>da<span class="_ _f"> </span>Expression</div><div class="t m0 xc hc yc0 ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="fcb">C++11<span class="_ _a"> </span></span><span class="ff1">lamb<span class="_ _c"></span>da<span class="_ _6"> </span>expression<span class="_ _a"> </span></span>is<span class="_ _f"> </span>an<span class="_ _f"> </span><span class="ff11">inline<span class="_ _f"> </span>lo<span class="_ _c"></span>cal-scop<span class="_ _c"></span>e<span class="_ _6"> </span></span>function<span class="_ _f"> </span>object</div><div class="t m0 xc he yc1 ff5 fs7 fc0 sc0 ls0 ws0">auto<span class="_ _13"> </span>x<span class="_ _13"> </span>=<span class="_ _1c"> </span><span class="ffe fc4">[capture<span class="_ _13"> </span>clause]<span class="_ _13"> </span>(parameters)<span class="_ _13"> </span>{<span class="_ _13"> </span>body<span class="_ _13"> </span>}</span></div><div class="t m0 xb hc yc2 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">The<span class="_ _12"> </span><span class="ff5">[capture<span class="_ _13"> </span>clause]<span class="_ _12"> </span></span>marks<span class="_ _a"> </span>the<span class="_ _f"> </span>declaration<span class="_ _a"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>lamb<span class="_ _c"></span>da<span class="_ _a"> </span>and<span class="_ _f"> </span>how<span class="_ _a"> </span>the<span class="_ _f"> </span>lo<span class="_ _c"></span>cal</span></div><div class="t m0 x6 hc yc3 ff4 fs7 fc0 sc0 ls0 ws0">scop<span class="_ _c"></span>e<span class="_ _a"> </span>arguments<span class="_ _a"> </span>are<span class="_ _a"> </span>captured<span class="_ _f"> </span>(b<span class="_ _5"></span>y-value,<span class="_ _f"> </span>b<span class="_ _5"></span>y-reference,<span class="_ _f"> </span>etc.)</div><div class="t m0 xb hc yc4 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">The<span class="_ _12"> </span><span class="ff5">parameters<span class="_ _12"> </span></span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>lamb<span class="_ _c"></span>da<span class="_ _f"> </span>a<span class="_ _5"></span>re<span class="_ _f"> </span>no<span class="_ _5"></span>rmal<span class="_ _f"> </span>function<span class="_ _f"> </span>pa<span class="_ _5"></span>rameters<span class="_ _f"> </span>(optional<span class="_ _f"> </span>in</span></div><div class="t m0 x6 hc yc5 ff4 fs7 fcb sc0 ls0 ws0">C++23<span class="fc0">*)</span></div><div class="t m0 xb hc yc6 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">The<span class="_ _12"> </span><span class="ff5">body<span class="_ _12"> </span></span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>lamb<span class="_ _c"></span>da<span class="_ _f"> </span>is<span class="_ _f"> </span>a<span class="_ _f"> </span>no<span class="_ _5"></span>rmal<span class="_ _f"> </span>function<span class="_ _f"> </span>b<span class="_ _c"></span>ody</span></div><div class="t m0 x1 hc yc7 ff11 fs7 fc0 sc0 ls0 ws0">The<span class="_ _f"> </span>exp<span class="_ _5"></span>ression<span class="_ _f"> </span>to<span class="_ _a"> </span>the<span class="_ _f"> </span>right<span class="_ _10"> </span><span class="ff4">of<span class="_ _12"> </span><span class="ffe">=<span class="_ _12"> </span></span>is<span class="_ _f"> </span>the<span class="_ _f"> </span><span class="ff1">lamb<span class="_ _c"></span>da<span class="_ _6"> </span>expression</span>,<span class="_ _a"> </span>and<span class="_ _f"> </span></span>the<span class="_ _f"> </span>runtime<span class="_ _f"> </span>object</div><div class="t m0 xc hc yc8 ffe fs7 fc0 sc0 ls0 ws0">x<span class="_ _12"> </span><span class="ff4">created<span class="_ _f"> </span>by<span class="_ _a"> </span>that<span class="_ _f"> </span>exp<span class="_ _5"></span>ression<span class="_ _f"> </span>is<span class="_ _f"> </span>the<span class="_ _f"> </span><span class="ff1">closure</span></span></div><div class="t m0 xb h10 yc9 ff1 fs8 fc9 sc0 ls0 ws0">*<span class="_ _1d"> </span><span class="ff13">some<span class="_ _d"> </span>compilers<span class="_ _d"> </span>supp<span class="_ _c"></span>ort<span class="_ _1d"> </span>lambd<span class="_ _c"></span>a<span class="_ _1d"> </span>expressions<span class="_ _1d"> </span>without<span class="_ _d"> </span>pa<span class="_ _5"></span>rameters<span class="_ _d"> </span>in<span class="_ _d"> </span>previous<span class="_ _1d"> </span>C++<span class="_ _d"> </span>standards</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">20/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf19" class="pf w0 h0" data-page-no="19"><div class="pc pc19 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Lamb<span class="_ _c"></span>da<span class="_ _8"> </span>Exp<span class="_ _5"></span>ression<span class="_ _8"> </span>Examples</div><div class="t m0 xc hf yca ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>include<span class="_ _22"> </span><span class="fc6">&lt;algorithm&gt;<span class="_ _22"> </span>//<span class="_ _10"> </span>for<span class="_ _10"> </span>std::sort</span></div><div class="t m0 xc hf ycb ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc0">array[]<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>{<span class="fc5">7</span>,<span class="_ _10"> </span><span class="fc5">2</span>,<span class="_ _10"> </span><span class="fc5">5</span>,<span class="_ _10"> </span><span class="fc5">1</span>};</span></div><div class="t m0 xc hf ycc ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[](</span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">a,<span class="_ _10"> </span></span>int<span class="_ _10"> </span><span class="ffb fc0">b){<span class="_ _10"> </span></span></span>return<span class="_ _10"> </span><span class="ffb fc0">a<span class="_ _10"> </span><span class="fc5">&gt;<span class="_ _10"> </span></span>b;<span class="_ _10"> </span>};<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span><span class="ff17">named<span class="_ _10"> </span></span>lambda</span></span></div><div class="t m0 xc hf ycd ffb fs8 fc0 sc0 ls0 ws0">std<span class="fc5">::</span>sort(array,<span class="_ _10"> </span>array<span class="_ _10"> </span><span class="fc5">+<span class="_ _10"> </span>4</span>,<span class="_ _10"> </span>lambda);</div><div class="t m0 xc hf yce ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>array:<span class="_ _10"> </span>{<span class="_ _10"> </span>7,<span class="_ _10"> </span>5,<span class="_ _10"> </span>2,<span class="_ _10"> </span>1<span class="_ _10"> </span>}</div><div class="t m0 xc hf ycf ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>in<span class="_ _10"> </span>alternative,<span class="_ _10"> </span>in<span class="_ _10"> </span>one<span class="_ _10"> </span>line<span class="_ _10"> </span>of<span class="_ _10"> </span>code:<span class="_ _27"> </span>//<span class="_ _10"> </span><span class="ff17">unnamed<span class="_ _10"> </span></span>lambda</div><div class="t m0 xc hf yd0 ffb fs8 fc0 sc0 ls0 ws0">std<span class="fc5">::</span>sort(array,<span class="_ _10"> </span>array<span class="_ _10"> </span><span class="fc5">+<span class="_ _10"> </span>4</span>,<span class="_ _10"> </span>[](<span class="ff5 fc3">int<span class="_ _10"> </span></span>a,<span class="_ _10"> </span><span class="ff5 fc3">int<span class="_ _10"> </span></span>b){<span class="_ _10"> </span><span class="ff5 fc8">return<span class="_ _10"> </span></span>a<span class="_ _10"> </span><span class="fc5">&gt;<span class="_ _10"> </span></span>b;<span class="_ _10"> </span>});</div><div class="t m0 xc hf yd1 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>array:<span class="_ _10"> </span>{<span class="_ _10"> </span>7,<span class="_ _10"> </span>5,<span class="_ _10"> </span>2,<span class="_ _10"> </span>1<span class="_ _10"> </span>}</div><div class="t m0 xc hf yd2 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda2<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[]{<span class="_ _10"> </span></span>return<span class="_ _10"> </span><span class="ffb fc5">3<span class="fc0">;<span class="_ _10"> </span>};<span class="_ _1b"> </span><span class="ffc fc6">//<span class="_ _10"> </span><span class="ff17">no<span class="_ _10"> </span>parameters</span>,<span class="_ _10"> </span>C++23</span></span></span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">21/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf1a" class="pf w0 h0" data-page-no="1a"><div class="pc pc1a w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Capture<span class="_ _8"> </span>List</div><div class="t m0 x1 hc y84 ff4 fs7 fc0 sc0 ls0 ws0">Lamb<span class="_ _c"></span>da<span class="_ _a"> </span>expressions<span class="_ _a"> </span><span class="ff11">capture<span class="_ _8"> </span></span>external<span class="_ _a"> </span>variables<span class="_ _a"> </span>used<span class="_ _f"> </span>in<span class="_ _f"> </span>the<span class="_ _f"> </span>b<span class="_ _c"></span>ody<span class="_ _f"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>lamb<span class="_ _c"></span>da<span class="_ _f"> </span>in<span class="_ _f"> </span>t<span class="_ _5"></span>w<span class="_ _5"></span>o</div><div class="t m0 x1 hc yd3 ff4 fs7 fc0 sc0 ls0 ws0">w<span class="_ _5"></span>a<span class="_ _5"></span>ys:</div><div class="t m0 xb hc yd4 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Capture<span class="_ _f"> </span><span class="ff11">b<span class="_ _5"></span>y-value</span></span></div><div class="t m0 xb hc yd5 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Capture<span class="_ _f"> </span><span class="ff11">b<span class="_ _5"></span>y-reference<span class="_ _8"> </span><span class="ff4">(can<span class="_ _a"> </span>mo<span class="_ _c"></span>dify<span class="_ _a"> </span>external<span class="_ _f"> </span>variable<span class="_ _a"> </span>values)</span></span></span></div><div class="t m0 x1 hc yd6 ff1 fs7 fc0 sc0 ls0 ws0">Capture<span class="_ _6"> </span>list<span class="_ _f"> </span><span class="ff4">can<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _a"> </span>passed<span class="_ _f"> </span>as<span class="_ _f"> </span>follows</span></div><div class="t m0 xb hc yd7 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe fc4">[]<span class="_ _12"> </span></span><span class="ff4">no<span class="_ _f"> </span>capture</span></div><div class="t m0 xb hc yd8 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe fc4">[=]<span class="_ _12"> </span></span><span class="ff4">captures<span class="_ _f"> </span>all<span class="_ _f"> </span>va<span class="_ _5"></span>riables<span class="_ _f"> </span><span class="ff11">b<span class="_ _5"></span>y-value</span></span></div><div class="t m0 xb hc yd9 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe fc4">[&amp;]<span class="_ _12"> </span></span><span class="ff4">captures<span class="_ _f"> </span>all<span class="_ _f"> </span>va<span class="_ _5"></span>riables<span class="_ _f"> </span><span class="ff11">b<span class="_ _5"></span>y-reference</span></span></div><div class="t m0 xb hc yda fff fs7 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe fc4">[var1]<span class="_ _12"> </span></span><span class="ff4">captures<span class="_ _f"> </span>only<span class="_ _12"> </span><span class="ffe">var1<span class="_ _1e"> </span><span class="ff11">b<span class="_ _5"></span>y-value</span></span></span></div><div class="t m0 xb hc ydb fff fs7 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe fc4">[&amp;var2]<span class="_ _12"> </span></span><span class="ff4">captures<span class="_ _f"> </span>only<span class="_ _12"> </span><span class="ffe">var2<span class="_ _1e"> </span><span class="ff11">b<span class="_ _5"></span>y-reference</span></span></span></div><div class="t m0 xb hc ydc fff fs7 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe fc4">[var1,<span class="_ _13"> </span>&amp;var2]<span class="_ _12"> </span></span><span class="ff4">captures<span class="_ _12"> </span><span class="ffe">var1<span class="_ _1e"> </span><span class="ff11">b<span class="_ _5"></span>y-value<span class="_ _8"> </span><span class="ff4">and<span class="_ _22"> </span><span class="ffe">var2<span class="_ _1e"> </span></span></span>by-reference</span></span></span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">22/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf1b" class="pf w0 h0" data-page-no="1b"><div class="pc pc1b w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Capture<span class="_ _8"> </span>List<span class="_ _8"> </span>Examples</div><div class="t m0 xc hf ydd ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>GOAL:<span class="_ _10"> </span>find<span class="_ _10"> </span>the<span class="_ _10"> </span>first<span class="_ _10"> </span>element<span class="_ _10"> </span>greater<span class="_ _10"> </span>than<span class="_ _10"> </span>&quot;limit&quot;</div><div class="t m0 xc hf yde ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>include<span class="_ _22"> </span><span class="fc6">&lt;algorithm&gt;<span class="_ _22"> </span>//<span class="_ _10"> </span>for<span class="_ _10"> </span>std::find_if</span></div><div class="t m0 xc hf ydf ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc0">limit<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>...</span></div><div class="t m0 xc hf ye0 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda1<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[<span class="fc5">=</span>](</span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">value)<span class="_ _17"> </span>{<span class="_ _10"> </span></span></span>return<span class="_ _10"> </span><span class="ffb fc0">value<span class="_ _10"> </span><span class="fc5">&gt;<span class="_ _10"> </span></span>limit;<span class="_ _10"> </span>};<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>by-value</span></span></div><div class="t m0 xc hf ye1 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda2<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[<span class="fc5">&amp;</span>](</span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">value)<span class="_ _17"> </span>{<span class="_ _10"> </span></span></span>return<span class="_ _10"> </span><span class="ffb fc0">value<span class="_ _10"> </span><span class="fc5">&gt;<span class="_ _10"> </span></span>limit;<span class="_ _10"> </span>};<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>by-reference</span></span></div><div class="t m0 xc hf ye2 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda3<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[limit](</span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">value)<span class="_ _16"> </span>{<span class="_ _10"> </span></span></span>return<span class="_ _10"> </span><span class="ffb fc0">value<span class="_ _10"> </span><span class="fc5">&gt;<span class="_ _10"> </span></span>limit;<span class="_ _10"> </span>};<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>&quot;limit&quot;<span class="_ _10"> </span>by-value</span></span></div><div class="t m0 xc hf ye3 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda4<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[<span class="fc5">&amp;</span>limit](</span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">value)<span class="_ _10"> </span>{<span class="_ _10"> </span></span></span>return<span class="_ _10"> </span><span class="ffb fc0">value<span class="_ _10"> </span><span class="fc5">&gt;<span class="_ _10"> </span></span>limit;<span class="_ _10"> </span>};<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>&quot;limit&quot;<span class="_ _10"> </span>by-reference</span></span></div><div class="t m0 xc hf ye4 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>auto<span class="_ _10"> </span>lambda5<span class="_ _10"> </span>=<span class="_ _10"> </span>[](int<span class="_ _10"> </span>value)<span class="_ _18"> </span>{<span class="_ _10"> </span>return<span class="_ _10"> </span>value<span class="_ _10"> </span>&gt;<span class="_ _10"> </span>limit;<span class="_ _10"> </span>};<span class="_ _10"> </span>//<span class="_ _10"> </span>no<span class="_ _10"> </span>capture</div><div class="t m0 x15 hd ye5 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span><span class="ffd">compile<span class="_ _1d"> </span>error</span></div><div class="t m0 xc hf ye6 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc0">array[]<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>{<span class="fc5">7</span>,<span class="_ _10"> </span><span class="fc5">2</span>,<span class="_ _10"> </span><span class="fc5">5</span>,<span class="_ _10"> </span><span class="fc5">1</span>};</span></div><div class="t m0 xc hf ye7 ffb fs8 fc0 sc0 ls0 ws0">std<span class="fc5">::</span>find_if(array,<span class="_ _10"> </span>array<span class="_ _10"> </span><span class="fc5">+<span class="_ _10"> </span>4</span>,<span class="_ _10"> </span>lambda1);</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">23/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf1c" class="pf w0 h0" data-page-no="1c"><div class="pc pc1c w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAI4ElEQVR42u3YMYpUURCG0b7yCqPCNQxGswIRY8GduQmXYzCLcAcTDRVZSZvJgCDN0EPXm3fOCi7/TT5qffz05QQAAGP8evj5zgoAAEwjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAA+Gt1txUAAJgjIlxSAQAYR6QCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgDAwWwmuFxVGeFWMtMIAHAcLqkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgDAVa3utgIAAHNEhEsqAADjiFQAAMbZTHA0VbWj12amLwOAA3JJBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAC3tbrbCgAAzBERLqkAAIwjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgDA/20muFxVGeE1ZKYRAIDnXFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQCAq1rdbQUAAOaICJdUAADGEakAAIyzmeBoqmpHr81MXwYAB+SSCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABua3W3FQAAmCMiXFIBABhHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAAHi5zQSXqyojvIbMNAIA8JxLKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEA2LfV3VYAAGCOiHBJBQBgHJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAN62bUdvrSofBgDwMpm5o9e6pAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFJNAACASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAA17W62woAAMwRES6pAACMI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUA4I3Znr7fWQH41+PXH0YA4CbuP39b68P789Pv0+l8PhsEAIAR/gA2VDf4DtnlDAAAAABJRU5ErkJggg=="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Capture<span class="_ _8"> </span>List<span class="_ _8"> </span>-<span class="_ _8"> </span>Other<span class="_ _8"> </span>Cases</div><div class="t m0 xb hc ye8 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ff5">[=,<span class="_ _13"> </span>&amp;var1]<span class="_ _12"> </span><span class="ff4">captures<span class="_ _f"> </span>all<span class="_ _f"> </span>va<span class="_ _5"></span>riables<span class="_ _f"> </span>used<span class="_ _f"> </span>in<span class="_ _f"> </span>the<span class="_ _f"> </span>b<span class="_ _c"></span>ody<span class="_ _f"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>lamb<span class="_ _c"></span>da<span class="_ _a"> </span><span class="ff1">by-value</span>,</span></span></div><div class="t m0 x6 hc ye9 ff4 fs7 fc0 sc0 ls0 ws0">except<span class="_ _12"> </span><span class="ffe">var1<span class="_ _12"> </span></span>that<span class="_ _f"> </span>is<span class="_ _f"> </span>captured<span class="_ _f"> </span><span class="ff1">by-reference</span></div><div class="t m0 xb hc yea fff fs7 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ff5">[&amp;,<span class="_ _13"> </span>var1]<span class="_ _12"> </span><span class="ff4">captures<span class="_ _f"> </span>all<span class="_ _f"> </span>va<span class="_ _5"></span>riables<span class="_ _f"> </span>used<span class="_ _f"> </span>in<span class="_ _f"> </span>the<span class="_ _f"> </span>b<span class="_ _c"></span>ody<span class="_ _f"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>lamb<span class="_ _c"></span>da<span class="_ _a"> </span><span class="ff1">by-reference</span>,</span></span></div><div class="t m0 x6 hc yeb ff4 fs7 fc0 sc0 ls0 ws0">except<span class="_ _12"> </span><span class="ffe">var1<span class="_ _12"> </span></span>that<span class="_ _f"> </span>is<span class="_ _f"> </span>captured<span class="_ _f"> </span><span class="ff1">by-value</span></div><div class="t m0 xb hc yec fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">A<span class="_ _f"> </span>lamb<span class="_ _c"></span>da<span class="_ _a"> </span>expression<span class="_ _a"> </span>can<span class="_ _f"> </span>read<span class="_ _f"> </span>a<span class="_ _f"> </span>va<span class="_ _5"></span>riable<span class="_ _f"> </span>without<span class="_ _f"> </span>capturing<span class="_ _f"> </span>it<span class="_ _f"> </span>if<span class="_ _f"> </span>the<span class="_ _a"> </span>variable<span class="_ _a"> </span>is</span></div><div class="t m0 x16 he yed ffe fs7 fc0 sc0 ls0 ws0">constexpr</div><div class="t m0 xc hf yee ff5 fs8 fc8 sc0 ls0 ws0">constexpr<span class="_ _10"> </span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">limit<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span>5</span>;</span></span></div><div class="t m0 xc hf yef ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc0">var1<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span>3</span>,<span class="_ _10"> </span>var2<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span>4</span>;</span></div><div class="t m0 xc hf yf0 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda1<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[](</span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">value){<span class="_ _10"> </span></span></span>return<span class="_ _10"> </span><span class="ffb fc0">value<span class="_ _10"> </span><span class="fc5">&gt;<span class="_ _10"> </span></span>limit;<span class="_ _10"> </span>};</span></div><div class="t m0 xc hf yf1 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda2<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[<span class="fc5">=</span>,<span class="_ _10"> </span><span class="fc5">&amp;</span>var2]()<span class="_ _10"> </span>{<span class="_ _10"> </span></span>return<span class="_ _10"> </span><span class="ffb fc0">var1<span class="_ _10"> </span><span class="fc5">&gt;<span class="_ _10"> </span></span>var2;<span class="_ _1f"> </span>};</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">24/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf1d" class="pf w0 h0" data-page-no="1d"><div class="pc pc1d w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIdklEQVR42u3YsQlCMRSG0UResArOIFZOIGItuJlLOI6FQ7iB1eNVpomdA6jFfXjOBOFP83HzZndIAAAQxv12XVgBAIBoRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAAG+5tWYFAADiKKW4pAIAEI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAIYJjRW6dp8mEAAJ+ptc7otS6pAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVBMAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAgFnKrTUrAAAQRynFJRUAgHBEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAPAXhvG8tgLwpcfxYgQAfmW7P+W8WvbxmVLv3SAAAITwAlOvGgKxHcyyAAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Lamb<span class="_ _c"></span>da<span class="_ _8"> </span>Exp<span class="_ _5"></span>ression<span class="_ _8"> </span>and<span class="_ _8"> </span>F<span class="_ _5"></span>unction<span class="_ _8"> </span>Relation</div><div class="t m0 x1 hc yf2 ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="ff11">lamb<span class="_ _c"></span>da<span class="_ _a"> </span>expression<span class="_ _a"> </span></span>can<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _f"> </span>converted<span class="_ _f"> </span>to<span class="_ _f"> </span>a<span class="_ _f"> </span>function<span class="_ _a"> </span>(<span class="ff11">stateless<span class="_ _28"></span></span>)<span class="_ _f"> </span>if<span class="_ _a"> </span>its<span class="_ _f"> </span>capture<span class="_ _f"> </span>list<span class="_ _f"> </span>is</div><div class="t m0 x1 hc yf3 ff4 fs7 fc0 sc0 ls0 ws0">empt<span class="_ _5"></span>y</div><div class="t m0 xc hf yf4 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span><span class="ff17">lambda_func<span class="_ _10"> </span></span>is<span class="_ _10"> </span>equivalent<span class="_ _10"> </span>to</div><div class="t m0 xc hf yf5 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>int<span class="_ _10"> </span><span class="ff17">lambda_func</span>(int<span class="_ _10"> </span>first,<span class="_ _10"> </span>int<span class="_ _10"> </span>second){<span class="_ _10"> </span>return<span class="_ _10"> </span>first<span class="_ _10"> </span>+<span class="_ _10"> </span>second;<span class="_ _10"> </span>};</div><div class="t m0 xc hf yf6 ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">(lambda_func)(</span>int<span class="ffb fc0">,<span class="_ _10"> </span></span>int<span class="ffb fc0">))<span class="_ _10"> </span>{</span></div><div class="t m0 x6 hf yf7 ffb fs8 fc0 sc0 ls0 ws0">cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>lambda_func(<span class="fc5">2</span>,<span class="_ _10"> </span><span class="fc5">3</span>);</div><div class="t m0 xc hf yf8 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xc hf yf9 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[](</span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">first,<span class="_ _10"> </span></span>int<span class="_ _10"> </span><span class="ffb fc0">second){<span class="_ _10"> </span></span></span>return<span class="_ _10"> </span><span class="ffb fc0">first<span class="_ _10"> </span><span class="fc5">+<span class="_ _10"> </span></span>second;<span class="_ _10"> </span>};</span></div><div class="t m0 xc hf yfa ffb fs8 fc0 sc0 ls0 ws0">f(lambda);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span>5</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">25/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf1e" class="pf w0 h0" data-page-no="1e"><div class="pc pc1e w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">P<span class="_ _5"></span>a<span class="_ _5"></span>rameter<span class="_ _8"> </span>Notes</div><div class="t m0 x1 hc yfb ff4 fs7 fcb sc0 ls0 ws0">C++14<span class="_ _f"> </span><span class="fc0">Lamb<span class="_ _c"></span>da<span class="_ _a"> </span>expression<span class="_ _a"> </span>pa<span class="_ _5"></span>rameters<span class="_ _f"> </span>can<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _a"> </span>automatically<span class="_ _f"> </span>deduced</span></div><div class="t m0 xc he yfc ffe fs7 fc0 sc0 ls0 ws0">auto<span class="_ _13"> </span>x<span class="_ _13"> </span>=<span class="_ _13"> </span>[](<span class="fc4">auto<span class="_ _13"> </span></span>value)<span class="_ _13"> </span>{<span class="_ _13"> </span>return<span class="_ _13"> </span>value<span class="_ _13"> </span>+<span class="_ _13"> </span>4;<span class="_ _13"> </span>};</div><div class="t m0 x1 hc yfd ff4 fs7 fcb sc0 ls0 ws0">C++14<span class="_ _f"> </span><span class="fc0">Lamb<span class="_ _c"></span>da<span class="_ _a"> </span>expression<span class="_ _a"> </span>pa<span class="_ _5"></span>rameters<span class="_ _f"> </span>can<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _a"> </span>initialized</span></div><div class="t m0 xc he yfe ffe fs7 fc0 sc0 ls0 ws0">auto<span class="_ _13"> </span>x<span class="_ _13"> </span>=<span class="_ _13"> </span>[](int<span class="_ _13"> </span>i<span class="_ _13"> </span>=<span class="_ _13"> </span>6)<span class="_ _13"> </span>{<span class="_ _13"> </span>return<span class="_ _13"> </span>i<span class="_ _13"> </span>+<span class="_ _13"> </span>4;<span class="_ _13"> </span>};</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">26/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf1f" class="pf w0 h0" data-page-no="1f"><div class="pc pc1f w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIjElEQVR42u3YsU0DQRCG0VvrRkQr12ARUQFCji3RGU24HAcuwh0QWRsxyZEROnDCnO69Clb/Jp+mvb4fJwAAKON2veysAABANSIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAIA/LTOtAABAHRHhkgoAQDkiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAMD/mVf01jGGDwMAeE7vfUWvdUkFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCALA9LTOtAABAHRHhkgoAQDkiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCALBF84reOsbwYQAAz+m9r+i1LqkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAALanZaYVAACoIyJcUgEAKEekAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAIDH5vvXwQpATd+nsxEANujt47O1/cty/5mmZVkMAgBACb8NvSAAkt0IrAAAAABJRU5ErkJggg=="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Comp<span class="_ _c"></span>osabilit<span class="_ _5"></span>y<span class="_ _29"> </span>1/2</div><div class="t m0 x1 hc y84 ff1 fs7 fc0 sc0 ls0 ws0">Lamb<span class="_ _c"></span>da<span class="_ _f"> </span>expressions<span class="_ _f"> </span>can<span class="_ _8"> </span>be<span class="_ _8"> </span>composed</div><div class="t m0 xc hf y85 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda1<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[](</span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">value){<span class="_ _10"> </span></span></span>return<span class="_ _10"> </span><span class="ffb fc0">value<span class="_ _10"> </span><span class="fc5">+<span class="_ _10"> </span>4</span>;<span class="_ _10"> </span>};</span></div><div class="t m0 xc hf yff ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda2<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[](</span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">value){<span class="_ _10"> </span></span></span>return<span class="_ _10"> </span><span class="ffb fc0">value<span class="_ _10"> </span><span class="fc5">*<span class="_ _10"> </span>2</span>;<span class="_ _10"> </span>};</span></div><div class="t m0 xc hf y100 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda3<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[<span class="fc5">&amp;</span>](</span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">value){<span class="_ _10"> </span></span></span>return<span class="_ _10"> </span><span class="ffb fc0">lambda2(lambda1(value));<span class="_ _10"> </span>};</span></div><div class="t m0 xc hf y87 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>returns<span class="_ _10"> </span>(value<span class="_ _10"> </span>+<span class="_ _10"> </span>4)<span class="_ _10"> </span>*<span class="_ _10"> </span>2</div><div class="t m0 x1 hc y101 ff1 fs7 fc0 sc0 ls0 ws0">A<span class="_ _6"> </span>function<span class="_ _6"> </span>can<span class="_ _8"> </span>return<span class="_ _f"> </span>a<span class="_ _6"> </span>lamb<span class="_ _c"></span>da</div><div class="t m0 x1 hc y102 ff4 fs7 fc0 sc0 ls0 ws0">(dynamic<span class="_ _f"> </span>dispatch<span class="_ _a"> </span>is<span class="_ _f"> </span>also<span class="_ _f"> </span>p<span class="_ _c"></span>ossible<span class="_ _f"> </span>if<span class="_ _f"> </span>the<span class="_ _f"> </span>capture<span class="_ _f"> </span>list<span class="_ _f"> </span>is<span class="_ _a"> </span>empty)</div><div class="t m0 xc hf y103 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">f()<span class="_ _10"> </span>{</span></div><div class="t m0 x6 hf y104 ff5 fs8 fc8 sc0 ls0 ws0">return<span class="_ _10"> </span><span class="ffb fc0">[](</span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">value){<span class="_ _10"> </span></span></span>return<span class="_ _10"> </span><span class="ffb fc0">value<span class="_ _10"> </span><span class="fc5">+<span class="_ _10"> </span>4</span>;<span class="_ _10"> </span>};</span></div><div class="t m0 xc hf y105 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xc hf y106 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>f();</span></div><div class="t m0 xc hf y107 ffb fs8 fc0 sc0 ls0 ws0">cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>lambda(<span class="fc5">2</span>);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span>&quot;6&quot;</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">27/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf20" class="pf w0 h0" data-page-no="20"><div class="pc pc20 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Comp<span class="_ _c"></span>osabilit<span class="_ _5"></span>y<span class="_ _29"> </span>2/2</div><div class="t m0 x1 hc y108 ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span>lamb<span class="_ _c"></span>da<span class="_ _a"> </span>expression<span class="_ _a"> </span>can<span class="_ _f"> </span>contain<span class="_ _f"> </span>another<span class="_ _f"> </span>lamb<span class="_ _c"></span>da<span class="_ _a"> </span>expression</div><div class="t m0 xc hf y109 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda1<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[](</span>auto<span class="_ _10"> </span><span class="ffb fc0">value)<span class="_ _10"> </span>{</span></div><div class="t m0 x6 hf y10a ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _16"> </span><span class="ffb fc0">x<span class="_ _15"> </span><span class="fc5">=<span class="_ _10"> </span>5</span>;</span></div><div class="t m0 x6 hf y10b ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda2<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[<span class="fc5">=</span>](</span>auto<span class="_ _10"> </span><span class="ffb fc0">v)<span class="_ _10"> </span>{<span class="_ _10"> </span></span>return<span class="_ _10"> </span><span class="ffb fc0">x<span class="_ _10"> </span><span class="fc5">*<span class="_ _10"> </span></span>value<span class="_ _10"> </span><span class="fc5">+<span class="_ _10"> </span></span>v;<span class="_ _10"> </span>};</span></div><div class="t m0 x6 hf y10c ff5 fs8 fc8 sc0 ls0 ws0">return<span class="_ _10"> </span><span class="ffb fc0">lambda2(<span class="fc5">3</span>);</span></div><div class="t m0 xc hf y10d ffb fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 xc hf y10e ffb fs8 fc0 sc0 ls0 ws0">cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>lambda1(<span class="fc5">2</span>);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span>&quot;13&quot;</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">28/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf21" class="pf w0 h0" data-page-no="21"><div class="pc pc21 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Recursion</div><div class="t m0 x17 h13 y10f ff14 fs5 fc1 sc0 ls0 ws0"></div><div class="t m0 x1 hc y110 ff4 fs7 fc0 sc0 ls0 ws0">Lamb<span class="_ _c"></span>da<span class="_ _a"> </span>expressions<span class="_ _a"> </span>can<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _a"> </span>called<span class="_ _f"> </span>recursively</div><div class="t m0 xc hf y111 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">factorial<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[](</span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">n,<span class="_ _10"> </span></span></span>auto<span class="_ _10"> </span><span class="ffb fc0">fac)<span class="_ _10"> </span>{</span></div><div class="t m0 x6 hf y112 ff5 fs8 fc8 sc0 ls0 ws0">return<span class="_ _10"> </span><span class="ffb fc0">(n<span class="_ _10"> </span><span class="fc5">&lt;=<span class="_ _10"> </span>1</span>)<span class="_ _10"> </span><span class="fc5">?<span class="_ _10"> </span>1<span class="_ _10"> </span>:<span class="_ _10"> </span></span>n<span class="_ _10"> </span><span class="fc5">*<span class="_ _10"> </span></span>fac(n<span class="_ _10"> </span><span class="fc5">-<span class="_ _10"> </span>1</span>,<span class="_ _10"> </span>fac);</span></div><div class="t m0 xc hf y113 ffb fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 xc hf y114 ffb fs8 fc0 sc0 ls0 ws0">factorial(<span class="fc5">5</span>,<span class="_ _10"> </span>factorial);</div><div class="t m0 x1 hc y115 ff4 fs7 fcb sc0 ls0 ws0">C++23<span class="_ _f"> </span><span class="fc0">allo<span class="_ _5"></span>ws<span class="_ _f"> </span>to<span class="_ _a"> </span>access<span class="_ _f"> </span>the<span class="_ _1e"> </span><span class="ffe">this<span class="_ _12"> </span></span>p<span class="_ _c"></span>ointer<span class="_ _f"> </span>of<span class="_ _f"> </span>a<span class="_ _a"> </span>lamb<span class="_ _c"></span>da<span class="_ _f"> </span>object<span class="_ _f"> </span>with<span class="_ _f"> </span>the<span class="_ _f"> </span>syntax</span></div><div class="t m0 xc hc y116 ffe fs7 fc0 sc0 ls0 ws0">this<span class="_ _13"> </span>auto<span class="_ _12"> </span><span class="ff4">as<span class="_ _f"> </span>first<span class="_ _f"> </span>parameter</span></div><div class="t m0 xc hf y117 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">factorial<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[](</span>this<span class="_ _10"> </span>auto<span class="_ _10"> </span><span class="ffb fc0">self,<span class="_ _10"> </span></span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">n)<span class="_ _10"> </span><span class="fc5">-&gt;<span class="_ _10"> </span></span></span>int<span class="_ _10"> </span><span class="ffb fc0">{<span class="_ _16"> </span><span class="ffc fc6">//<span class="_ _10"> </span>or<span class="_ _10"> </span><span class="ff18">&apos;</span>this<span class="_ _10"> </span>auto<span class="ff17">&amp;&amp;<span class="ff18">&apos;</span></span></span></span></span></div><div class="t m0 x6 hf y118 ff5 fs8 fc8 sc0 ls0 ws0">return<span class="_ _10"> </span><span class="ffb fc0">(n<span class="_ _10"> </span><span class="fc5">&lt;=<span class="_ _10"> </span>1</span>)<span class="_ _10"> </span><span class="fc5">?<span class="_ _10"> </span>1<span class="_ _10"> </span>:<span class="_ _10"> </span></span>n<span class="_ _10"> </span><span class="fc5">*<span class="_ _10"> </span></span>self(n<span class="_ _10"> </span><span class="fc5">-<span class="_ _10"> </span>1</span>);</span></div><div class="t m0 xc hf y119 ffb fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 xc hf y11a ffb fs8 fc0 sc0 ls0 ws0">factiorial(<span class="fc5">5</span>);</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">29/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf22" class="pf w0 h0" data-page-no="22"><div class="pc pc22 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIoElEQVR42u3YsUlFQRCG0btyB6PBGsTICkSMhdeZTViOgUXYgdFjIye5JmJmoPB0Lp5TwfJv8jHj6uZuAQCANl6en86sAABANyIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAIBPo6qsAABAHxHhkgoAQDsiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAD4ltUEQHNzTiOcQmYaAWjLJRUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAOzbqCorAADQR0S4pAIA0I5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgBAd6sJgObmnEY4hcw0AtCWSyoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAA+FujqqwAAEAfEeGSCgBAOyIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAA/pl1R2+dc/owAICfycwdvdYlFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkWoCAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQCA/RtVZQUAAPqICJdUAADaEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAADwYT0+XFoB4Cuv949GAPhl17eHMS7Ot+PbsmzbZhAAAFp4B9VGJf4M8aafAAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">constexpr<span class="ff1">/</span>consteval<span class="_ _8"> </span><span class="ff1">Lamb<span class="_ _c"></span>da<span class="_ _8"> </span>Exp<span class="_ _5"></span>ression</span></div><div class="t m0 x1 hc y98 ff4 fs7 fcb sc0 ls0 ws0">C++17<span class="_ _f"> </span><span class="fc0">Lamb<span class="_ _c"></span>da<span class="_ _a"> </span>expressions<span class="_ _a"> </span>supp<span class="_ _c"></span>o<span class="_ _5"></span>rt<span class="_ _12"> </span><span class="ffe">constexpr</span></span></div><div class="t m0 x1 hc y11b ff4 fs7 fcb sc0 ls0 ws0">C++20<span class="_ _f"> </span><span class="fc0">Lamb<span class="_ _c"></span>da<span class="_ _a"> </span>expressions<span class="_ _a"> </span>supp<span class="_ _c"></span>o<span class="_ _5"></span>rt<span class="_ _12"> </span><span class="ffe">consteval</span></span></div><div class="t m0 xc hf y11c ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>constexpr<span class="_ _10"> </span>lambda</div><div class="t m0 xc hf y11d ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">factorial<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[](</span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">value)<span class="_ _10"> </span></span></span>constexpr<span class="_ _10"> </span><span class="ffb fc0">{</span></div><div class="t m0 x6 hf y11e ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc0">ret<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span>1</span>;</span></div><div class="t m0 x6 hf y11f ff5 fs8 fc8 sc0 ls0 ws0">for<span class="_ _10"> </span><span class="ffb fc0">(</span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">i<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span>2</span>;<span class="_ _10"> </span>i<span class="_ _10"> </span><span class="fc5">&lt;=<span class="_ _10"> </span></span>value;<span class="_ _10"> </span>i<span class="fc5">++</span>)</span></span></div><div class="t m0 x14 hf y120 ffb fs8 fc0 sc0 ls0 ws0">ret<span class="_ _10"> </span><span class="fc5">*=<span class="_ _10"> </span></span>i;</div><div class="t m0 x6 hf y121 ff5 fs8 fc8 sc0 ls0 ws0">return<span class="_ _10"> </span><span class="ffb fc0">ret;</span></div><div class="t m0 xc hf y122 ffb fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 xc hf y123 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">mul<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[](</span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">v)<span class="_ _10"> </span></span></span>consteval<span class="_ _10"> </span><span class="ffb fc0">{<span class="_ _10"> </span></span>return<span class="_ _10"> </span><span class="ffb fc0">v<span class="_ _10"> </span><span class="fc5">*<span class="_ _10"> </span>2</span>;<span class="_ _10"> </span>};</span></div><div class="t m0 xc hf y124 ff5 fs8 fc8 sc0 ls0 ws0">constexpr<span class="_ _10"> </span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">v1<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>factorial(<span class="fc5">4</span>)<span class="_ _10"> </span><span class="fc5">+<span class="_ _10"> </span></span>mul(<span class="fc5">5</span>);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span><span class="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 yf ff6 fs5 fc0 sc0 ls0 ws0">30/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf23" class="pf w0 h0" data-page-no="23"><div class="pc pc23 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">template<span class="_ _8"> </span><span class="ff1">Lamb<span class="_ _c"></span>da<span class="_ _8"> </span>Exp<span class="_ _5"></span>ression<span class="_ _8"> </span><span class="ff14"><span class="_ _2a"> </span></span>1/2</span></div><div class="t m0 x1 hc y125 ff4 fs7 fcb sc0 ls0 ws0">C++20<span class="_ _f"> </span><span class="fc0">Lamb<span class="_ _c"></span>da<span class="_ _a"> </span>expression<span class="_ _a"> </span>supp<span class="_ _c"></span>o<span class="_ _5"></span>rts<span class="_ _12"> </span><span class="ffe">template<span class="_ _12"> </span></span>and<span class="_ _12"> </span><span class="ffe">requires<span class="_ _1e"> </span></span>clause</span></div><div class="t m0 xc hf y126 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[]<span class="fc5">&lt;</span></span>typename<span class="_ _10"> </span><span class="fc4">T<span class="ffb fc5">&gt;<span class="fc0">(T<span class="_ _10"> </span>value)</span></span></span></div><div class="t m0 x18 hf y127 ff5 fs8 fc8 sc0 ls0 ws0">requires<span class="_ _10"> </span><span class="ffb fc0">std<span class="fc5">::</span>is_arithmetic_v<span class="fc5">&lt;</span>T<span class="fc5">&gt;<span class="_ _10"> </span></span>{</span></div><div class="t m0 x6 hf y128 ff5 fs8 fc8 sc0 ls0 ws0">return<span class="_ _10"> </span><span class="ffb fc0">value<span class="_ _10"> </span><span class="fc5">*<span class="_ _10"> </span>2</span>;</span></div><div class="t m0 xc hf y129 ffb fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 xc hf y12a ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">v<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>lambda(<span class="fc5">3.4</span>);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>v:<span class="_ _10"> </span>6.8<span class="_ _10"> </span>(double)</span></span></div><div class="t m0 xc hf y12b ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>lambda(nullptr);<span class="_ _1f"> </span>//<span class="_ _10"> </span>compiler<span class="_ _10"> </span>error</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">31/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf24" class="pf w0 h0" data-page-no="24"><div class="pc pc24 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAI2UlEQVR42u3ZsU0DMRiG4RidRfWLGRAVEyBEjUTPKBmCMgswBENQMAQbUCFX/BI5OjqaC4ns5HkmsD5Lp1e+cnVztwIAgG68v72eWQEAgN6IVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAfpXMtAIAAP2otXpJBQCgOyIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACnbjIBB9BaM8ICEWEEwNfe116kAgBHXmZ6iFH43Q8AgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAnZjIBAOwiIowA/85LKgAAIhUAAEQqAAAiFQAAdlUy0woAAPSj1uolFQCA7ohUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAHLtpoLO21lwYAMAyETHQab2kAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAA9qFkphUAAOhHrdVLKgAA3RGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAGA/poHO2lpzYQAAy0TEQKf1kgoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAoD+TCYB9+N5uHzcbO/TjZb02AjCQkpmjnLW15sIAAJaJiFGOWmv1ux8AgO6IVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAMLaSmVYAAKAftVYvqQAAdEekAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAnZfp8urQCwIF93D8bAeAv17cPpVycz59fq9U8zwYBAKALPz9FOCdtQuheAAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">template<span class="_ _8"> </span><span class="ff1">Lamb<span class="_ _c"></span>da<span class="_ _8"> </span>Exp<span class="_ _5"></span>ression<span class="_ _8"> </span><span class="ff14"><span class="_ _2a"> </span></span>2/2</span></div><div class="t m0 x1 hc y84 ff4 fs7 fc0 sc0 ls0 ws0">Befo<span class="_ _5"></span>re<span class="_ _f"> </span><span class="fcb">C++20</span>,<span class="_ _12"> </span><span class="ffe">template<span class="_ _12"> </span></span>arguments<span class="_ _a"> </span>can<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _f"> </span>emulated<span class="_ _a"> </span>with<span class="_ _1e"> </span><span class="ffe">auto<span class="_ _12"> </span></span>+<span class="_ _1e"> </span><span class="ffe">decltype</span></div><div class="t m0 xc hf y12c ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[](</span>auto<span class="_ _10"> </span><span class="ffb fc0">value)<span class="_ _10"> </span>{</span></div><div class="t m0 x6 hf y12d ff5 fs8 fc8 sc0 ls0 ws0">using<span class="_ _10"> </span><span class="ffb fc0">T<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>decltyle(value);<span class="_ _16"> </span><span class="ffc fc6">//<span class="_ _10"> </span>T:<span class="_ _10"> </span>double</span></span></div><div class="t m0 xc hf y12e ffb fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 xc hf y12f ffb fs8 fc0 sc0 ls0 ws0">lambda(<span class="fc5">3.4</span>);</div><div class="t m0 x1 hc y130 ff4 fs7 fc0 sc0 ls0 ws0">Lamb<span class="_ _c"></span>da<span class="_ _a"> </span>and<span class="_ _f"> </span>template<span class="_ _f"> </span>without<span class="_ _f"> </span>automatic<span class="_ _f"> </span>deduction<span class="_ _f"> </span>needs<span class="_ _f"> </span>the<span class="_ _f"> </span>full<span class="_ _a"> </span>syntax</div><div class="t m0 xc hf y131 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[]<span class="fc5">&lt;</span></span>typename<span class="_ _10"> </span><span class="fc4">T<span class="ffb fc5">&gt;<span class="fc0">(</span></span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">value)<span class="_ _10"> </span>{</span></span></span></div><div class="t m0 x6 hf y132 ff5 fs8 fc8 sc0 ls0 ws0">return<span class="_ _10"> </span><span class="ffb fc0">value<span class="_ _10"> </span><span class="fc5">*<span class="_ _10"> </span><span class="fc4">sizeof</span></span>(T);</span></div><div class="t m0 xc hf y133 ffb fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 xc hf y134 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>lambda&lt;double&gt;(3);<span class="_ _20"> </span>//<span class="_ _10"> </span>compiler<span class="_ _10"> </span>error</div><div class="t m0 xc hf y135 ffb fs8 fc0 sc0 ls0 ws0">lambda.<span class="ff5 fc8">operator</span>()<span class="fc5">&lt;<span class="ff5 fc3">double</span>&gt;</span>(<span class="fc5">3</span>);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>ok</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">32/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf25" class="pf w0 h0" data-page-no="25"><div class="pc pc25 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">mutable<span class="_ _8"> </span><span class="ff1">Lamb<span class="_ _c"></span>da<span class="_ _8"> </span>Exp<span class="_ _5"></span>ression</span></div><div class="t m0 x1 hc y98 ff4 fs7 fc0 sc0 ls0 ws0">Lamb<span class="_ _c"></span>da<span class="_ _a"> </span>capture<span class="_ _f"> </span>is<span class="_ _f"> </span><span class="ff11">by-const-value</span></div><div class="t m0 x1 hc y11b ffe fs7 fc4 sc0 ls0 ws0">mutable<span class="_ _f"> </span><span class="ff4 fc0">sp<span class="_ _c"></span>ecifier<span class="_ _a"> </span>allows<span class="_ _a"> </span>the<span class="_ _f"> </span>lamb<span class="_ _c"></span>da<span class="_ _a"> </span>to<span class="_ _f"> </span>mo<span class="_ _c"></span>dify<span class="_ _a"> </span>the<span class="_ _f"> </span>parameters<span class="_ _a"> </span>captured<span class="_ _f"> </span><span class="ff11">by-value</span></span></div><div class="t m0 xc hf y136 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _16"> </span><span class="ffb fc0">var<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span>1</span>;</span></div><div class="t m0 xc hf y137 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda1<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[<span class="fc5">&amp;</span>](){<span class="_ _10"> </span>var<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span>4</span>;<span class="_ _10"> </span>};<span class="_ _20"> </span><span class="ffc fc6">//<span class="_ _10"> </span>ok</span></span></div><div class="t m0 xc hf y138 ffb fs8 fc0 sc0 ls0 ws0">lambda1();</div><div class="t m0 xc hf y139 ffb fs8 fc0 sc0 ls0 ws0">cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>var;<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span><span class="ff18">&apos;</span>4<span class="ff18">&apos;</span></span></div><div class="t m0 xc hd y13a ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>auto<span class="_ _10"> </span>lambda2<span class="_ _10"> </span>=<span class="_ _10"> </span>[=](){<span class="_ _10"> </span>var<span class="_ _10"> </span>=<span class="_ _10"> </span>3;<span class="_ _10"> </span>};<span class="_ _17"> </span>//<span class="_ _10"> </span><span class="ffd">compile<span class="_ _1d"> </span>error</span></div><div class="t m0 xc hf y13b ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>lambda<span class="_ _10"> </span>operator()<span class="_ _10"> </span>is<span class="_ _10"> </span>const</div><div class="t m0 xc hf y13c ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">lambda3<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[<span class="fc5">=</span>]()<span class="_ _10"> </span></span>mutable<span class="_ _10"> </span><span class="ffb fc0">{<span class="_ _10"> </span>var<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span>3</span>;<span class="_ _10"> </span>};<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>ok</span></span></div><div class="t m0 xc hf y13d ffb fs8 fc0 sc0 ls0 ws0">lambda3();</div><div class="t m0 xc hf y13e ffb fs8 fc0 sc0 ls0 ws0">cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>var;<span class="_ _16"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span><span class="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 yf ff6 fs5 fc0 sc0 ls0 ws0">33/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf26" class="pf w0 h0" data-page-no="26"><div class="pc pc26 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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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="ff14"></span></div><div class="t m0 xe h6 y13f fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ff5">[this]<span class="_ _22"> </span><span class="ff4">captures<span class="_ _a"> </span>the<span class="_ _d"> </span>current<span class="_ _a"> </span>object<span class="_ _22"> </span><span class="ffe">(*this)<span class="_ _22"> </span><span class="ff11">by-reference<span class="_ _f"> </span></span></span>(implicit<span class="_ _a"> </span>in<span class="_ _a"> </span><span class="fcb">C++17</span>)</span></span></div><div class="t m0 xe h6 y140 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ff5">[x<span class="_ _b"> </span>=<span class="_ _b"> </span>x]<span class="_ _22"> </span><span class="ff4">captures<span class="_ _a"> </span>the<span class="_ _a"> </span>current<span class="_ _a"> </span>object<span class="_ _d"> </span>memb<span class="_ _c"></span>er<span class="_ _22"> </span><span class="ffe">x<span class="_ _22"> </span><span class="ff11">by-value<span class="_ _f"> </span></span></span><span class="fcb">C++14</span></span></span></div><div class="t m0 xe h6 y141 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ff5">[&amp;x<span class="_ _b"> </span>=<span class="_ _b"> </span>x]<span class="_ _22"> </span><span class="ff4">captures<span class="_ _a"> </span>the<span class="_ _a"> </span>current<span class="_ _a"> </span>object<span class="_ _d"> </span>memb<span class="_ _c"></span>er<span class="_ _22"> </span><span class="ffe">x<span class="_ _22"> </span><span class="ff11">by-reference<span class="_ _f"> </span></span></span><span class="fcb">C++14</span></span></span></div><div class="t m0 xe h6 y142 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ff5">[=]<span class="_ _22"> </span><span class="ff4">default<span class="_ _a"> </span>capture<span class="_ _d"> </span>of<span class="_ _22"> </span><span class="ffe">this<span class="_ _12"> </span></span>p<span class="_ _c"></span>ointer<span class="_ _d"> </span>by<span class="_ _d"> </span>value<span class="_ _a"> </span>has<span class="_ _d"> </span>b<span class="_ _c"></span>een<span class="_ _a"> </span>dep<span class="_ _5"></span>recated<span class="_ _a"> </span><span class="fcb">C++20</span></span></span></div><div class="t m0 xc h11 y143 ff5 fs5 fc8 sc0 ls0 ws0">class<span class="_ _8"> </span><span class="fc4">A<span class="_ _6"> </span><span class="ff15 fc0">{</span></span></div><div class="t m0 x19 h11 y144 ff5 fs5 fc3 sc0 ls0 ws0">int<span class="_ _8"> </span><span class="ff15 fc0">data<span class="_ _6"> </span><span class="fc5">=<span class="_ _8"> </span>1</span>;</span></div><div class="t m0 x19 h11 y145 ff5 fs5 fc3 sc0 ls0 ws0">void<span class="_ _8"> </span><span class="ff15 fc4">f<span class="fc0">()<span class="_ _6"> </span>{</span></span></div><div class="t m0 x1a h11 y146 ff5 fs5 fc3 sc0 ls0 ws0">int<span class="_ _24"> </span><span class="ff15 fc0">var<span class="_ _2b"> </span><span class="fc5">=<span class="_ _8"> </span>2</span>;<span class="_ _2c"> </span><span class="ffc fc6">//<span class="_ _8"> </span>&lt;--<span class="_ _6"> </span>local<span class="_ _8"> </span>variable</span></span></div><div class="t m0 x1a h11 y147 ff5 fs5 fc8 sc0 ls0 ws0">auto<span class="_ _8"> </span><span class="ff15 fc0">lambda1<span class="_ _6"> </span><span class="fc5">=<span class="_ _8"> </span></span>[<span class="fc5">=</span>]()<span class="_ _2b"> </span>{<span class="_ _8"> </span></span>return<span class="_ _6"> </span><span class="ff15 fc0">var;<span class="_ _24"> </span>};<span class="_ _2d"> </span><span class="ffc fc6">//<span class="_ _8"> </span>copy<span class="_ _6"> </span>by-value,<span class="_ _8"> </span>return<span class="_ _6"> </span>2</span></span></div><div class="t m0 x1a h11 y148 ff5 fs5 fc8 sc0 ls0 ws0">auto<span class="_ _8"> </span><span class="ff15 fc0">lambda2<span class="_ _6"> </span><span class="fc5">=<span class="_ _8"> </span></span>[<span class="fc5">=</span>]()<span class="_ _2b"> </span>{<span class="_ _8"> </span></span><span class="fc3">int<span class="_ _6"> </span><span class="ff15 fc0">var<span class="_ _8"> </span><span class="fc5">=<span class="_ _8"> </span>3</span>;<span class="_ _6"> </span></span></span>return<span class="_ _8"> </span><span class="ff15 fc0">var;<span class="_ _8"> </span>};<span class="_ _6"> </span><span class="ffc fc6">//<span class="_ _8"> </span>return<span class="_ _8"> </span>3<span class="_ _6"> </span>(nearest<span class="_ _8"> </span>scope)</span></span></div><div class="t m0 x1a h11 y149 ff5 fs5 fc8 sc0 ls0 ws0">auto<span class="_ _8"> </span><span class="ff15 fc0">lambda3<span class="_ _6"> </span><span class="fc5">=<span class="_ _8"> </span></span>[</span>this<span class="ff15 fc0">]()<span class="_ _24"> </span>{<span class="_ _8"> </span></span>return<span class="_ _6"> </span><span class="ff15 fc0">data;<span class="_ _8"> </span>};<span class="_ _2d"> </span><span class="ffc fc6">//<span class="_ _6"> </span>copy<span class="_ _8"> </span>by-reference,<span class="_ _6"> </span>return<span class="_ _8"> </span>1</span></span></div><div class="t m0 x1a h11 y14a ff5 fs5 fc8 sc0 ls0 ws0">auto<span class="_ _8"> </span><span class="ff15 fc0">lambda4<span class="_ _6"> </span><span class="fc5">=<span class="_ _8"> </span></span>[<span class="fc5">*</span></span>this<span class="ff15 fc0">]()<span class="_ _8"> </span>{<span class="_ _6"> </span></span>return<span class="_ _8"> </span><span class="ff15 fc0">data;<span class="_ _8"> </span>};<span class="_ _2e"> </span><span class="ffc fc6">//<span class="_ _8"> </span>copy<span class="_ _6"> </span>by-value<span class="_ _8"> </span>(C++17),<span class="_ _6"> </span>return<span class="_ _8"> </span>1</span></span></div><div class="t m0 xc h11 y14b ffc fs5 fc6 sc0 ls0 ws0">//<span class="_ _2f"> </span>auto<span class="_ _8"> </span>lambda5<span class="_ _6"> </span>=<span class="_ _8"> </span>[data]()<span class="_ _9"> </span>{<span class="_ _8"> </span>return<span class="_ _6"> </span>data;<span class="_ _8"> </span>};<span class="_ _30"> </span>//<span class="_ _8"> </span><span class="ff16">compile<span class="_ _1d"> </span>erro<span class="_ _5"></span>r<span class="_ _6"> </span><span class="ff18">&apos;<span class="ffc">data</span>&apos;<span class="_ _8"> </span><span class="ffc">is<span class="_ _6"> </span>not<span class="_ _8"> </span>visible</span></span></span></div><div class="t m0 x1a h11 y14c ff5 fs5 fc8 sc0 ls0 ws0">auto<span class="_ _8"> </span><span class="ff15 fc0">lambda6<span class="_ _6"> </span><span class="fc5">=<span class="_ _8"> </span></span>[data<span class="_ _8"> </span><span class="fc5">=<span class="_ _6"> </span></span>data]()<span class="_ _8"> </span>{<span class="_ _8"> </span></span>return<span class="_ _6"> </span><span class="ff15 fc0">data;<span class="_ _8"> </span>};<span class="_ _8"> </span><span class="ffc fc6">//<span class="_ _6"> </span>return<span class="_ _8"> </span>1</span></span></div><div class="t m0 x19 h11 y14d ff15 fs5 fc0 sc0 ls0 ws0">}</div><div class="t m0 xc h11 y14e ff15 fs5 fc0 sc0 ls0 ws0">};</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">34/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf27" class="pf w0 h0" data-page-no="27"><div class="pc pc27 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 xa h2 y1f ff1 fs0 fc0 sc0 ls0 ws0">Prep<span class="_ _e"></span>ro<span class="_ _0"></span>cessing</div><a class="l" href="#pf27" data-dest-detail='[39,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:132.432000px;width:157.641000px;height:24.026000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf28" class="pf w0 h0" data-page-no="28"><div class="pc pc28 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Prep<span class="_ _5"></span>ro<span class="_ _c"></span>cessing<span class="_ _8"> </span>and<span class="_ _8"> </span>Macro</div><div class="t m0 x1 hc y84 ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="ff1">p<span class="_ _5"></span>rep<span class="_ _5"></span>ro<span class="_ _c"></span>cesso<span class="_ _5"></span>r<span class="_ _f"> </span>directive<span class="_ _f"> </span><span class="ff4">is<span class="_ _f"> </span>any<span class="_ _f"> </span>line<span class="_ _f"> </span>preceded<span class="_ _a"> </span>by<span class="_ _a"> </span>a<span class="_ _f"> </span><span class="ff11">hash<span class="_ _f"> </span></span>symb<span class="_ _c"></span>ol<span class="_ _f"> </span>(<span class="ffe">#</span>)<span class="_ _f"> </span>which<span class="_ _f"> </span>tells<span class="_ _a"> </span>the</span></span></div><div class="t m0 x1 hc yd3 ff4 fs7 fc0 sc0 ls0 ws0">compiler<span class="_ _f"> </span>ho<span class="_ _5"></span>w<span class="_ _f"> </span>to<span class="_ _a"> </span>interpret<span class="_ _a"> </span>the<span class="_ _f"> </span>source<span class="_ _f"> </span>co<span class="_ _c"></span>de<span class="_ _f"> </span><span class="ff11">b<span class="_ _c"></span>efo<span class="_ _5"></span>re<span class="_ _6"> </span><span class="ff4">compiling<span class="_ _f"> </span>it</span></span></div><div class="t m0 x1 hc y14f ff1 fs7 fc0 sc0 ls0 ws0">Macro<span class="_ _f"> </span><span class="ff4">a<span class="_ _5"></span>re<span class="_ _f"> </span>p<span class="_ _5"></span>rep<span class="_ _5"></span>ro<span class="_ _c"></span>cesso<span class="_ _5"></span>r<span class="_ _a"> </span>directives<span class="_ _f"> </span>which<span class="_ _f"> </span>substitute<span class="_ _f"> </span>any<span class="_ _f"> </span>o<span class="_ _c"></span>ccurrence<span class="_ _a"> </span>of<span class="_ _f"> </span>an<span class="_ _f"> </span><span class="ff11">identifier<span class="_ _b"> </span></span>in</span></div><div class="t m0 x1 hc y150 ff4 fs7 fc0 sc0 ls0 ws0">the<span class="_ _f"> </span>rest<span class="_ _a"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>co<span class="_ _c"></span>de<span class="_ _f"> </span>b<span class="_ _5"></span>y<span class="_ _f"> </span>replacement</div><div class="t m0 x1 h8 y151 ff1 fs2 fc0 sc0 ls0 ws0">Macro<span class="_ _b"> </span>a<span class="_ _5"></span>re<span class="_ _b"> </span>evil:</div><div class="t m0 x1 h8 y152 ff1 fs2 fcc sc0 ls0 ws0">Do<span class="_ _b"> </span>not<span class="_ _b"> </span>use<span class="_ _4"> </span>macro<span class="_ _b"> </span>expansion!!</div><div class="t m0 x1 hc y153 ff4 fs7 fc0 sc0 ls0 ws0">...o<span class="_ _5"></span>r<span class="_ _f"> </span>use<span class="_ _f"> </span>as<span class="_ _a"> </span>little<span class="_ _f"> </span>as<span class="_ _f"> </span>p<span class="_ _c"></span>ossible</div><div class="t m0 xe h6 y154 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Macro<span class="_ _a"> </span>cannot<span class="_ _d"> </span>b<span class="_ _c"></span>e<span class="_ _a"> </span>directly<span class="_ _d"> </span>debugged</span></div><div class="t m0 xe h6 y155 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Macro<span class="_ _a"> </span>expansions<span class="_ _d"> </span>can<span class="_ _a"> </span>have<span class="_ _a"> </span>unexp<span class="_ _c"></span>ected<span class="_ _d"> </span>side<span class="_ _a"> </span>effects</span></div><div class="t m0 xe h6 y156 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Macro<span class="_ _a"> </span>have<span class="_ _d"> </span>no<span class="_ _a"> </span>namespace<span class="_ _a"> </span>or<span class="_ _d"> </span>scop<span class="_ _c"></span>e</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">35/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf29" class="pf w0 h0" data-page-no="29"><div class="pc pc29 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Prep<span class="_ _5"></span>ro<span class="_ _c"></span>cesso<span class="_ _5"></span>rs</div><div class="t m0 x1 h7 y157 ff1 fs3 fc0 sc0 ls0 ws0">All<span class="_ _8"> </span>statements<span class="_ _8"> </span>sta<span class="_ _5"></span>rting<span class="_ _8"> </span>with<span class="_ _1e"> </span><span class="ff5">#</span></div><div class="t m0 xb h7 y158 ff9 fs3 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ff5">#include<span class="_ _22"> </span>&quot;my_file.h&quot;</span></div><div class="t m0 x6 h7 y159 ff8 fs3 fc0 sc0 ls0 ws0">Inject<span class="_ _f"> </span>the<span class="_ _6"> </span>co<span class="_ _c"></span>de<span class="_ _6"> </span>in<span class="_ _6"> </span>the<span class="_ _6"> </span>current<span class="_ _6"> </span>file</div><div class="t m0 xb h7 y15a ff9 fs3 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ff5">#define<span class="_ _22"> </span>MACRO<span class="_ _22"> </span>&lt;expression&gt;</span></div><div class="t m0 x6 h7 y15b ff8 fs3 fc0 sc0 ls0 ws0">Define<span class="_ _f"> </span>a<span class="_ _6"> </span>new<span class="_ _6"> </span>macro</div><div class="t m0 xb h7 y15c ff9 fs3 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ff5">#undef<span class="_ _22"> </span>MACRO</span></div><div class="t m0 x6 h7 y15d ff8 fs3 fc0 sc0 ls0 ws0">Undefine<span class="_ _f"> </span>a<span class="_ _6"> </span>macro</div><div class="t m0 x6 h10 y15e ff13 fs8 fc0 sc0 ls0 ws0">(a<span class="_ _1d"> </span>macro<span class="_ _d"> </span>should<span class="_ _d"> </span>b<span class="_ _c"></span>e<span class="_ _1d"> </span>undefined<span class="_ _d"> </span>as<span class="_ _d"> </span>early<span class="_ _1d"> </span>as<span class="_ _d"> </span>p<span class="_ _c"></span>ossible<span class="_ _1d"> </span>for<span class="_ _1d"> </span>safety<span class="_ _1d"> </span>reasons)</div><div class="t m0 x1 h7 y15f ff1 fs3 fc0 sc0 ls0 ws0">Multi-line<span class="_ _8"> </span>Prep<span class="_ _5"></span>ro<span class="_ _c"></span>cessing:<span class="_ _9"> </span><span class="ff5">\<span class="_ _1e"> </span><span class="ff8">at<span class="_ _6"> </span>the<span class="_ _6"> </span>end<span class="_ _6"> </span>of<span class="_ _6"> </span>the<span class="_ _6"> </span>line</span></span></div><div class="t m0 x1 h7 y160 ff1 fs3 fc0 sc0 ls0 ws0">Indent:<span class="_ _9"> </span><span class="ff19">#<span class="_ _31"> </span>define</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">36/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf2a" class="pf w0 h0" data-page-no="2a"><div class="pc pc2a w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Conditional<span class="_ _8"> </span>Compiling</div><div class="t m0 xb hc y76 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ff5">#if<span class="_ _13"> </span>&lt;condition&gt;</span></div><div class="t m0 x1b he y161 ffe fs7 fc0 sc0 ls0 ws0">code</div><div class="t m0 x16 h14 y162 ff5 fs7 fc0 sc0 ls0 ws0">#elif<span class="_ _13"> </span>&lt;condition&gt;</div><div class="t m0 x1b he y163 ffe fs7 fc0 sc0 ls0 ws0">code</div><div class="t m0 x16 h14 y164 ff5 fs7 fc0 sc0 ls0 ws0">#else</div><div class="t m0 x1b he y165 ffe fs7 fc0 sc0 ls0 ws0">code</div><div class="t m0 x16 h14 y166 ff5 fs7 fc0 sc0 ls0 ws0">#endif</div><div class="t m0 xb hc y167 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ff5">#if<span class="_ _13"> </span>defined(MACRO)<span class="_ _12"> </span><span class="ff4">equal<span class="_ _f"> </span>to<span class="_ _12"> </span></span>#ifdef<span class="_ _13"> </span>MACRO</span></div><div class="t m0 x16 hc y168 ff5 fs7 fc0 sc0 ls0 ws0">#elif<span class="_ _13"> </span>defined(MACRO)<span class="_ _12"> </span><span class="ff4">equal<span class="_ _f"> </span>to<span class="_ _12"> </span></span>#elifdef<span class="_ _13"> </span>MACRO<span class="_ _1e"> </span><span class="ff4 fcb">C++23</span></div><div class="t m0 x6 hc y169 ff4 fs7 fc0 sc0 ls0 ws0">Check<span class="_ _f"> </span>if<span class="_ _a"> </span>a<span class="_ _f"> </span>macro<span class="_ _f"> </span>is<span class="_ _f"> </span>defined</div><div class="t m0 xb hc y16a fff fs7 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ff5">#if<span class="_ _13"> </span>!defined(MACRO)<span class="_ _12"> </span><span class="ff4">equal<span class="_ _f"> </span>to<span class="_ _12"> </span></span>#ifndef<span class="_ _13"> </span>MACRO</span></div><div class="t m0 x16 hc y16b ff5 fs7 fc0 sc0 ls0 ws0">#elif<span class="_ _13"> </span>!defined(MACRO)<span class="_ _12"> </span><span class="ff4">equal<span class="_ _f"> </span>to<span class="_ _12"> </span></span>#elifndef<span class="_ _13"> </span>MACRO<span class="_ _1e"> </span><span class="ff4 fcb">C++23</span></div><div class="t m0 x6 hc y16c ff4 fs7 fc0 sc0 ls0 ws0">Check<span class="_ _f"> </span>if<span class="_ _a"> </span>a<span class="_ _f"> </span>macro<span class="_ _f"> </span>is<span class="_ _f"> </span>not<span class="_ _f"> </span>defined</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">37/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf2b" class="pf w0 h0" data-page-no="2b"><div class="pc pc2b w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>1</div><div class="t m0 x1c hc y16d ff4 fs7 fc2 sc0 ls0 ws0">A<span class="_ _32"> </span><span class="ff1 fc0">Define<span class="_ _6"> </span>macros<span class="_ _6"> </span>in<span class="_ _8"> </span>header<span class="_ _f"> </span>files<span class="_ _6"> </span>and<span class="_ _8"> </span>before<span class="_ _f"> </span>includes!!</span></div><div class="t m0 xc hf y16e ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>include<span class="_ _22"> </span><span class="fc6">&lt;iostream&gt;</span></div><div class="t m0 xc hf y16f ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>value<span class="_ _18"> </span><span class="fc6">//<span class="_ _10"> </span>very<span class="_ _10"> </span>dangerous!!</span></div><div class="t m0 xc hf y170 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>include<span class="_ _22"> </span><span class="fc6">&quot;big_lib.hpp&quot;</span></div><div class="t m0 xc hf y171 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc4">main<span class="fc0">()<span class="_ _10"> </span>{</span></span></div><div class="t m0 x6 hf y172 ffb fs8 fc0 sc0 ls0 ws0">std<span class="fc5">::</span>cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>f(<span class="fc5">4</span>);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>should<span class="_ _10"> </span>print<span class="_ _10"> </span>7,<span class="_ _10"> </span>but<span class="_ _10"> </span>it<span class="_ _10"> </span><span class="ff17">always<span class="_ _10"> </span></span>prints<span class="_ _10"> </span>3</span></div><div class="t m0 xc hf y173 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 h10 y174 ff5 fs8 fc0 sc0 ls0 ws0">big_lib.hpp<span class="ff13">:</span></div><div class="t m0 xc hf y175 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">value)<span class="_ _10"> </span>{<span class="_ _18"> </span><span class="ffc fc6">//<span class="_ _10"> </span><span class="ff18">&apos;</span>value<span class="ff18">&apos;<span class="_ _10"> </span></span>disappears</span></span></div><div class="t m0 x6 hf y176 ff5 fs8 fc8 sc0 ls0 ws0">return<span class="_ _10"> </span><span class="ffb fc0">value<span class="_ _10"> </span><span class="fc5">+<span class="_ _10"> </span>3</span>;</span></div><div class="t m0 xc hf y177 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 h12 y178 ff11 fs7 fc0 sc0 ls0 ws0">It<span class="_ _f"> </span>is<span class="_ _a"> </span>very<span class="_ _f"> </span>hard<span class="_ _a"> </span>to<span class="_ _f"> </span>see<span class="_ _f"> </span>this<span class="_ _f"> </span>problem<span class="_ _a"> </span>when<span class="_ _f"> </span>the<span class="_ _f"> </span>macro<span class="_ _f"> </span>is<span class="_ _f"> </span>in<span class="_ _f"> </span>a<span class="_ _f"> </span>header</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">38/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf2c" class="pf w0 h0" data-page-no="2c"><div class="pc pc2c w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>2</div><div class="t m0 x1d hc y16d ff5 fs7 fc0 sc0 ls0 ws0">#if<span class="_ _13"> </span>defined<span class="_ _1e"> </span><span class="ff1">can<span class="_ _8"> </span>introduce<span class="_ _6"> </span>bugs<span class="_ _8"> </span>related<span class="_ _f"> </span>to<span class="_ _8"> </span>macro<span class="_ _f"> </span>visibility</span></div><div class="t m0 xc hf y179 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>#include<span class="_ _10"> </span>&quot;macro_definition.hpp&quot;<span class="_ _10"> </span>//<span class="_ _10"> </span>forget<span class="_ _10"> </span>to<span class="_ _10"> </span>add<span class="_ _10"> </span>the<span class="_ _10"> </span>header<span class="_ _10"> </span>that<span class="_ _10"> </span>defines<span class="_ _10"> </span>ENABLE_DEBUG</div><div class="t m0 xc hf y17a ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>if<span class="_ _10"> </span>defined(ENABLE_DEBUG)</div><div class="t m0 x6 hf y17b ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">v)<span class="_ _10"> </span>{<span class="_ _10"> </span>cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>v<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>endl;<span class="_ _10"> </span></span><span class="fc8">return<span class="_ _10"> </span><span class="ffb fc0">v<span class="_ _10"> </span><span class="fc5">*<span class="_ _10"> </span>3</span>;<span class="_ _10"> </span>}</span></span></div><div class="t m0 xc hf y17c ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>else</div><div class="t m0 x6 hf y17d ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">v)<span class="_ _10"> </span>{<span class="_ _10"> </span></span><span class="fc8">return<span class="_ _10"> </span><span class="ffb fc0">v<span class="_ _10"> </span><span class="fc5">*<span class="_ _10"> </span>3</span>;<span class="_ _10"> </span>}</span></span></div><div class="t m0 xc hf y17e ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>endif</div><div class="t m0 xc hf y17f ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>if<span class="_ _10"> </span>ENABLE_DEBUG<span class="_ _22"> </span><span class="fc6">//<span class="_ _10"> </span>evaluated<span class="_ _10"> </span>to<span class="_ _10"> </span>0<span class="_ _10"> </span>or<span class="_ _10"> </span>1</span></div><div class="t m0 x6 hf y180 ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">v)<span class="_ _10"> </span>{<span class="_ _10"> </span>cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>v<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>endl;<span class="_ _10"> </span></span><span class="fc8">return<span class="_ _10"> </span><span class="ffb fc0">v<span class="_ _10"> </span><span class="fc5">*<span class="_ _10"> </span>3</span>;<span class="_ _10"> </span>}</span></span></div><div class="t m0 xc hf y181 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>else</div><div class="t m0 x6 hf y182 ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">v)<span class="_ _10"> </span>{<span class="_ _10"> </span></span><span class="fc8">return<span class="_ _10"> </span><span class="ffb fc0">v<span class="_ _10"> </span><span class="fc5">*<span class="_ _10"> </span>3</span>;<span class="_ _10"> </span>}</span></span></div><div class="t m0 xc hf y183 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>endif</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">39/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf2d" class="pf w0 h0" data-page-no="2d"><div class="pc pc2d w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIdUlEQVR42u3YsQ3CMBRF0RjForKYAVExAULUSNmMJRiHgiHYgCpKhRvTMQDVd3TOBNZzc/XT4XQZAAAgjNfzsbECAADRiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAH5SrdUKAADEkXN2SQUAIByRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAAD6NHb01mVZfBgAwH9KKR291iUVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRagIAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAAAEk2qtVgAAII6cs0sqAADhiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAKzVON/2VgBgTd7XuxGga8fzlNJu2+bPMLTWDAIAQAhf2zgaAsfzQlgAAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>3</div><div class="t m0 x1e hc y184 ff1 fs7 fc0 sc0 ls0 ws0">F<span class="_ _5"></span>o<span class="_ _5"></span>rget<span class="_ _6"> </span>to<span class="_ _6"> </span>use<span class="_ _8"> </span>pa<span class="_ _5"></span>renthesis<span class="_ _f"> </span>in<span class="_ _6"> </span>macro<span class="_ _8"> </span>definitions!!</div><div class="t m0 xc hf y185 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>include<span class="_ _22"> </span><span class="fc6">&lt;iostream&gt;</span></div><div class="t m0 xc hf y186 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>SUB1(a,<span class="_ _10"> </span>b)<span class="_ _16"> </span>a<span class="_ _10"> </span>-<span class="_ _10"> </span>b<span class="_ _15"> </span><span class="fc6">//<span class="_ _10"> </span>WRONG</span></div><div class="t m0 xc hf y187 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>SUB2(a,<span class="_ _10"> </span>b)<span class="_ _10"> </span>(a<span class="_ _10"> </span>-<span class="_ _10"> </span>b)<span class="_ _17"> </span><span class="fc6">//<span class="_ _10"> </span>WRONG</span></div><div class="t m0 xc hf y188 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>SUB3(a,<span class="_ _10"> </span>b)<span class="_ _10"> </span>((a)<span class="_ _10"> </span>-<span class="_ _10"> </span>(b))<span class="_ _16"> </span><span class="fc6">//<span class="_ _10"> </span>correct</span></div><div class="t m0 xc hf y189 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc4">main<span class="fc0">()<span class="_ _10"> </span>{</span></span></div><div class="t m0 x6 hf y18a ffb fs8 fc0 sc0 ls0 ws0">std<span class="fc5">::</span>cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>(<span class="fc5">5<span class="_ _10"> </span>*<span class="_ _10"> </span></span>SUB1(<span class="fc5">2</span>,<span class="_ _10"> </span><span class="fc5">1</span>));<span class="_ _1f"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span>9<span class="_ _10"> </span>not<span class="_ _10"> </span>5!!</span></div><div class="t m0 x6 hf y18b ffb fs8 fc0 sc0 ls0 ws0">std<span class="fc5">::</span>cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>SUB2(<span class="fc5">3<span class="_ _10"> </span>+<span class="_ _10"> </span>3</span>,<span class="_ _10"> </span><span class="fc5">2<span class="_ _10"> </span>+<span class="_ _10"> </span>2</span>);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span>6<span class="_ _10"> </span>not<span class="_ _10"> </span>2!!</span></div><div class="t m0 x6 hf y18c ffb fs8 fc0 sc0 ls0 ws0">std<span class="fc5">::</span>cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>SUB3(<span class="fc5">3<span class="_ _10"> </span>+<span class="_ _10"> </span>3</span>,<span class="_ _10"> </span><span class="fc5">2<span class="_ _10"> </span>+<span class="_ _10"> </span>2</span>);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span>2</span></div><div class="t m0 xc hf y18d ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">40/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf2e" class="pf w0 h0" data-page-no="2e"><div class="pc pc2e w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAImUlEQVR42u3ZsU0DQRCG0Vt0I0cn14AcUQGyiJHcggPqoQk6cEANlggogg6IrAuwJzkyF+Dk5uT3Klj9m3zabZvnlw4AAMr4+f56sAIAANWIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAArlpmWgEAgDoiwksqAADliFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAMylX9BZx3F0YQAAtxmGYUGn9ZIKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBINQEAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAwPxaZloBAIA6IsJLKgAA5YhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAANyrfikH/Tufd/s3FwbLcvw8GAGAG7TMtAIAAHVEhO9+AADKEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAIA59af3RysAcLd+Xz+MANU8bXetrVfT6dJ10zQZBACAEv4B49MjAKd0080AAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>4</div><div class="t m0 x1f hc y16d ff1 fs7 fc0 sc0 ls0 ws0">Macros<span class="_ _6"> </span>make<span class="_ _f"> </span>hard<span class="_ _f"> </span>to<span class="_ _6"> </span>find<span class="_ _8"> </span>compile<span class="_ _f"> </span>errors!!</div><div class="t m0 xb hf y18e ffb fs8 fc0 sc0 ls0 ws0">1:<span class="_ _10"> </span><span class="ffc fca">#<span class="_ _21"> </span>include<span class="_ _22"> </span><span class="fc6">&lt;iostream&gt;</span></span></div><div class="t m0 xb hf y18f ffb fs8 fc0 sc0 ls0 ws0">2:</div><div class="t m0 xb hf y190 ffb fs8 fc0 sc0 ls0 ws0">3:<span class="_ _10"> </span><span class="ffc fca">#<span class="_ _21"> </span>define<span class="_ _10"> </span>F(a)<span class="_ _10"> </span>{<span class="_ _15"> </span>\</span></div><div class="t m0 xb hf y191 ffb fs8 fc0 sc0 ls0 ws0">4:<span class="_ _20"> </span><span class="ffc fca">...<span class="_ _27"> </span>\</span></div><div class="t m0 xb hf y192 ffb fs8 fc0 sc0 ls0 ws0">5:<span class="_ _20"> </span><span class="ffc fca">...<span class="_ _27"> </span>\</span></div><div class="t m0 xb hf y193 ffb fs8 fc0 sc0 ls0 ws0">6:<span class="_ _20"> </span><span class="ffc fca">return<span class="_ _10"> </span>v;</span></div><div class="t m0 xb hf y194 ffb fs8 fc0 sc0 ls0 ws0">7:</div><div class="t m0 xb hf y195 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 yee 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 yef ffb fs8 fc0 sc0 ls0 ws0">10:<span class="_ _10"> </span>}</div><div class="t m0 x1 hc y196 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _f"> </span><span class="ff1">In<span class="_ _6"> </span>which<span class="_ _6"> </span>line<span class="_ _8"> </span>is<span class="_ _f"> </span>the<span class="_ _6"> </span>error??!<span class="ff4">*</span></span></div><div class="t m0 xb h10 y197 ff13 fs8 fc9 sc0 ls0 ws0">*mo<span class="_ _c"></span>dern<span class="_ _1d"> </span>compilers<span class="_ _d"> </span>are<span class="_ _1d"> </span>able<span class="_ _1d"> </span>to<span class="_ _d"> </span>roll<span class="_ _d"> </span>out<span class="_ _d"> </span>the<span class="_ _d"> </span>macro</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">41/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf2f" class="pf w0 h0" data-page-no="2f"><div class="pc pc2f w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIpUlEQVR42u3YsU3DUBSGUT/kK6onZkBUmSBC1EjZjCUYh4Ih2CBV9KrcxnQ0FJGQklyHcyawf7v4dNvT9mUCAIAyvj4/7qwAAEA1IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAgB8tM60AAEAdEeGSCgBAOSIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAADXMq/oWccYPhgAwN/03lf0tC6pAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVBMAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUA4Ma0zLQCAAB1RIRLKgAA5YhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAABwXrMJ4GLGGDf2Rr13nxWAc3BJBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAADX1TLTCgAA1BERLqkAAJQjUgEAEKkAAHDK/A/feYxR5El6735BAIDfXFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAMC6tcy0AgAAdUSESyoAAOWIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACs3Xx4e7QCAJy0f303AlzG5nnX2sP9cjhO07IsBgEAoIRvoiYl/l32z4AAAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>5</div><div class="t m0 x20 hc y16d ff1 fs7 fc0 sc0 ls0 ws0">Macro<span class="_ _6"> </span>can<span class="_ _6"> </span>intro<span class="_ _c"></span>duce<span class="_ _6"> </span>bugs<span class="_ _8"> </span>related<span class="_ _f"> </span>to<span class="_ _6"> </span>the<span class="_ _8"> </span>evaluation<span class="_ _f"> </span>of<span class="_ _8"> </span>their<span class="_ _f"> </span>expressions!!</div><div class="t m0 xc hf y179 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>if<span class="_ _10"> </span>defined(DEBUG)</div><div class="t m0 xc hf y198 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _33"> </span>define<span class="_ _10"> </span>CHECK(EXPR)<span class="_ _1f"> </span><span class="fc6">//<span class="_ _10"> </span>do<span class="_ _10"> </span>something<span class="_ _10"> </span>with<span class="_ _10"> </span>EXPR</span></div><div class="t m0 x6 hf y17a ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">check<span class="fc0">(</span></span>bool<span class="_ _10"> </span><span class="ffb fc0">b)<span class="_ _10"> </span>{<span class="_ _10"> </span><span class="ffc fc6">/*<span class="_ _10"> </span>do<span class="_ _10"> </span>something<span class="_ _10"> </span>with<span class="_ _10"> </span>b<span class="_ _10"> </span>*/<span class="_ _22"> </span></span>}</span></div><div class="t m0 xc hf y17b ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>else</div><div class="t m0 xc hf y17c ffc fs8 fca sc0 ls0 ws0">#<span class="_ _33"> </span>define<span class="_ _10"> </span>CHECK(EXPR)<span class="_ _1f"> </span><span class="fc6">//<span class="_ _10"> </span>do<span class="_ _10"> </span>nothing</span></div><div class="t m0 x6 hf y17d ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">check<span class="fc0">(</span></span>bool<span class="ffb fc0">)<span class="_ _10"> </span>{}<span class="_ _16"> </span><span class="ffc fc6">//<span class="_ _10"> </span>do<span class="_ _10"> </span>nothing</span></span></div><div class="t m0 xc hf y17e ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>endif</div><div class="t m0 xc hf y199 ff5 fs8 fc3 sc0 ls0 ws0">bool<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">()<span class="_ _10"> </span>{<span class="_ _10"> </span><span class="ffc fc6">/*<span class="_ _10"> </span>return<span class="_ _10"> </span>a<span class="_ _10"> </span>boolean<span class="_ _10"> </span>value<span class="_ _10"> </span>*/<span class="_ _22"> </span></span>}</span></span></div><div class="t m0 xc hf y19a ffb fs8 fc0 sc0 ls0 ws0">check(<span class="_ _10"> </span>f()<span class="_ _10"> </span>)</div><div class="t m0 xc hf y19b 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 y19c fff fs7 fc0 sc0 ls0 ws0"><span class="_ _f"> </span><span class="ff1">What<span class="_ _6"> </span>happ<span class="_ _c"></span>ens<span class="_ _6"> </span>when<span class="_ _34"> </span><span class="ff5">DEBUG<span class="_ _1e"> </span></span>is<span class="_ _8"> </span>not<span class="_ _f"> </span>defined?</span></div><div class="t m0 x20 hc y19d ffe fs7 fc0 sc0 ls0 ws0">f()<span class="_ _12"> </span><span class="ff4">is<span class="_ _f"> </span>not<span class="_ _f"> </span>evaluated<span class="_ _f"> </span>b<span class="_ _5"></span>y<span class="_ _f"> </span>using<span class="_ _f"> </span>the<span class="_ _f"> </span>macro</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">42/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf30" class="pf w0 h0" data-page-no="30"><div class="pc pc30 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAMIklEQVR42u3dT2ib5x3A8UeKX6u2sFwlSIZEajBRF1Kr6agT3KUbTU02clhrcphbCLSMwAZjbOwwxliPYSnsMJaFnbbSwxihMNqwixnD3WFJZlICa+2VrlpNZndge2mRXSeVbEs7CMLypxm0kaM3/XxOsl4dXn7P5ev31fMqsWvk8QAAAB2j8te/JE0BAIBOI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAALgmUa/XTQEAgM4RRZErqQAAdByRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQCAu6UrRue6srJiwQAAPp2+vr4Yna0rqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQjAABApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAgM+mywi4jalKZXJm5m+XLn28tpbPZEaHhsb27evp7jYZAKCtEvV6PS7nurKyYsE2zdV6/U9vvbW4vPyHixf/9/3t2ezPjh5Np1JGBADx0tfXF5dTjaLI7X5u7cwbb5w+f36kVLrh/X9/+OHJiQnzAQDaSqRyaxfeey+fydzy0FSlsri8bEQAgEjlLkinUqu12o/HxrZnsyGEkVLp+Ph4uVAIISxWq+YDAIhUNlu5UFhcXh7M58vF4o5stlwoDOZy5WJx+9atIYR8f78RAQDtY+MUtzZ/+fJ3X3659fqpRx89sn//d1566eO1tVa/Hn/mGSMCgHixcYp7QWHbttGhoWMHD4YQauvrr164kOnpCSGMDQ+PlsvmAwC0leek8omePXAghDA5M/PHN99svTM6NFQuFh8qFAwHAGgrV1L5RPlMZnJ6enRoaGx4eDCXy2cyzx44MD035yGpAEC7uZLK7UzPza3WansfeKBcLJaLxROvvZZM+scGABCp3G2zS0uzS0shhNZPT+0aGDATAECkchecPneup7t7bN++p4aHbzj0lT17QgiTMzOL1WrrS6sAACKVTfK7s2d3DQyMlEo3/zJqZWHh5MTEN594wpQAAJHKJlmt1WaXlmrr6y+88ko6lRoplVqb+mcXF6fn5v789tv/XFgIIRx6+GGzAgDaxMP8udHpc+dOnz9/fHw8hDA5MzNVqazWaulUqlwshhBSXV2P79594syZwVzu5889Z1wAEBfxepi/SOU6R0+dGszlRkql7ii6ODs7VamMlEr9vb3VK1daO/2z6fSXd+8OIazWaitXr/7kyBFDAwCRescj1e1+rnPsySd/8/rr0/Pz90XRIzt3Hjt4sFwsDubzraNTlcrZd95pbfMPIXxt714TAwDaQaRyncFcLoSQz2R+8fzzPd3dNxxt7aP69qFDJycmpiqVsZv2/gMA3BEezM515i5f3mg0vnf48M2Fek06lfrGY4/dF0UL1aqJAQDt4DupAACfC/H6TqorqQAAdByRCgCASAUAAJEKAIBIBQCAzypOu/sBAPg8sLsfAIBOJFIBABCpAAAgUgEAEKkAACBSAQAQqQAA0G5d8TrdRqPRbDZv/5lEIpFMim8AAJG6KX77+1df/OWpjY3G7T8WdXW98IPvjz/9dasLABBTcbrieGl+/v8WaghhbX39X++/b2kBAOIrTj+Lunrlyt//8W6z2dyyZUsymfzoo9Vv/fBHrUO/evGn9/dnGo3GxsZGMpnc8+CD6d4eqwsAEEdRFMXpdn+6t3f/Fx+59ud/Pvjg2uuHvlAayOWsKADAvcEGIwAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiNS2yfb37yzsCCHsLOzYlt1qLQEA7hmJer1uCgAAdI4oitzuBwCg44hUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAIA7qKt6YtAUAODOWvrqrw0BPrU9XzqcSPSnmtVaCM1m00AAAOgI/wWFXVaHAtT4CAAAAABJRU5ErkJggg=="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>6</div><div class="t m0 x9 hc y16d ff1 fs7 fc0 sc0 ls0 ws0">F<span class="_ _5"></span>o<span class="_ _5"></span>rget<span class="_ _6"> </span>curly<span class="_ _6"> </span>brack<span class="_ _5"></span>ets<span class="_ _f"> </span>in<span class="_ _8"> </span>multi-lines<span class="_ _f"> </span>macros!!</div><div class="t m0 xc hf y16e ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>include<span class="_ _22"> </span><span class="fc6">&lt;iostream&gt;</span></div><div class="t m0 xc hf y19e ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>include<span class="_ _22"> </span><span class="fc6">&lt;nuclear_explosion.hpp&gt;</span></div><div class="t m0 xc hf y19f ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>NUCLEAR_EXPLOSION<span class="_ _35"> </span>\<span class="_ _16"> </span><span class="fc6">//<span class="_ _10"> </span>{</span></div><div class="t m0 x6 hf y1a0 ffb fs8 fc0 sc0 ls0 ws0">std<span class="fc5">::</span>cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span><span class="fc7">&quot;start<span class="_ _10"> </span>nuclear<span class="_ _10"> </span>explosion&quot;</span></span>;<span class="_ _10"> </span>\</div><div class="t m0 x6 hf y171 ffb fs8 fc0 sc0 ls0 ws0">nuclear_explosion();</div><div class="t m0 x21 hf y172 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>}</div><div class="t m0 xc hf y173 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc4">main<span class="fc0">()<span class="_ _10"> </span>{</span></span></div><div class="t m0 x6 hf y1a1 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 y1a2 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 y1a3 ffb fs8 fc0 sc0 ls0 ws0">NUCLEAR_EXPLOSION</div><div class="t m0 xc hf y1a4 ffb fs8 fc0 sc0 ls0 ws0">}<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>BOOM!!</span></div><div class="t m0 x22 h15 y1a4 ff1a fs8 fc6 sc0 ls0 ws0"><span class="fcd sc0">A</span></div><div class="t m0 x1 hc y1a5 ff1 fs7 fc0 sc0 ls0 ws0">The<span class="_ _6"> </span>second<span class="_ _6"> </span>line<span class="_ _8"> </span>is<span class="_ _f"> </span>executed!!</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">43/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf31" class="pf w0 h0" data-page-no="31"><div class="pc pc31 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAImUlEQVR42u3ZsU0DQRCG0Vt0I6ITNSBHrgAhYiS3QEA9NEEHBK7BkgOKoAMi6wLsSc6Z5ZRLPCe9V8Hq3+TTbls9vXQAAFDGz/f+zgoAAFQjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAuGiZaQUAAOqICC+pAACUI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAAHAr/YLOOo6jCwMAmGcYhgWd1ksqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAi1QQAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAzNUy0woAANQREV5SAQAoR6QCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgDAP/VLOejf8bh5e3dhsCy77ZcRAJihZaYVAACoIyJ89wMAUI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABK6Q8fj1YAgBv6ff00AlxbP29ae7ifDqeum6bJIAAAlHAG68cjAFaXwxYAAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>7</div><div class="t m0 x23 hc y16d ff1 fs7 fc0 sc0 ls0 ws0">Macros<span class="_ _6"> </span>do<span class="_ _6"> </span>not<span class="_ _8"> </span>have<span class="_ _f"> </span>scop<span class="_ _c"></span>e!!</div><div class="t m0 xc hf y16e ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>include<span class="_ _22"> </span><span class="fc6">&lt;iostream&gt;</span></div><div class="t m0 xc hf y16f ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">()<span class="_ _10"> </span>{</span></span></div><div class="t m0 x6 hf y170 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>value<span class="_ _10"> </span>4</div><div class="t m0 x6 hf y1a0 ffb fs8 fc0 sc0 ls0 ws0">std<span class="fc5">::</span>cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>value;</div><div class="t m0 xc hf y171 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xc hf y172 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc4">main<span class="fc0">()<span class="_ _10"> </span>{</span></span></div><div class="t m0 x6 hf y173 ffb fs8 fc0 sc0 ls0 ws0">f();<span class="_ _36"> </span><span class="ffc fc6">//<span class="_ _10"> </span>4</span></div><div class="t m0 x6 hf y1a1 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 y1a2 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>value<span class="_ _10"> </span>3</div><div class="t m0 x6 hf y1a3 ffb fs8 fc0 sc0 ls0 ws0">f();<span class="_ _36"> </span><span class="ffc fc6">//<span class="_ _10"> </span>4</span></div><div class="t m0 x6 hf y1a4 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 y1a6 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xb h10 y1a7 ff1 fs8 fc9 sc0 ls0 ws0">*<span class="_ _1d"> </span><span class="ff13">In<span class="_ _d"> </span>general,<span class="_ _d"> </span>compilers<span class="_ _d"> </span>raise<span class="_ _d"> </span>a<span class="_ _d"> </span>wa<span class="_ _5"></span>rning<span class="_ _1d"> </span>for<span class="_ _1d"> </span>multiple<span class="_ _d"> </span>definitions<span class="_ _d"> </span>of<span class="_ _d"> </span>the<span class="_ _d"> </span>same<span class="_ _d"> </span>macro</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">44/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf32" class="pf w0 h0" data-page-no="32"><div class="pc pc32 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>8</div><div class="t m0 x24 hc y1a8 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 y1a9 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>MIN(a,<span class="_ _10"> </span>b)<span class="_ _10"> </span>((a)<span class="_ _10"> </span>&lt;<span class="_ _10"> </span>(b)<span class="_ _10"> </span>?<span class="_ _10"> </span>(a)<span class="_ _10"> </span>:<span class="_ _10"> </span>(b))</div><div class="t m0 xc hf y1aa 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 y1ab 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 y1ac 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 y1ad 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 y1ae 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 y1af 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 y1b0 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 y1b1 ffb fs8 fc0 sc0 ls0 ws0">}<span class="_ _37"> </span><span class="ffc fc6">//<span class="_ _10"> </span>segmentation<span class="_ _10"> </span>fault</span></div><div class="t m0 x25 h15 y1b1 ff1a fs8 fc6 sc0 ls0 ws0"><span class="fcd sc0">A</span></div><div class="t m0 xb hf y1b2 ffb fs8 fc9 sc0 ls0 ws0">arne-mertz.de/2019/03/macro-evil</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">45/62</div><a class="l" href="https://arne-mertz.de/2019/03/macro-evil/"><div class="d m1" style="border-style:none;position:absolute;left:34.722000px;bottom:3.170000px;width:152.628000px;height:13.444000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf33" class="pf w0 h0" data-page-no="33"><div class="pc pc33 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAInElEQVR42u3bsW0CMQCG0TM6K5XFDIiKCVBEjZQyuzAE1W2QIRiCIkNkAyrkCjdHxwAXHbLhvQms382nOzmst7sOAACq8fd7XlgBAIDaiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAB5CKcUKAADUI8boSyoAANURqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAJ6vb+isOWcXBgAwTUqpodP6kgoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEg1AQAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAACYRW8CYLLvYTDCOzsdDkYAZhJKKa2cNefswgAApkkptXLUGKPf/QAAVEekAgAgUgEAQKQCACBSAQDgv1p63Q8AwDvwuh8AgBqJVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQDgKfrrcWUFAHg9l/2PEWjU5vMrhOXHeL113TiOBgEAoAp3HTUjAKzrXIUAAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>9</div><div class="t m0 x26 hc y1b3 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 y1b4 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>MY_MACRO<span class="_ _10"> </span>defined(EXTERNAL_MACRO)</div><div class="t m0 xc hf y1b5 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>if<span class="_ _10"> </span>MY_MACRO</div><div class="t m0 xc hf y1b6 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _33"> </span>define<span class="_ _10"> </span>MY_VALUE<span class="_ _10"> </span>1</div><div class="t m0 xc hf y1b7 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>else</div><div class="t m0 xc hf y1b8 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _33"> </span>define<span class="_ _10"> </span>MY_VALUE<span class="_ _10"> </span>0</div><div class="t m0 xc hf y1b9 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>endif</div><div class="t m0 xc hf y1ba ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc4">f<span class="fc0">()<span class="_ _10"> </span>{<span class="_ _10"> </span></span></span><span class="fc8">return<span class="_ _10"> </span><span class="ffb fc0">MY_VALUE;<span class="_ _10"> </span>}<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>undefined<span class="_ _10"> </span>behavior</span></span></span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">46/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf34" class="pf w0 h0" data-page-no="34"><div class="pc pc34 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">When<span class="_ _8"> </span>Prep<span class="_ _5"></span>ro<span class="_ _c"></span>cesso<span class="_ _5"></span>rs<span class="_ _8"> </span>a<span class="_ _5"></span>re<span class="_ _8"> </span>Necessa<span class="_ _5"></span>ry</div><div class="t m0 xb hc ye8 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff1">Conditional<span class="_ _6"> </span>compiling<span class="_ _c"></span><span class="ff4">:<span class="_ _10"> </span>different<span class="_ _a"> </span>architectures,<span class="_ _a"> </span>compiler<span class="_ _f"> </span>features,<span class="_ _f"> </span>etc.</span></span></div><div class="t m0 xb hc y1bb 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 y1bc 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 y1bd ff1 fs7 fc0 sc0 ls0 ws0">Otherwise<span class="ff4">,<span class="_ _f"> </span>p<span class="_ _5"></span>refer<span class="_ _12"> </span><span class="ffe">const<span class="_ _12"> </span></span>and<span class="_ _1e"> </span><span class="ffe">constexpr<span class="_ _12"> </span></span>for<span class="_ _a"> </span>constant<span class="_ _f"> </span>values<span class="_ _f"> </span>and<span class="_ _f"> </span>functions</span></div><div class="t m0 xc hf y1be ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>SIZE<span class="_ _10"> </span>3<span class="_ _17"> </span><span class="fc6">//<span class="_ _10"> </span>replaced<span class="_ _10"> </span>with</span></div><div class="t m0 xc hf y1bf 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 y1c0 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>SUB(a,<span class="_ _10"> </span>b)<span class="_ _10"> </span>((a)<span class="_ _10"> </span>-<span class="_ _10"> </span>(b))<span class="_ _22"> </span><span class="fc6">//<span class="_ _10"> </span>replaced<span class="_ _10"> </span>with</span></div><div class="t m0 xc hf y1c1 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 y1c2 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 y1c3 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xb hf y1c4 ffb fs8 fc9 sc0 ls0 ws0">Are<span class="_ _10"> </span>We<span class="_ _10"> </span>Macro<span class="_ _10"> </span>free<span class="_ _10"> </span>Yet,<span class="_ _10"> </span>CppCon2019</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">47/62</div><a class="l" href="https://github.com/CppCon/CppCon2019/blob/master/Presentations/are_we_macrofree_yet/are_we_macrofree_yet__zhihao_yuan__cppcon_2019.pdf"><div class="d m1" style="border-style:none;position:absolute;left:34.722000px;bottom:6.363000px;width:157.335000px;height:13.444000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf35" class="pf w0 h0" data-page-no="35"><div class="pc pc35 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Source<span class="_ _8"> </span>Lo<span class="_ _c"></span>cation<span class="_ _8"> </span>Macros<span class="_ _38"> </span>1/3</div><div class="t m0 x27 hc y76 ff5 fs7 fc0 sc0 ls0 ws0">__LINE__<span class="_ _24"> </span><span class="ff4">Integer<span class="_ _a"> </span>value<span class="_ _f"> </span>representing<span class="_ _a"> </span>the<span class="_ _f"> </span>current<span class="_ _f"> </span>line<span class="_ _f"> </span>in<span class="_ _f"> </span>the<span class="_ _f"> </span>source<span class="_ _f"> </span>co<span class="_ _c"></span>de<span class="_ _a"> </span>file</span></div><div class="t m0 x2 hc y161 ff4 fs7 fc0 sc0 ls0 ws0">b<span class="_ _c"></span>eing<span class="_ _a"> </span>compiled</div><div class="t m0 x27 hc yea ff5 fs7 fc0 sc0 ls0 ws0">__FILE__<span class="_ _24"> </span><span class="ff4">A<span class="_ _a"> </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 class="_ _f"> </span>the<span class="_ _f"> </span>source<span class="_ _f"> </span>file<span class="_ _f"> </span>b<span class="_ _c"></span>eing</span></div><div class="t m0 x2 hc yeb ff4 fs7 fc0 sc0 ls0 ws0">compiled</div><div class="t m0 x12 hc y1c5 ff5 fs7 fc0 sc0 ls0 ws0">__FUNCTION__<span class="_ _24"> </span><span class="ff4">(non-standa<span class="_ _5"></span>rd,<span class="_ _f"> </span><span class="ffe">gcc</span>,<span class="_ _a"> </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>name<span class="_ _f"> </span>of</span></div><div class="t m0 x2 hc y1c6 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 x0 hc y1c7 ff5 fs7 fc0 sc0 ls0 ws0">__PRETTY_FUNCTION__<span class="_ _24"> </span><span class="ff4">(non-standa<span class="_ _5"></span>rd,<span class="_ _f"> </span><span class="ffe">gcc</span>,<span class="_ _a"> </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 y1c8 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 y1c9 ffe fs7 fc4 sc0 ls0 ws0">__func__<span class="_ _4"> </span><span class="ff4 fc0">(<span class="fcb">C++11<span class="_ _f"> </span></span>k<span class="_ _5"></span>eyw<span class="_ _5"></span>ord)<span class="_ _a"> </span>A<span class="_ _f"> </span>string<span class="_ _f"> </span>containing<span class="_ _a"> </span>the<span class="_ _f"> </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 y1ca ff4 fs7 fc0 sc0 ls0 ws0">the<span class="_ _f"> </span>macro<span class="_ _a"> </span>scop<span class="_ _c"></span>e</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">48/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf36" class="pf w0 h0" data-page-no="36"><div class="pc pc36 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIeElEQVR42u3YsQkCMRiG4UQuWB3OIFZOIGIt3GYu4TgWDuEGVsdVpomdYHsg/gfPM0H40rz8eXc4JQAACONxv62sAABANCIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAICPXGu1AgAAcZRSXFIBAAhHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAP6pW9Bbp2nyYQAA8/R9v6DXuqQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSTQAAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKSaAAAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAAC+5VqrFQAAiKOU4pIKAEA4IhUAgHC68bK1AgDwC8/z1QjMsD8OOW/WbXyl1FozCAAAIbwBsEQaAij9OW4AAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Source<span class="_ _8"> </span>Lo<span class="_ _c"></span>cation<span class="_ _8"> </span>Macros<span class="_ _38"> </span>2/3</div><div class="t m0 x1 h16 y110 ff5 fs8 fc0 sc0 ls0 ws0">source.cpp:</div><div class="t m0 xc hf y1cb ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>include<span class="_ _22"> </span><span class="fc6">&lt;iostream&gt;</span></div><div class="t m0 xc hf y1cc 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 y1cd 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 y1ce ffb fs8 fc0 sc0 ls0 ws0">std<span class="fc5">::</span>cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>__FUNCTION__;<span class="_ _36"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span><span class="ff18">&apos;</span>f<span class="ff18">&apos;</span></span></div><div class="t m0 x6 hf y1cf 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 y1d0 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xc hf y1d1 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 y1d2 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 y1d3 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 y1d4 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 y1d5 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 y1d6 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xc hf y1d7 ff5 fs8 fc3 sc0 ls0 ws0">void<span class="_ _10"> </span><span class="ffb fc0">g1()<span class="_ _10"> </span>{<span class="_ _10"> </span>g(<span class="fc5">3</span>);<span class="_ _10"> </span>}</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">49/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf37" class="pf w0 h0" data-page-no="37"><div class="pc pc37 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Source<span class="_ _8"> </span>Lo<span class="_ _c"></span>cation<span class="_ _8"> </span>Macros<span class="_ _38"> </span>3/3</div><div class="t m0 x1 hc y84 ff4 fs7 fcb sc0 ls0 ws0">C++20<span class="_ _f"> </span><span class="fc0">p<span class="_ _5"></span>rovides<span class="_ _f"> </span>source<span class="_ _a"> </span>lo<span class="_ _c"></span>cation<span class="_ _f"> </span>utilities<span class="_ _f"> </span>for<span class="_ _a"> </span>replacing<span class="_ _f"> </span>macro-based<span class="_ _f"> </span>app<span class="_ _5"></span>roach</span></div><div class="t m0 xc he y1d8 ffe fs7 fc0 sc0 ls0 ws0">#include<span class="_ _13"> </span>&lt;source_location&gt;</div><div class="t m0 x19 h6 y1d9 ff5 fs4 fc0 sc0 ls0 ws0">current()<span class="_ _24"> </span><span class="ff4">get<span class="_ _d"> </span>source<span class="_ _a"> </span>lo<span class="_ _c"></span>cation<span class="_ _d"> </span>info<span class="_ _a"> </span>(<span class="ffe">static<span class="_ _b"> </span>member</span>)</span></div><div class="t m0 x27 h6 y1da ff5 fs4 fc0 sc0 ls0 ws0">line()<span class="_ _24"> </span><span class="ff4">source<span class="_ _d"> </span>co<span class="_ _c"></span>de<span class="_ _a"> </span>line</span></div><div class="t m0 x16 h6 y1db ff5 fs4 fc0 sc0 ls0 ws0">column()<span class="_ _24"> </span><span class="ff4">line<span class="_ _d"> </span>column</span></div><div class="t m0 xe h6 y1dc ff5 fs4 fc0 sc0 ls0 ws0">file_name()<span class="_ _24"> </span><span class="ff4">current<span class="_ _d"> </span>file<span class="_ _a"> </span>name</span></div><div class="t m0 x29 h6 y1dd ff5 fs4 fc0 sc0 ls0 ws0">function_name()<span class="_ _24"> </span><span class="ff4">current<span class="_ _d"> </span>function<span class="_ _a"> </span>name</span></div><div class="t m0 xc hf y1de ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>include<span class="_ _22"> </span><span class="fc6">&lt;source_location&gt;</span></div><div class="t m0 xc hf y1df 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 y1e0 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 y1e1 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xc hf y1e2 ffb fs8 fc0 sc0 ls0 ws0">f();<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print:<span class="_ _10"> </span>&quot;function:<span class="_ _10"> </span>f,<span class="_ _10"> </span>line<span class="_ _10"> </span>6&quot;</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">50/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf38" class="pf w0 h0" data-page-no="38"><div class="pc pc38 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAJG0lEQVR42u3ZsYkVURTH4XdlDkaHrUGMrEDEWNgWDKzHJuzAwBoEA4uwA6PlBO6e5JktBiPMk7dwZ/y+Cob/TX6cGS9fvz0BAMA0fnz/9swKAADMRqQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAPBodLcVAACYR0S4pAIAMB2RCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQDg6Swm2K6qjAB/ykwjAPAUXFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAwLGN7rYCAADziAiXVAAAprOYYLuqMgJcUWYaAYBVLqkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAwEVGd1sBAIB5RIRLKgAA01lMsF1VGQGuKDONAMAql1QAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEA4CKju60AAMA8IsIlFQCA6Swm2K6qjABXlJlGAGCVSyoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBANi30d1WAABgHhHhkgoAwHQWE2xXVUaAK8pMIwCwyiUVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAALjI6G4rAAAwj4hwSQUAYDoiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAMDfLSZYVVVGYF8y0wgAHIZLKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEA2LfR3VYAAGAeEeGSCgDAdBYTrKoqI3AwmWkEAPbCJRUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAHNvobisAADCPiHBJBQBgOosJVlWVEdiXzDQCAIfhkgoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAPZtdLcVAACYR0S4pAIAMB2RCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAP+ZZS8f+uv+/vb9Bw8G+/L1y2cjAPAPRndbAQCAeUSE3/0AAExHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAcBjL3ccXVgAAduTnu09GOLZXb27HuHl+vns4nc7ns0EAAJjCb1yLTPLYye7EAAAAAElFTkSuQmCC"/><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 y84 ff1 fs7 fc0 sc0 ls0 ws0">Select<span class="_ _6"> </span>co<span class="_ _c"></span>de<span class="_ _6"> </span>dep<span class="_ _c"></span>ending<span class="_ _6"> </span>on<span class="_ _6"> </span>the<span class="_ _6"> </span>C/C++<span class="_ _8"> </span>version</div><div class="t m0 xe h6 y1e3 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe">#if<span class="_ _b"> </span>defined(__cplusplus)<span class="_ _22"> </span><span class="ff4">C++<span class="_ _a"> </span>co<span class="_ _c"></span>de</span></span></div><div class="t m0 xe h6 y1e4 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe">#if<span class="_ _b"> </span>__cplusplus<span class="_ _b"> </span>==<span class="_ _b"> </span>199711L<span class="_ _12"> </span><span class="ff4">ISO<span class="_ _d"> </span>C++<span class="_ _a"> </span>1998/2003</span></span></div><div class="t m0 xe h6 y1e5 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe">#if<span class="_ _b"> </span>__cplusplus<span class="_ _b"> </span>==<span class="_ _b"> </span>201103L<span class="_ _12"> </span><span class="ff4">ISO<span class="_ _d"> </span>C++<span class="_ _a"> </span>2011<span class="ff1">*</span></span></span></div><div class="t m0 xe h6 y1e6 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe">#if<span class="_ _b"> </span>__cplusplus<span class="_ _b"> </span>==<span class="_ _b"> </span>201402L<span class="_ _12"> </span><span class="ff4">ISO<span class="_ _d"> </span>C++<span class="_ _a"> </span>2014<span class="ff1">*</span></span></span></div><div class="t m0 xe h6 y1e7 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe">#if<span class="_ _b"> </span>__cplusplus<span class="_ _b"> </span>==<span class="_ _b"> </span>201703L<span class="_ _12"> </span><span class="ff4">ISO<span class="_ _d"> </span>C++<span class="_ _a"> </span>2017</span></span></div><div class="t m0 x1 hc y1e8 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 x2a h6 y1e9 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe">#if<span class="_ _b"> </span>defined(__GNUG__)<span class="_ _22"> </span><span class="ff4">The<span class="_ _a"> </span>compiler<span class="_ _a"> </span>is<span class="_ _a"> </span></span>gcc/g++</span></div><div class="t m0 x2b h17 y1ea ff1b fs6 fc0 sc0 ls0 ws0"></div><div class="t m0 x2a h6 y1eb fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe">#if<span class="_ _b"> </span>defined(__clang__)<span class="_ _22"> </span><span class="ff4">The<span class="_ _a"> </span>compiler<span class="_ _a"> </span>is<span class="_ _a"> </span></span>clang/clang++</span></div><div class="t m0 x2a h6 y1ec fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe">#if<span class="_ _b"> </span>defined(_MSC_VER)<span class="_ _22"> </span><span class="ff4">The<span class="_ _a"> </span>compiler<span class="_ _a"> </span>is<span class="_ _a"> </span></span>Microsoft<span class="_ _b"> </span>Visual<span class="_ _b"> </span>C++</span></div><div class="t m0 x2c h10 y1ed ff1 fs8 fc9 sc0 ls0 ws0">*<span class="_ _4"> </span><span class="ffb">MSVC<span class="_ _10"> </span>defines<span class="_ _10"> </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 x2c h10 y1ee ff1b fs8 fc9 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ffb">__GNUC__<span class="_ _10"> </span>is<span class="_ _10"> </span>defined<span class="_ _10"> </span>by<span class="_ _10"> </span>many<span class="_ _10"> </span>compilers,<span class="_ _10"> </span>e.g<span class="_ _10"> </span>clang</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">51/62</div><a class="l" href="https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/"><div class="d m1" style="border-style:none;position:absolute;left:32.332000px;bottom:18.564000px;width:251.481000px;height:10.589000px;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:3.969000px;width:227.944000px;height:10.212000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf39" class="pf w0 h0" data-page-no="39"><div class="pc pc39 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Condition<span class="_ _8"> </span>Compiling<span class="_ _8"> </span>Macros<span class="_ _3a"> </span>2/2</div><div class="t m0 x1 hc y84 ff1 fs7 fc0 sc0 ls0 ws0">Select<span class="_ _6"> </span>co<span class="_ _c"></span>de<span class="_ _6"> </span>dep<span class="_ _c"></span>ending<span class="_ _6"> </span>on<span class="_ _6"> </span>the<span class="_ _6"> </span>op<span class="_ _c"></span>erating<span class="_ _6"> </span>system<span class="_ _8"> </span>o<span class="_ _5"></span>r<span class="_ _f"> </span>environment</div><div class="t m0 xe h6 y1ef fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe">#if<span class="_ _b"> </span>defined(_WIN64)<span class="_ _22"> </span><span class="ff4">OS<span class="_ _a"> </span>is<span class="_ _a"> </span></span>Windows<span class="_ _b"> </span>64-bit</span></div><div class="t m0 xe h6 y1f0 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe">#if<span class="_ _b"> </span>defined(__linux__)<span class="_ _22"> </span><span class="ff4">OS<span class="_ _a"> </span>is<span class="_ _a"> </span></span>Linux</span></div><div class="t m0 xe h6 y1f1 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe">#if<span class="_ _b"> </span>defined(__APPLE__)<span class="_ _22"> </span><span class="ff4">OS<span class="_ _a"> </span>is<span class="_ _a"> </span></span>Mac<span class="_ _b"> </span>OS</span></div><div class="t m0 xe h6 y1f2 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe">#if<span class="_ _b"> </span>defined(__MINGW32__)<span class="_ _22"> </span><span class="ff4">OS<span class="_ _a"> </span>is<span class="_ _a"> </span></span>MinGW<span class="_ _b"> </span>32-bit</span></div><div class="t m0 xe h6 y1f3 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">...and<span class="_ _a"> </span>many<span class="_ _d"> </span>others</span></div><div class="t m0 x2d hc y1f4 ff5 fs7 fc0 sc0 ls0 ws0">__DATE__<span class="_ _24"> </span><span class="ff4">A<span class="_ _a"> </span>string<span class="_ _f"> </span>literal<span class="_ _f"> </span>in<span class="_ _f"> </span>the<span class="_ _f"> </span>form<span class="_ _a"> </span>&quot;MMM<span class="_ _f"> </span>DD<span class="_ _f"> </span>YYYY&quot;<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 x27 hc y1f5 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 y1f6 ff5 fs7 fc0 sc0 ls0 ws0">__TIME__<span class="_ _24"> </span><span class="ff4">A<span class="_ _a"> </span>string<span class="_ _f"> </span>literal<span class="_ _f"> </span>in<span class="_ _f"> </span>the<span class="_ _f"> </span>form<span class="_ _a"> </span>&quot;hh:mm:ss&quot;<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 x27 hc y1f7 ff4 fs7 fc0 sc0 ls0 ws0">compilation<span class="_ _f"> </span>p<span class="_ _5"></span>ro<span class="_ _c"></span>cess<span class="_ _a"> </span>b<span class="_ _c"></span>egan</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">52/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf3a" class="pf w0 h0" data-page-no="3a"><div class="pc pc3a w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIXElEQVR42u3YsQ3CMBRFURvFomQGlCoToIgaic2yRMahyBDZIJVL3DgdM3yhc0Z41dXL4+OZAAAgjH37XKwAAEA0IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAgJ/cWrMCAABxlFI8qQAAhCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqSYAAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSTQAAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgDwP4a63K0AAHC8ViMEMc3vnG/XXr8p9d4NAgBACCfPWBQEer+MPwAAAABJRU5ErkJggg=="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Other<span class="_ _8"> </span>Macros</div><div class="t m0 x1 hc y1f8 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 y1f9 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 y1fa fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ffe">How<span class="_ _13"> </span>to<span class="_ _13"> </span>detect<span class="_ _13"> </span>the<span class="_ _13"> </span>operating<span class="_ _13"> </span>system<span class="_ _13"> </span>type<span class="_ _13"> </span>using<span class="_ _13"> </span>compiler<span class="_ _13"> </span>predefined</span></div><div class="t m0 x6 he y1fb ffe fs7 fc0 sc0 ls0 ws0">macros</div><div class="t m0 xb hc y1fc fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ffe">Abseil<span class="_ _13"> </span>platform<span class="_ _13"> </span>macros</span></div><div class="t m0 xb hc y1fd fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ffe">Boost.Predef</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">53/62</div><a class="l" href="https://sourceforge.net/p/predef/wiki/Home/"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:135.788000px;width:202.447000px;height:11.993000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://web.archive.org/web/20191012035921/http:/nadeausoftware.com/articles/2012/01/c_c_tip_how_use_compiler_predefined_macros_detect_operating_system"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:117.218000px;width:377.025000px;height:10.952000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://web.archive.org/web/20191012035921/http:/nadeausoftware.com/articles/2012/01/c_c_tip_how_use_compiler_predefined_macros_detect_operating_system"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:104.061000px;width:36.356000px;height:6.615000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://abseil.io/docs/cpp/platforms/macros"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:83.066000px;width:127.993000px;height:10.952000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://www.boost.org/doc/libs/release/libs/predef/doc/index.html"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:66.920000px;width:70.720000px;height:8.528000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf3b" class="pf w0 h0" data-page-no="3b"><div class="pc pc3b w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>eature<span class="_ _8"> </span>T<span class="_ _7"></span>esting<span class="_ _8"> </span>Macro</div><div class="t m0 x1 hc y84 ff4 fs7 fcb sc0 ls0 ws0">C++17<span class="_ _f"> </span><span class="fc0">intro<span class="_ _c"></span>duces<span class="_ _22"> </span><span class="ff5">__has_include<span class="_ _1e"> </span></span>macro<span class="_ _f"> </span>which<span class="_ _f"> </span>returns<span class="_ _12"> </span><span class="ffe">1<span class="_ _12"> </span></span>if<span class="_ _f"> </span>header<span class="_ _f"> </span>or<span class="_ _a"> </span>source<span class="_ _f"> </span>file</span></div><div class="t m0 x1 hc yd3 ff4 fs7 fc0 sc0 ls0 ws0">with<span class="_ _f"> </span>the<span class="_ _a"> </span>sp<span class="_ _c"></span>ecified<span class="_ _f"> </span>name<span class="_ _f"> </span>exists</div><div class="t m0 xc hf y12d ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>if<span class="_ _10"> </span>__has_include(&lt;iostream&gt;)</div><div class="t m0 xc hf y12e ffc fs8 fca sc0 ls0 ws0">#<span class="_ _33"> </span>include<span class="_ _22"> </span><span class="fc6">&lt;iostream&gt;</span></div><div class="t m0 xc hf y12f ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>endif</div><div class="t m0 x1 hc y1fe ff4 fs7 fcb sc0 ls0 ws0">C++20<span class="_ _f"> </span><span class="fc0">intro<span class="_ _c"></span>duces<span class="_ _a"> </span>a<span class="_ _f"> </span>set<span class="_ _f"> </span>of<span class="_ _f"> </span>macros<span class="_ _f"> </span>to<span class="_ _f"> </span>evaluate<span class="_ _f"> </span>if<span class="_ _f"> </span>a<span class="_ _a"> </span>given<span class="_ _f"> </span>feature<span class="_ _f"> </span>is<span class="_ _f"> </span>supp<span class="_ _c"></span>o<span class="_ _5"></span>rted<span class="_ _f"> </span>b<span class="_ _5"></span>y<span class="_ _f"> </span>the</span></div><div class="t m0 x1 hc y1ff ff4 fs7 fc0 sc0 ls0 ws0">compiler</div><div class="t m0 xc hf y200 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>if<span class="_ _10"> </span>__cpp_constexpr</div><div class="t m0 xc hf y201 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 y202 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>endif</div><div class="t m0 xb hf y203 ffb fs8 fc9 sc0 ls0 ws0">Feature<span class="_ _10"> </span>Testing<span class="_ _10"> </span>Macros</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">54/62</div><a class="l" href="https://en.cppreference.com/w/User:D41D8CD98F/feature_testing_macros"><div class="d m1" style="border-style:none;position:absolute;left:34.722000px;bottom:1.913000px;width:105.554000px;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="pf3c" class="pf w0 h0" data-page-no="3c"><div class="pc pc3c w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>10<span class="_ _8"> </span><span class="ff14"></span></div><div class="t m0 xa hc y16d ff1 fs7 fc0 sc0 ls0 ws0">Macros<span class="_ _6"> </span>dep<span class="_ _c"></span>end<span class="_ _6"> </span>on<span class="_ _6"> </span>compilers<span class="_ _8"> </span>and<span class="_ _f"> </span>environment!!</div><div class="t m0 x1 h11 y204 ff5 fs5 fc8 sc0 ls0 ws0">struct<span class="_ _8"> </span><span class="fc4">A<span class="_ _6"> </span><span class="ff15 fc0">{</span></span></div><div class="t m0 x11 h11 y205 ff5 fs5 fc3 sc0 ls0 ws0">int<span class="_ _8"> </span><span class="ff15 fc0">x;<span class="_ _9"> </span><span class="ffc fc6">//<span class="_ _8"> </span>enable<span class="_ _8"> </span>C++11<span class="_ _6"> </span>code</span></span></div><div class="t m0 x1 h11 y206 ffc fs5 fca sc0 ls0 ws0">#<span class="_ _21"> </span>if<span class="_ _6"> </span>__cplusplus<span class="_ _8"> </span>&gt;=<span class="_ _6"> </span>201103</div><div class="t m0 x11 h11 y207 ff15 fs5 fc0 sc0 ls0 ws0">A()<span class="_ _8"> </span><span class="fc5">=<span class="_ _6"> </span><span class="ff5 fc8">default</span></span>;</div><div class="t m0 x1 h11 y208 ffc fs5 fca sc0 ls0 ws0">#<span class="_ _21"> </span>else</div><div class="t m0 x11 h11 y209 ff15 fs5 fc0 sc0 ls0 ws0">A()<span class="_ _8"> </span>{}</div><div class="t m0 x1 h11 y20a ffc fs5 fca sc0 ls0 ws0">#<span class="_ _21"> </span>endif</div><div class="t m0 x1 h11 y20b ff15 fs5 fc0 sc0 ls0 ws0">};</div><div class="t m0 x2e h11 y20c ffc fs5 fc6 sc0 ls0 ws0">//<span class="_ _8"> </span>should<span class="_ _6"> </span>return<span class="_ _8"> </span><span class="ff1c"><span class="_ _6"> </span></span>10.0f</div><div class="t m0 x2e h11 y20d ff5 fs5 fc3 sc0 ls0 ws0">float<span class="_ _8"> </span><span class="ff15 fc4">safe_function<span class="fc0">()<span class="_ _6"> </span>{</span></span></div><div class="t m0 x2f h11 y20e ff15 fs5 fc0 sc0 ls0 ws0">A<span class="_ _8"> </span>a{};<span class="_ _6"> </span><span class="ffc fc6">//<span class="_ _8"> </span>zero-initialization</span></div><div class="t m0 x2f h11 y20f ff5 fs5 fc8 sc0 ls0 ws0">for<span class="_ _8"> </span><span class="ff15 fc0">(</span><span class="fc3">int<span class="_ _6"> </span><span class="ff15 fc0">i<span class="_ _8"> </span><span class="fc5">=<span class="_ _8"> </span>0</span>;<span class="_ _6"> </span>i<span class="_ _8"> </span><span class="fc5">&lt;<span class="_ _8"> </span>10</span>;<span class="_ _6"> </span>i<span class="fc5">++</span>)</span></span></div><div class="t m0 x30 h11 y210 ff15 fs5 fc0 sc0 ls0 ws0">a.x<span class="_ _8"> </span><span class="fc5">+=<span class="_ _6"> </span>1.0f</span>;</div><div class="t m0 x2f h11 y211 ff5 fs5 fc8 sc0 ls0 ws0">return<span class="_ _8"> </span><span class="ff15 fc0">a.x;</span></div><div class="t m0 x2e h11 y212 ff15 fs5 fc0 sc0 ls0 ws0">}</div><div class="t m0 x2e h11 y213 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 y214 ff4 fs4 fc0 sc0 ls0 ws0">The<span class="_ _d"> </span>co<span class="_ _c"></span>de<span class="_ _a"> </span>w<span class="_ _5"></span>orks<span class="_ _d"> </span>fine<span class="_ _d"> </span>on<span class="_ _a"> </span>Linux,<span class="_ _a"> </span>but<span class="_ _a"> </span>not<span class="_ _a"> </span>under<span class="_ _d"> </span>Windows<span class="_ _d"> </span>MSVC.<span class="_ _d"> </span>MSVC<span class="_ _d"> </span>sets<span class="_ _22"> </span><span class="ffe">__cplusplus<span class="_ _22"> </span></span>to</div><div class="t m0 xc h6 y215 ffe fs4 fc0 sc0 ls0 ws0">199711<span class="_ _22"> </span><span class="ff4">even<span class="_ _a"> </span>if<span class="_ _d"> </span>C++11/14/17<span class="_ _a"> </span>flag<span class="_ _a"> </span>is<span class="_ _a"> </span>set!!<span class="_ _8"> </span>in<span class="_ _a"> </span>this<span class="_ _a"> </span>case<span class="_ _d"> </span>the<span class="_ _a"> </span>co<span class="_ _c"></span>de<span class="_ _d"> </span>can<span class="_ _a"> </span>return<span class="_ _22"> </span></span>NaN</div><div class="t m0 x31 h10 y216 ff13 fs8 fc9 sc0 ls0 ws0">see<span class="_ _1d"> </span>Lecture<span class="_ _d"> </span>“Object-Oriented<span class="_ _d"> </span>Programming<span class="_ _d"> </span>I<span class="_ _c"></span>I<span class="_ _1d"> </span>-<span class="_ _d"> </span>Zero<span class="_ _d"> </span>Initialization&quot;<span class="_ _d"> </span>and<span class="_ _d"> </span><span class="ffb">MSVC<span class="_ _10"> </span>now<span class="_ _10"> </span>correctly</span></div><div class="t m0 x1 hf y217 ffb fs8 fc9 sc0 ls0 ws0">reports<span class="_ _10"> </span>__cplusplus</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">55/62</div><a class="l" href="https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/"><div class="d m1" style="border-style:none;position:absolute;left:315.105000px;bottom:20.400000px;width:111.088000px;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:91.432000px;height:11.154000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf3d" class="pf w0 h0" data-page-no="3d"><div class="pc pc3d w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAItklEQVR42u3YsU3EQBCG0V3kEdGKGhARFSBEjERnNEE5BBRBB0SnjZjEZBRwh/D47r0CrNXv5NP0u4enBgAAZXx+vF9ZAQCAakQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAC/emZaAQCAOiLCJRUAgHJEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAALt1iAuAfzDlP/8gYw5IAF8IlFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAABsq2emFQAAqCMiXFIBAChHpAIAIFIBAECkAgAgUgEA4FSLCYBtzTlP/8gYw5IA58QlFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAABsq2emFQAAqCMiXFIBAChHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAwB9bdvTWOacfBgBwnDHGjl7rkgoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAgHPVM9MKAADUEREuqQAAlCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAMC2lh29dc7phwEAHGeMsaPXuqQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSTQAAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAAdqlnphUAAKgjIlxSAQAoR6QCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAgG0th9dbKwAAVPD1/GaE1tr940vvN9fr4bu1dV0NAgBACT/Kdiv8HGuw6wAAAABJRU5ErkJggg=="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Stringizing<span class="_ _8"> </span>Op<span class="_ _c"></span>erato<span class="_ _5"></span>r<span class="_ _8"> </span>(<span class="ff5">#</span>)</div><div class="t m0 x1 hc y84 ff4 fs7 fc0 sc0 ls0 ws0">The<span class="_ _a"> </span><span class="ff1">stringizing<span class="_ _f"> </span>macro<span class="_ _6"> </span>op<span class="_ _c"></span>erato<span class="_ _5"></span>r<span class="_ _a"> </span><span class="ff4">(<span class="_ _d"> </span><span class="ff5">#<span class="_ _1d"> </span></span>)<span class="_ _a"> </span>causes<span class="_ _f"> </span>the<span class="_ _a"> </span>corresponding<span class="_ _a"> </span>actual<span class="_ _a"> </span>argument<span class="_ _d"> </span>to<span class="_ _f"> </span>b<span class="_ _c"></span>e</span></span></div><div class="t m0 x1 hc yd3 ff4 fs7 fc0 sc0 ls0 ws0">enclosed<span class="_ _f"> </span>in<span class="_ _a"> </span>double<span class="_ _f"> </span>quotation<span class="_ _f"> </span>marks<span class="_ _12"> </span><span class="ff5">&quot;</span></div><div class="t m0 xc hf y12d ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>STRING_MACRO(string)<span class="_ _10"> </span>#string</div><div class="t m0 xc hf y12f ffb fs8 fc0 sc0 ls0 ws0">cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>STRING_MACRO(hello);<span class="_ _16"> </span><span class="ffc fc6">//<span class="_ _10"> </span>equivalent<span class="_ _10"> </span>to<span class="_ _10"> </span>&quot;hello&quot;</span></div><div class="t m0 xc hf y218 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>INFO_MACRO(my_func)<span class="_ _3b"> </span>\</div><div class="t m0 xc hf y219 ffc fs8 fca sc0 ls0 ws0">{<span class="_ _3c"> </span>\</div><div class="t m0 x6 hf y21a ffc fs8 fca sc0 ls0 ws0">my_func<span class="_ _3d"> </span>\</div><div class="t m0 x6 hf y21b ffc fs8 fca sc0 ls0 ws0">cout<span class="_ _10"> </span>&lt;&lt;<span class="_ _10"> </span>&quot;call<span class="_ _10"> </span>&quot;<span class="_ _10"> </span>&lt;&lt;<span class="_ _10"> </span>#my_func<span class="_ _10"> </span>&lt;&lt;<span class="_ _10"> </span>&quot;<span class="_ _10"> </span>at<span class="_ _10"> </span>&quot;<span class="_ _17"> </span>\</div><div class="t m0 x1b hf y21c ffc fs8 fca sc0 ls0 ws0">&lt;&lt;<span class="_ _10"> </span>__FILE__<span class="_ _10"> </span>&lt;&lt;<span class="_ _10"> </span>&quot;:&quot;<span class="_ _10"> </span>__LINE__;<span class="_ _27"> </span>\</div><div class="t m0 xc hf y21d ffc fs8 fca sc0 ls0 ws0">}</div><div class="t m0 xc hf y21e 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 y21f ffb fs8 fc0 sc0 ls0 ws0">INFO_MACRO(<span class="_ _10"> </span>g(<span class="fc5">3</span>)<span class="_ _10"> </span>)<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print:<span class="_ _10"> </span>&quot;call<span class="_ _10"> </span>g(3)<span class="_ _10"> </span>at<span class="_ _10"> </span>my_file.cpp:7&quot;</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">56/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf3e" class="pf w0 h0" data-page-no="3e"><div class="pc pc3e w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAMYklEQVR42u3dT2ib9xnA8Z9Ty6orrKAWKcWTUkQ0TCY1A9vBnZvQ2PVGAgleDksLKS0jh7IxtsF2GdsxI4dtbAuFMdhK2aGEXpLQlpqRuls3JzUuhrZW/4BaE2xWbDc0srFTKY69g6CMZFlC8SLJ/XxORu/l9fNcvrzS+74tO/oeDgAA0DBKb/xziykAANBoRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAAJ9rqVarpgAAQOOIRCKupAIA0HBEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAIDNq7WJznVpacnCAAC+mI6OjiY6W1dSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqUYAAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAANhArUYAwG0aL5VGi8W3Ll787OrVVDw+mM8P9/a2t7WZDLDhWqrVarOc69LSkoUB1MWVavXcO+/MLy6+ODn5n593JhK/Ono0Fo0aETS+jo6OZjnVSCTi634Abu3sm2+eunChL5e77vN/ffrpyZER8wE2nEgF4NYmPvooFY//10PjpdL84qIRASIVgDqIRaPLlcrPhoc7E4kQQl8ud/zIkUI6HUKYL5fNBxCpANxphXR6fnExm0oVMpmvJBKFdDqbTBYymc577w0hpLZuNSJgY7lxCoBbm7106QfPPVf7+1B39+Hdu7//7LOfXb1a69fjjz1mRND43DgFwGaTvu++wXz+2L59IYTK6urpiYl4e3sIYbinZ7BQMB9gw3lOKgC35fH+/hDCaLH417ffrn0ymM8XMpmvpdOGA2w4V1IBuC2peHx0amownx/u6ckmk6l4/PH+/qmZGQ9JBf4fXEkF4HZNzcwsVyq7tm8vZDKFTObEmTNbtrjYAYhUAOptemFhemEhhFB79dSObdvMBBCpANTBqfPn29vahnt7D/X0XHdo786dIYTRYnG+XK79aBVApAJwhzw/NrZj27a+XO7GN6OW5uZOjox895FHTAkQqQDcIcuVyvTCQmV19RcvvBCLRvtyudpN/dPz81MzM397770P5+ZCCEMPPmhWwAbyMH8A/pdT58+funDh+JEjIYTRYnG8VFquVGLRaCGTCSFEW1sf7uo6cfZsNpn87ZNPGhc0suZ6mL9IBeCmjj7zTDaZ7Mvl2iKRyenp8VKpL5fbes895ZWV2p3+iVhsT1dXCGG5Ulm6cuXnhw8bGojUDYlUX/cDcFPHBgb+/NprU7Ozd0ciX3/ggWP79hUymWwqVTs6XiqNffBB7Tb/EMK3du0yMWCjiFQAbiqbTIYQUvH47596qr2t7bqjtfuonh4aOjkyMl4qDd9w7z/AF+YhzADc1MylS9fW1n64f/+Nhfq5WDT6nYceujsSmSuXTQzYKH6TCgDwpdBcv0l1JRUAgIYjUgEAEKkAACBSAQAQqQAAIFIBABCpzaK8slKcnbVgAIBmtDnfOHVtbe2XZ86k4vF8Om3HAABNZ3NeSX1+bGzu8uVjAwMWDAAgUhvCWxcvnp6Y+NGBA4lYzIIBAERq/ZVXVn73yiuHuru7s1nbBQAQqfW3vr5+cmQkEYs9sXev1QIAiNSG8OLkZHF29qcHD0buustqAQBEav19ODf3l9dff/rRRzsTCXsFABCp9XelWv3Nyy/3d3UN5POWCgAgUhvCH199dW1t7XtDQzYKACBSG8Lf3333H++//5ODB9vb2mwUAECk1t/Hly//4dy5J/bs+er991snAIBIrb/Va9d+/dJLXZ2d3+7ttUsAAJHaEE5PTHyyuPjjAwdaWlrsEgBg02ht6rPftX377h07vP4UAECkNpCuzk4rBADYfLYYAQAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAXzYt1WrVFAAAaByRSMSVVAAAGo5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACbW2v5RNYUAACazsI3/7RZ/7Wd39jf0rI1ul6uhLC+vm7XAAA0hH8DNK5wUngfQd8AAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>11</div><div class="t m0 x32 hc y16d ff1 fs7 fc0 sc0 ls0 ws0">Co<span class="_ _c"></span>de<span class="_ _f"> </span>injection</div><div class="t m0 xc hf y220 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>include<span class="_ _22"> </span><span class="fc6">&lt;cstdio&gt;</span></div><div class="t m0 xc hf y221 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>CHECK_ERROR(condition)<span class="_ _3e"> </span>\</div><div class="t m0 xc hf y222 ffc fs8 fca sc0 ls0 ws0">{<span class="_ _3f"> </span>\</div><div class="t m0 x11 hf y223 ffc fs8 fca sc0 ls0 ws0">if<span class="_ _10"> </span>(condition)<span class="_ _10"> </span>{<span class="_ _40"> </span>\</div><div class="t m0 x33 hf y224 ffc fs8 fca sc0 ls0 ws0">std::printf(&quot;expr:<span class="_ _10"> </span>&quot;<span class="_ _10"> </span>#condition<span class="_ _10"> </span>&quot;<span class="_ _10"> </span>failed<span class="_ _10"> </span>at<span class="_ _10"> </span>line<span class="_ _10"> </span>%d\n&quot;,\</div><div class="t m0 x1f hf y225 ffc fs8 fca sc0 ls0 ws0">__LINE__);<span class="_ _41"> </span>\</div><div class="t m0 x11 hf y226 ffc fs8 fca sc0 ls0 ws0">}<span class="_ _42"> </span>\</div><div class="t m0 xc hf y227 ffc fs8 fca sc0 ls0 ws0">}</div><div class="t m0 xc hf y228 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 y229 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 y22a ffb fs8 fc0 sc0 ls0 ws0">CHECK_ERROR(t<span class="_ _10"> </span><span class="fc5">%<span class="_ _10"> </span></span>s<span class="_ _10"> </span><span class="fc5">==<span class="_ _10"> </span>0</span>)<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span><span class="fcc">segmentation<span class="_ _10"> </span>fault!!!</span></span></div><div class="t m0 x34 h15 y22a ff1a fs8 fc6 sc0 ls0 ws0"><span class="fcd sc0">A</span></div><div class="t m0 xc hf y22b ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>printf<span class="_ _10"> </span>interprets<span class="_ _10"> </span>&quot;%<span class="_ _10"> </span>s&quot;<span class="_ _10"> </span>as<span class="_ _10"> </span>a<span class="_ _10"> </span>format<span class="_ _10"> </span>specifier</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">57/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf3f" class="pf w0 h0" data-page-no="3f"><div class="pc pc3f w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">#error<span class="_ _8"> </span><span class="ff1">and<span class="_ _8"> </span></span>#warning</div><div class="t m0 xb hc y22c fff fs7 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe fc4">#error<span class="_ _13"> </span><span class="fc0">&quot;text&quot;<span class="_ _12"> </span><span class="ff4">The<span class="_ _f"> </span>directive<span class="_ _f"> </span>emits<span class="_ _f"> </span>a<span class="_ _f"> </span>user-sp<span class="_ _c"></span>ecified<span class="_ _a"> </span>error<span class="_ _a"> </span>message<span class="_ _f"> </span>at<span class="_ _f"> </span>compile</span></span></span></div><div class="t m0 x6 hc y22d 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 y22e fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4 fcb">C++23<span class="_ _12"> </span><span class="ffe fc4">#warning<span class="_ _13"> </span><span class="fc0">&quot;text&quot;<span class="_ _12"> </span><span class="ff4">The<span class="_ _f"> </span>directive<span class="_ _f"> </span>emits<span class="_ _f"> </span>a<span class="_ _f"> </span>user-sp<span class="_ _c"></span>ecified<span class="_ _f"> </span>w<span class="_ _5"></span>a<span class="_ _5"></span>rning<span class="_ _f"> </span>message</span></span></span></span></div><div class="t m0 x6 hc y22f 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 y230 ff4 fs7 fc0 sc0 ls0 ws0">p<span class="_ _5"></span>ro<span class="_ _c"></span>cess</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">58/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf40" class="pf w0 h0" data-page-no="40"><div class="pc pc40 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h18 y7 ff5 fs3 fc1 sc0 ls0 ws0">#pragma</div><div class="t m0 x1 hc y84 ff4 fs7 fc0 sc0 ls0 ws0">The<span class="_ _12"> </span><span class="ff5">#pragma<span class="_ _12"> </span></span>directive<span class="_ _f"> </span>controls<span class="_ _f"> </span>implementation-sp<span class="_ _c"></span>ecific<span class="_ _f"> </span>b<span class="_ _c"></span>ehavio<span class="_ _5"></span>r<span class="_ _a"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>compiler.<span class="_ _10"> </span>In</div><div class="t m0 x1 hc yd3 ff4 fs7 fc0 sc0 ls0 ws0">general,<span class="_ _f"> </span>it<span class="_ _a"> </span>is<span class="_ _f"> </span>not<span class="_ _f"> </span>p<span class="_ _c"></span>ortable</div><div class="t m0 xb hc y231 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe">#pragma<span class="_ _13"> </span>message<span class="_ _13"> </span>&quot;text&quot;<span class="_ _12"> </span><span class="ff4">Display<span class="_ _a"> </span>info<span class="_ _5"></span>rmational<span class="_ _f"> </span>messages<span class="_ _f"> </span>at<span class="_ _f"> </span>compile<span class="_ _f"> </span>time</span></span></div><div class="t m0 x6 hc y232 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 y233 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe">#pragma<span class="_ _13"> </span>GCC<span class="_ _13"> </span>diagnostic<span class="_ _13"> </span>warning<span class="_ _13"> </span>&quot;-Wformat&quot;</span></div><div class="t m0 x6 hc y234 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 y235 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _24"> </span><span class="ffe fc4">_Pragma<span class="fc0">(&lt;command&gt;)<span class="_ _12"> </span><span class="ff4">(<span class="fcb">C++11</span>)</span></span></span></div><div class="t m0 x6 hc y236 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 y237 ffc fs8 fca sc0 ls0 ws0">#define<span class="_ _10"> </span>MY_MESSAGE<span class="_ _10"> </span>\</div><div class="t m0 x35 hf y238 ffc fs8 fca sc0 ls0 ws0">_Pragma(&quot;message(\&quot;hello\&quot;)&quot;)</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">59/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf41" class="pf w0 h0" data-page-no="41"><div class="pc pc41 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIj0lEQVR42u3YsWnDUBSGUT2jS6pHZjCpMoEJqQ3ezEtkHBcewhukMq/KbZTOZQqDnGs4ZwBJ/Go+bnvbfU4AAFDG5XzaWAEAgGpEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAANy0zrQAAQB0R4ZIKAEA5IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAADUNpsAAG7GGI95Ue/d2vAHl1QAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAA8L9aZloBAIA6IsIlFQCAckQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAID1zE/0rWMMPwwA4D699yf6WpdUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEqgkAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAGBdLTOtAABAHRHhkgoAQDkiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAQF3z9bi1AgAAd/jef63x2PePQ2uvL8v1Z5qWZbEzAAAl/AIU8SAAHvqN+QAAAABJRU5ErkJggg=="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>ok<span class="_ _5"></span>en-P<span class="_ _5"></span>asting<span class="_ _8"> </span>Op<span class="_ _c"></span>erato<span class="_ _5"></span>r<span class="_ _8"> </span>(<span class="ff5">##</span>)</div><div class="t m0 x36 h13 y10f ff14 fs5 fc1 sc0 ls0 ws0"></div><div class="t m0 x1 hc y98 ff4 fs7 fc0 sc0 ls0 ws0">The<span class="_ _f"> </span><span class="ff1">tok<span class="_ _5"></span>en-concatenation<span class="_ _6"> </span>(o<span class="_ _5"></span>r<span class="_ _6"> </span>pasting)<span class="_ _8"> </span>macro<span class="_ _f"> </span>op<span class="_ _c"></span>erato<span class="_ _5"></span>r<span class="_ _f"> </span><span class="ff4">(<span class="_ _d"> </span><span class="ff5">##<span class="_ _1d"> </span></span>)<span class="_ _f"> </span>allows<span class="_ _a"> </span>combining<span class="_ _f"> </span>tw<span class="_ _5"></span>o</span></span></div><div class="t m0 x1 hc y99 ff4 fs7 fc0 sc0 ls0 ws0">tok<span class="_ _5"></span>ens<span class="_ _f"> </span>(without<span class="_ _f"> </span>leaving<span class="_ _a"> </span>no<span class="_ _f"> </span>blank<span class="_ _f"> </span>spaces)</div><div class="t m0 xc hf y239 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>FUNC_GEN_A(tokenA,<span class="_ _10"> </span>tokenB)<span class="_ _16"> </span>\</div><div class="t m0 x6 hf y23a ffc fs8 fca sc0 ls0 ws0">void<span class="_ _10"> </span>tokenA##tokenB()<span class="_ _10"> </span>{}</div><div class="t m0 xc hf y23b ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>FUNC_GEN_B(tokenA,<span class="_ _10"> </span>tokenB)<span class="_ _16"> </span>\</div><div class="t m0 x6 hf y23c ffc fs8 fca sc0 ls0 ws0">void<span class="_ _10"> </span>tokenA##_##tokenB()<span class="_ _10"> </span>{}</div><div class="t m0 xc hf y23d ffb fs8 fc0 sc0 ls0 ws0">FUNC_GEN_A(my,<span class="_ _10"> </span>function)</div><div class="t m0 xc hf y23e ffb fs8 fc0 sc0 ls0 ws0">FUNC_GEN_B(my,<span class="_ _10"> </span>function)</div><div class="t m0 xc hf y23f 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 y240 ffb fs8 fc0 sc0 ls0 ws0">my_function();<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>ok,<span class="_ _10"> </span>from<span class="_ _10"> </span>FUNC_GEN_B</span></div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">60/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf42" class="pf w0 h0" data-page-no="42"><div class="pc pc42 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIkElEQVR42u3YMUoDQRTH4ZmwD6vBM4iVJwghdcCbeQmPY+EhvIFVmMrXrJ2klEDkLX5fvcXw3+bH64/7YwMAgDI+3t92VgAAoBqRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgDAj56ZVgAAoI6IcEkFAKAckQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAtNZaW0wAcGnOaYSyxhhGgH/CJRUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAGxbz0wrAABQR0S4pAIAUI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAICNWDb01jmnHwYAcJ0xxoZe65IKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBINQEAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBACipZ6YVAACoIyJcUgEAKEekAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAMAfW84vD1YAAOCmPk+vv//46fDc+/3dev5qbV1X6wEAUMI3li4gAJKEgigAAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">V<span class="_ _5"></span>a<span class="_ _5"></span>riadic<span class="_ _8"> </span>Macro</div><div class="t m0 x18 h13 y10f ff14 fs5 fc1 sc0 ls0 ws0"></div><div class="t m0 x1 hc y84 ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _d"> </span><span class="ff1">variadic<span class="_ _a"> </span>macro<span class="_ _a"> </span></span><span class="fcb">C++11<span class="_ _d"> </span></span>is<span class="_ _a"> </span>a<span class="_ _a"> </span>sp<span class="_ _c"></span>ecial<span class="_ _d"> </span>macro<span class="_ _a"> </span>accepting<span class="_ _d"> </span>a<span class="_ _a"> </span>variable<span class="_ _1d"> </span>numb<span class="_ _c"></span>er<span class="_ _a"> </span>of<span class="_ _d"> </span>arguments</div><div class="t m0 x1 hc yd3 ff4 fs7 fc0 sc0 ls0 ws0">(sepa<span class="_ _5"></span>rated<span class="_ _f"> </span>b<span class="_ _5"></span>y<span class="_ _f"> </span>comma)</div><div class="t m0 x1 hc y241 ff4 fs7 fc0 sc0 ls0 ws0">Each<span class="_ _6"> </span>o<span class="_ _c"></span>ccurrence<span class="_ _6"> </span>of<span class="_ _8"> </span>the<span class="_ _6"> </span>sp<span class="_ _c"></span>ecial<span class="_ _6"> </span>identifier<span class="_ _34"> </span><span class="ffe">__VA_ARGS__<span class="_ _34"> </span></span>in<span class="_ _8"> </span>the<span class="_ _6"> </span>macro<span class="_ _6"> </span>replacement<span class="_ _8"> </span>list</div><div class="t m0 x1 hc y242 ff4 fs7 fc0 sc0 ls0 ws0">is<span class="_ _f"> </span>replaced<span class="_ _a"> </span>by<span class="_ _a"> </span>the<span class="_ _f"> </span>passed<span class="_ _f"> </span>arguments</div><div class="t m0 x1 h6 y243 ff4 fs4 fc0 sc0 ls0 ws0">Example:</div><div class="t m0 xc hf y244 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="_ _43"> </span>{<span class="_ _10"> </span>printf(<span class="fc7">&quot;%d&quot;</span>,<span class="_ _10"> </span>a);<span class="_ _44"> </span>}</span></div><div class="t m0 xc hf y245 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 y246 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 y247 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>PRINT(...)<span class="_ _10"> </span>\</div><div class="t m0 x6 hf y248 ffc fs8 fca sc0 ls0 ws0">f(<span class="fc4">__VA_ARGS__</span>);</div><div class="t m0 xc hf y249 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 y24a ffb fs8 fc0 sc0 ls0 ws0">PRINT(<span class="fc5">1</span>,<span class="_ _10"> </span><span class="fc5">2</span>,<span class="_ _10"> </span><span class="fc5">3</span>)</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">61/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf43" class="pf w0 h0" data-page-no="43"><div class="pc pc43 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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 x37 h13 y10f ff14 fs5 fc1 sc0 ls0 ws0"></div><div class="t m0 x1 hc y24b 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 y24c ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>TO_LITERAL_AUX(x)<span class="_ _10"> </span>#x</div><div class="t m0 xc hf y24d ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>TO_LITERAL(x)<span class="_ _1a"> </span>TO_LITERAL_AUX(x)</div><div class="t m0 x1 hc y24e 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 y24f 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 y250 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _16"> </span><span class="ffb fc0">x1<span class="_ _1f"> </span><span class="fc5">=<span class="_ _10"> </span>3<span class="_ _10"> </span>*<span class="_ _10"> </span>10</span>;</span></div><div class="t m0 x11 hf y251 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _16"> </span><span class="ffb fc0">y1<span class="_ _1f"> </span><span class="fc5">=<span class="_ _10"> </span></span>__LINE__<span class="_ _10"> </span><span class="fc5">+<span class="_ _10"> </span>4</span>;</span></div><div class="t m0 x11 hf y252 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 y253 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 y254 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xf h9 yf ff6 fs5 fc0 sc0 ls0 ws0">62/62</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
</div>
<div class="loading-indicator">
<img alt="" src="data:image/png;base64,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"/>
</div>
</body>
</html>