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

1773 lines
693 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<!-- Created by pdf2htmlEX (https://github.com/pdf2htmlEX/pdf2htmlEX) -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8"/>
<meta name="generator" content="pdf2htmlEX"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<style type="text/css">
/*!
* Base CSS for pdf2htmlEX
* Copyright 2012,2013 Lu Wang <coolwanglu@gmail.com>
* https://github.com/pdf2htmlEX/pdf2htmlEX/blob/master/share/LICENSE
*/#sidebar{position:absolute;top:0;left:0;bottom:0;width:250px;padding:0;margin:0;overflow:auto}#page-container{position:absolute;top:0;left:0;margin:0;padding:0;border:0}@media screen{#sidebar.opened+#page-container{left:250px}#page-container{bottom:0;right:0;overflow:auto}.loading-indicator{display:none}.loading-indicator.active{display:block;position:absolute;width:64px;height:64px;top:50%;left:50%;margin-top:-32px;margin-left:-32px}.loading-indicator img{position:absolute;top:0;left:0;bottom:0;right:0}}@media print{@page{margin:0}html{margin:0}body{margin:0;-webkit-print-color-adjust:exact}#sidebar{display:none}#page-container{width:auto;height:auto;overflow:visible;background-color:transparent}.d{display:none}}.pf{position:relative;background-color:white;overflow:hidden;margin:0;border:0}.pc{position:absolute;border:0;padding:0;margin:0;top:0;left:0;width:100%;height:100%;overflow:hidden;display:block;transform-origin:0 0;-ms-transform-origin:0 0;-webkit-transform-origin:0 0}.pc.opened{display:block}.bf{position:absolute;border:0;margin:0;top:0;bottom:0;width:100%;height:100%;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;user-select:none}.bi{position:absolute;border:0;margin:0;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;user-select:none}@media print{.pf{margin:0;box-shadow:none;page-break-after:always;page-break-inside:avoid}@-moz-document url-prefix(){.pf{overflow:visible;border:1px solid #fff}.pc{overflow:visible}}}.c{position:absolute;border:0;padding:0;margin:0;overflow:hidden;display:block}.t{position:absolute;white-space:pre;font-size:1px;transform-origin:0 100%;-ms-transform-origin:0 100%;-webkit-transform-origin:0 100%;unicode-bidi:bidi-override;-moz-font-feature-settings:"liga" 0}.t:after{content:''}.t:before{content:'';display:inline-block}.t span{position:relative;unicode-bidi:bidi-override}._{display:inline-block;color:transparent;z-index:-1}::selection{background:rgba(127,255,255,0.4)}::-moz-selection{background:rgba(127,255,255,0.4)}.pi{display:none}.d{position:absolute;transform-origin:0 100%;-ms-transform-origin:0 100%;-webkit-transform-origin:0 100%}.it{border:0;background-color:rgba(255,255,255,0.0)}.ir:hover{cursor:pointer}</style>
<style type="text/css">
/*!
* Fancy styles for pdf2htmlEX
* Copyright 2012,2013 Lu Wang <coolwanglu@gmail.com>
* https://github.com/pdf2htmlEX/pdf2htmlEX/blob/master/share/LICENSE
*/@keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes swing{0{transform:rotate(0)}10%{transform:rotate(0)}90%{transform:rotate(720deg)}100%{transform:rotate(720deg)}}@-webkit-keyframes swing{0{-webkit-transform:rotate(0)}10%{-webkit-transform:rotate(0)}90%{-webkit-transform:rotate(720deg)}100%{-webkit-transform:rotate(720deg)}}@media screen{#sidebar{background-color:#2f3236;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0IiBoZWlnaHQ9IjQiPgo8cmVjdCB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjNDAzYzNmIj48L3JlY3Q+CjxwYXRoIGQ9Ik0wIDBMNCA0Wk00IDBMMCA0WiIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2U9IiMxZTI5MmQiPjwvcGF0aD4KPC9zdmc+")}#outline{font-family:Georgia,Times,"Times New Roman",serif;font-size:13px;margin:2em 1em}#outline ul{padding:0}#outline li{list-style-type:none;margin:1em 0}#outline li>ul{margin-left:1em}#outline a,#outline a:visited,#outline a:hover,#outline a:active{line-height:1.2;color:#e8e8e8;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;display:block;overflow:hidden;outline:0}#outline a:hover{color:#0cf}#page-container{background-color:#9e9e9e;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1IiBoZWlnaHQ9IjUiPgo8cmVjdCB3aWR0aD0iNSIgaGVpZ2h0PSI1IiBmaWxsPSIjOWU5ZTllIj48L3JlY3Q+CjxwYXRoIGQ9Ik0wIDVMNSAwWk02IDRMNCA2Wk0tMSAxTDEgLTFaIiBzdHJva2U9IiM4ODgiIHN0cm9rZS13aWR0aD0iMSI+PC9wYXRoPgo8L3N2Zz4=");-webkit-transition:left 500ms;transition:left 500ms}.pf{margin:13px auto;box-shadow:1px 1px 3px 1px #333;border-collapse:separate}.pc.opened{-webkit-animation:fadein 100ms;animation:fadein 100ms}.loading-indicator.active{-webkit-animation:swing 1.5s ease-in-out .01s infinite alternate none;animation:swing 1.5s ease-in-out .01s infinite alternate none}.checked{background:no-repeat url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3goQDSYgDiGofgAAAslJREFUOMvtlM9LFGEYx7/vvOPM6ywuuyPFihWFBUsdNnA6KLIh+QPx4KWExULdHQ/9A9EfUodYmATDYg/iRewQzklFWxcEBcGgEplDkDtI6sw4PzrIbrOuedBb9MALD7zv+3m+z4/3Bf7bZS2bzQIAcrmcMDExcTeXy10DAFVVAQDksgFUVZ1ljD3yfd+0LOuFpmnvVVW9GHhkZAQcxwkNDQ2FSCQyRMgJxnVdy7KstKZpn7nwha6urqqfTqfPBAJAuVymlNLXoigOhfd5nmeiKL5TVTV+lmIKwAOA7u5u6Lped2BsbOwjY6yf4zgQQkAIAcedaPR9H67r3uYBQFEUFItFtLe332lpaVkUBOHK3t5eRtf1DwAwODiIubk5DA8PM8bYW1EU+wEgCIJqsCAIQAiB7/u253k2BQDDMJBKpa4mEon5eDx+UxAESJL0uK2t7XosFlvSdf0QAEmlUnlRFJ9Waho2Qghc1/U9z3uWz+eX+Wr+lL6SZfleEAQIggA8z6OpqSknimIvYyybSCReMsZ6TislhCAIAti2Dc/zejVNWwCAavN8339j27YbTg0AGGM3WltbP4WhlRWq6Q/btrs1TVsYHx+vNgqKoqBUKn2NRqPFxsbGJzzP05puUlpt0ukyOI6z7zjOwNTU1OLo6CgmJyf/gA3DgKIoWF1d/cIY24/FYgOU0pp0z/Ityzo8Pj5OTk9PbwHA+vp6zWghDC+VSiuRSOQgGo32UErJ38CO42wdHR09LBQK3zKZDDY2NupmFmF4R0cHVlZWlmRZ/iVJUn9FeWWcCCE4ODjYtG27Z2Zm5juAOmgdGAB2d3cBADs7O8uSJN2SZfl+WKlpmpumaT6Yn58vn/fs6XmbhmHMNjc3tzDGFI7jYJrm5vb29sDa2trPC/9aiqJUy5pOp4f6+vqeJ5PJBAB0dnZe/t8NBajx/z37Df5OGX8d13xzAAAAAElFTkSuQmCC)}}</style>
<style type="text/css">
.ff0{font-family:sans-serif;visibility:hidden;}
@font-face{font-family:ff1;src:url('data:application/font-woff;base64,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')format("woff");}.ff1{font-family:ff1;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff2;src:url('data:application/font-woff;base64,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')format("woff");}.ff2{font-family:ff2;line-height:0.727000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff3;src:url('data:application/font-woff;base64,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')format("woff");}.ff3{font-family:ff3;line-height:0.898000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff4;src:url('data:application/font-woff;base64,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')format("woff");}.ff4{font-family:ff4;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff5;src:url('data:application/font-woff;base64,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')format("woff");}.ff5{font-family:ff5;line-height:0.915000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff6;src:url('data:application/font-woff;base64,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')format("woff");}.ff6{font-family:ff6;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff7;src:url('data:application/font-woff;base64,d09GRgABAAAAAATgAA0AAAAABuQAAwACAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAExAAAABoAAAAcpiahXEdERUYAAASoAAAAGwAAAB4AJwALT1MvMgAAAaQAAABEAAAAVlXIgqpjbWFwAAAB/AAAAEYAAAFKRYDkOWdhc3AAAASgAAAACAAAAAj//wADZ2x5ZgAAAlAAAAB0AAAAdF5LOhRoZWFkAAABMAAAADMAAAA2Lf0ajmhoZWEAAAFkAAAAHgAAACQGSgNsaG10eAAAAegAAAAUAAAAFAcYAERsb2NhAAACRAAAAAwAAAAMAAAAOm1heHAAAAGEAAAAHQAAACAASAAnbmFtZQAAAsQAAAG7AAAC2R+DGYdwb3N0AAAEgAAAAB4AAAA0ObKyo3icY2BkYGBgZmh21xWujue3+crAzfwCKMLwtOl1AZx2+T+BeRLTNiCXg4EJJAoAXNkMzQB4nGNgZGBg2vZ/AgMD8zUGIGCexMDIgApYAWUfA70AAHicY2BkYGBgZVBhANEMDExAzAhmO4D5DAAGWwBwAAAAeJxjYGR8zfiFgZWBgamLaQ8DA0MPhGZ8wGDIyAQUZWBjZoABRiB2gHEC0lxTgJSC0jGmbf8nAFVuYyiAqmEAACwtDEAB9AAAAAAAAAFNAAAAAQAAA9YARHicY2BgYGaAYBkGRgYQcAHyGMF8FgYNIM0GpBkZmBgUlI79/w/kg+n/j+/aQdUDASMbA5zDyAQkmBhQASPEiuEMAMdbCdwAAAAAAAAAAAAAAAAAOgABAET/kAOSArYAIwAAAQcXHgIVFCMnBwYjIjU0NxMnJjU0PgEzIRM2MhcTITIeARQDg+sIAywmDf3sBwoNA1rsDgkLCwEdWgYWBloBHQsLCQFtrBcLhnYED7SrCQ8FCQEVqwkJBwYBARQVFf7sAQYOAAAAeJxtUcFq20AQfavYpg2l9NrbXAo22LKsgI1MCDUhPhSUQww59SLkxVKxJFdaR/ineumv5BR66Knf0af1FnKoBjRvZmfmvdkF8B4/oHD+CvxyWKGvHh32MFDfHL6AqJ8O91jz2+E+PnhvHB6g731ipeq9ZfRiuzqscKm+OOzhnfrq8AU+q+8O91jz7HCfXH8cHuDS+4hbVDjghBo5dshgIBgixYh+hoi2wJg4RECLiFbcSdv6FAlKZmJ6w17Nkw6dT/Y82XB6ylgze7KTry2HIecSU1przWd9gYa+4uQdbsjfsbbs7SYLHjijsbxP/G+ZWbO2tHrvbbe2SjbUF1OzD9xWh1Od7zIjw3QksyhajCUMgkhWha7zNCklTkymi8Qw2MumSnNtTjK8zow5LKfTtm39pGj8qt7djMbS5iaTB93o+klvZV2VRu6TQku8WcUL0t3hyJ07hbg77jVdbJXmzBcM9DY/0v+TvXaranu5Pi9XeCWvVzjHc0z4EBP7ACEjdMxratIS+oEsz/z088lsEgbhHK9GwB4Cj1ZXQy2VfbHuLa8saTdUWKDrJq9KCYIrPwhC+c+Qv+WyeN4AeJxjYGLAD1iBmJGBiYGZkYm9NC/TyMjZDAALhQJBAAAAAAAB//8AAnicY2BkYGDgAWIxIGZiYARCFjAG8RgAA8oAMwB4nGNgYGBkAILbCqeqQfTTptcFMBoATuAHxgAA')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,d09GRgABAAAAAAVUAA0AAAAAB8AAAgADAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAFOAAAABoAAAAcpiahXkdERUYAAAUcAAAAHAAAAB4AJwAMT1MvMgAAAaQAAABFAAAAVlVkglVjbWFwAAACBAAAAEsAAAFSJqspWGdhc3AAAAUUAAAACAAAAAj//wADZ2x5ZgAAAmAAAADDAAAAxENGNMloZWFkAAABMAAAADMAAAA2LgwafmhoZWEAAAFkAAAAIAAAACQGRgPJaG10eAAAAewAAAAYAAAAGA0/AIpsb2NhAAACUAAAAA4AAAAOAGIALG1heHAAAAGEAAAAHQAAACAASgAkbmFtZQAAAyQAAAG+AAADTjuk55Zwb3N0AAAE5AAAAC4AAAA5WO/ZJ3icY2BkYGBgYjhifmBpbzy/zVcGbuYXQBGGp02vC+G0+f9y5vVMNUAuB1AtEAAAmIEN8wB4nGNgZGBgqvlfzsDA/IIBCJjXM6QwSDIgAzYAZzgEFnicY2BkYGBgY1BkYGIAARDJyAAScwDzGQAGQgBvAAAAeJxjYGSexziBgZWBgamLaQ+DIkMPiP7fw/iAwZCRCSjKwMrMAAOMQJwA4wSkuaYAKQWlFKaa/+VAlTUMnVA1DABVzQyGAAAAARgAAAAAAAABTQAAA+gAAAPoADcDCgBTeJxjYGBgZoBgGQZGBhDwAfIYwXwWBgMgzQGETEBaQXGSUsr//wjW/8f3iu4uhOoCA0Y2BjiXEaSHiQEVMEKsGlyAlaqmAQCceAxLAAAAAAAAAAAAAAAALABiAAB4nB3OTQ7BQBQA4PdeeTM1M41U6yd+W1FNWFG6cAYLwTUs2dg4gaNILNzE2h0kEhZNiRN8HyCk+cu6YA5NAPCEg4JHGM7maRAm0yAaJguc1DpYsy5ytXPIdlVjnynfp9e+oVybnN0KqUzt08Y25228PRt7c2oDwTo/0I2OUIcewMDjfjjEaJakOJ9Oqr4nDHasFvb/DN20ZJXdKxUaq6LUbvYkwwVBQfYIQuoupWZkaXQJmbV0xOdtEfM1jn/pLwnbI20AeJytUstq20AUPaPYhkJJF110U8rdFBKKhCxTQ7KMiUNN5AQrLt6OY9kWtjVBUjD+g3xMKf2n/kiPRtMuvGg3ldDcc899zD0zAnCK71Bonq9/sMIb9dFhDx01cPgEkfrhcAvvvLcOt3HqfXG4Q/6Fmar1it43W1VjhQ+q7bCH1+qzwydYqJHDLQTqp8NtvPc+OdxB4M0wgMETDiiQYYU1KggihHx78Pk2+ILsnFmCKwRcR9B4xIa1e5S0GTmNHAsbCxDbrLGNN5l1xhn93HZKuZPGFkt6xq4P5Ga0UyS4xoSr4Ib2jsw9vXN2xMA8HYpsta4kCsOe73O9kPlBrgIZ6ceN2ZebTHS+kFEQBzI2e5KZnJlc5ulab5dilvKQzmSaXE8SuZncTe+Tc/a95cAxB6o4VkKZO45oOF6JLsXjNo51tU4Ou7nZll0StbCCWbUEjE2x07RDq66ytuBZpvYkAzYQXPL7+yY+taaseiajWd/U9Ml33S1E9DA0eTU0xSqVKAjlUo5G8yfp6nmrC0b6fpfnE/X/pe5442O1v1vWv3LKeMmrbK6xEVf/KMJgWpQZD5pjhT35b5v+AjbglOUAAHicY2BiYPj/8dvu/00MGgzYABsQMzIwMTAzMjFM4UosKsovL8pMzygBACxlCkMAAAAAAAH//wACeJxjYGRgYOABYjEgZmJgBEJWIGYB8xgAA9UANHicY2BgYGQAgtsKp6pB9NOm14UwGgBO6gfIAAA=')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,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')format("woff");}.ff13{font-family:ff13;line-height:0.999000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff14;src:url('data:application/font-woff;base64,d09GRgABAAAAAAWAAA0AAAAAB6AAAwACAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAFZAAAABoAAAAcpiahdEdERUYAAAVIAAAAHAAAAB4AJwAMT1MvMgAAAaQAAABEAAAAVlXmhJRjbWFwAAACAAAAAEcAAAFSIfYpumdhc3AAAAVAAAAACAAAAAj//wADZ2x5ZgAAAlgAAAEIAAABCN6/qDpoZWFkAAABMAAAADMAAAA2LgcapmhoZWEAAAFkAAAAHgAAACQGZQOAaG10eAAAAegAAAAYAAAAGA7BAGlsb2NhAAACSAAAAA4AAAAOAIQASm1heHAAAAGEAAAAHQAAACAASQA0bmFtZQAAA2AAAAG4AAAC5VioE9Zwb3N0AAAFGAAAACUAAAA+ZVt0UXicY2BkYGBgZmjedEfrYzy/zVcGbuYXQBGGp02va+C00f+JzOuYtgK5HAxMIFEAqQIOlgB4nGNgZGBg2vp/IgMD8wsGIGBex8DIgArYAGj0A+wAAHicY2BkYGBgYzBkANEMDExAzAhmO4D5DAAHuwB+AAAAeJxjYGS+yviFgZWBgamLaQ8DA0MPhGZ8wGDIyAQUZWBjZoABRiBOgHEC0lxTgJSC0jGmrf8nAlVuZciHqmEAACo9DEoB9AAAAAAAAAFNAAAD6AAAA+gANwOwADJ4nGNgYGBmgGAZBkYGEPAB8hjBfBYGAyDNAYRMQFpB8a7Ssf//Eaz/j++p37WH6gIDRjYGOJcRpIeJARUwQqwazgAAZaYM8wAAAAAAAAAAAAAAAEoAhAAAAAEANwBTA64BoQAwAAATFz4CNzYzMhcWFzMmJzMWFwYHIzY3IyIvAQ8BBiInLgIjJw4BBwYiJjU0PwE2Mr2kCVJJAQ0HCRIHQuBDIh8mcG4oHyJD2BcLSktPFhIOAgwKAYkPLgcREAwQRBQSAVaUCEpBAQsQBj08V2o9Om1XPApCREcUDgIKCXwNKQYQDAgJDzwTAAABADL/kQN+ArUAJAAAAQcTFhUUIyIvAQcGIyI1PwETJyY1NDYzIRM2MzIWFxMhMhYVFANx71wDCwgH7+8LBAsCAlvwDAwQASFaBgkGBARbASERCwFxrv7nCQULCa2tCQsHBwEZrgkGCAMBFhQGDP7oAwgEeJxtUctq20AUPaPYhoZQ2j+47coGWx4r4GATAm6Id8oihkBXRciDJbAkI40j/FNZ91tK6bq7/kKPxtNFoLqge+7r3DMzAN7jFQrnr8QvjxX66qvHAQaq8PgCn9R3j3vM//a4jw/BR48HGASanar3jtFPN9VhhUsVexzgSn3z+AJflPW4x/wPj/sQ9cfjAa6Cz7hHhQNOqJFjhwwWgiFSjOhnWNBuMCaOoGkLohUKGNefIuH5BDG95axhpUPnyp6VDdlTxobZk2O+dTssdy4xpbXOQvYXaOgrMu9wx/3d1pazHbPgiRyN2/vC/5aZNXtLp/fRTRunZEN9MZVrcuG+OpzqfJdZGaYjmS0WN2OJtF7IqjB1nialxInNTJFYBnvZVGlu7EmGt5m1h+V02rZtmBRNWNW7u9FY2txm8mQaU7+Yrayr0spjUhiJN6t4prnvAUceuxOJh+Pe0MVObM58wcBs8yP9P+Vrf1rj7jekZuGtvD3FOTPHhNHEvULECN3yNWUZiUItSy+BYD6ZTSIdzfGGBec68OzUNVRUuafrHvXare6IhQ2mbvKqFK2vQ60j+T/PX+K9eoR4nGNgYsAP2ICYkYGJgZmRiZGZvTQv08jQxQVMGzmbAQAotASEAAAAAAAAAf//AAJ4nGNgZGBg4AFiMSBmYmAEQlYgZgHzGAAD1QA0eJxjYGBgZACC2wqnqkH006bXNTAaAE9YB94AAA==')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.845000;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.922000;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.921000;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.888000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff19;src:url('data:application/font-woff;base64,d09GRgABAAAAAAa8AA0AAAAACXQAAgAEAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGoAAAABoAAAAcpiahskdERUYAAAaEAAAAHAAAAB4AJwAQT1MvMgAAAaQAAABBAAAAVlRtXz1jbWFwAAACCAAAAGUAAAFiELcNAmdhc3AAAAZ8AAAACAAAAAj//wADZ2x5ZgAAAogAAAIfAAACsGy+xa9oZWFkAAABMAAAADMAAAA2LCgbhGhoZWEAAAFkAAAAHQAAACQEXgIDaG10eAAAAegAAAAeAAAAHgTHAKxsb2NhAAACcAAAABYAAAAWAt4CPG1heHAAAAGEAAAAHQAAACAATgBBbmFtZQAABKgAAAGqAAAC+tPHsQpwb3N0AAAGVAAAACcAAAA2AFAA6nicY2BkYGBgYmRbriHYF89v85WBm/kFUIThadPr2XCa//8vxs9MmUAuBwMTSBQAZQoNWQB4nGNgZGBgyvz/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/gJYOn9BAHicnVLBTiJBEH09AnGNMd42m3ioo2Yzk2FUEvWmERPioAEhXhttYAJOmwFD+Aj/xHj3W/YX9iP20dPrAW9OZ6peVb+qrqpuADt4h0L59T+xwqb66XGAmoo83sBv9epxBbvqj8dV7ARbHtewG5yRqSo/aL25qBVW5Fc9DrCtxOMN9NWxxxWI+vC4ij311+MaJPiFC1g8Y4kCGUYYYw5BgpjrECFXiU/oHZAlOEdE2YLGAyaMXWBGndGnkePR7UVIHavt9kvmirFPO3eZDE/SmGJIyzp5R989dQ9dXKJDKbiivqHnltYBM+LCPi+LbDSeSxLHh2FIeSKDpZxH0tIPE7uYTTLR+aO0ojSStl3Qmcm+zWVgxno6FDuUO3Mvve5lpytXnZvebfeAea9ZcOqKs6izZVynqc1tnWjVQ4EnVy3atnjS1E3HnTtdcGzGDS3ioASn/NfzhWzEkPfCJJoRJatBf92POKGFps3nTVuMjCRRLKfyv4qwY0YvU13Q1Qjr7DppfK15/QysR6/eouHGjHdR3kNZcowjYvRNMcs4KR4dH8l38v8DkjJ99QAAeJxjYGIAg//xDH4M2AAXEDMyMDEwM7AxuDN4MHgy+DAEAgBUwgM6AAAAAAH//wACeJxjYGRgYOABYjEgZmJgBEJOIGYB8xgABAEAOHicY2BgYGQAgtsKp6pB9NOm17NhNABQjggcAAA=')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,d09GRgABAAAAAATkAA0AAAAAB4wAAgADAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEyAAAABoAAAAcpiah1kdERUYAAASsAAAAGwAAAB4AJwALT1MvMgAAAaQAAABBAAAAVlQsgCZjbWFwAAAB/AAAAEoAAAFKRITku2dhc3AAAASkAAAACAAAAAj//wADZ2x5ZgAAAlQAAABzAAAAvFqumUVoZWFkAAABMAAAADMAAAA2LUMbIWhoZWEAAAFkAAAAHgAAACQE7QOIaG10eAAAAegAAAAUAAAAFAWFADlsb2NhAAACSAAAAAwAAAAMAAAAXm1heHAAAAGEAAAAHQAAACAASQBHbmFtZQAAAsgAAAG2AAADQt/+T5Zwb3N0AAAEgAAAACEAAAAs/4z3inicY2BkYGBgYjjiZxtzJZ7f5isDN/MLoAjD06bXa+G0JYMB01PGd0AuB1AtEAAAg1gNXwB4nGNgZGBgfMcABMzyIJLpKUMKgyQDMmAFADnVAnwAAHicY2BkYGBgZXBhYGIAARDJyAAScwDzGQAJkgCRAAAAeJxjYGScwDiBgZWBgamLaQ+DIkMPiP7fw/iAwZCRCSjKwMrMAAOMQOwA4wSkuaYAKQUlD8Z3YMl3cDUMADqHCx0AAAABGAAAAAAAAAFNAAAAAQAAAx8AOXicY2BgYGaAYBkGRgYQcAHyGMF8FgYNIM0GpBkZmBgUlDz+/wfywfT/x3f3QNUDASMbA5zDyAQkmBhQASPEikEPWMjXCgA5DQliAAAAAAAAAAAAAAAAAF54nGNgYrBkMGB6yviOQZHBmYGBUYRNWUlNXY9JWYmNHcg0NTEzNhITl2MyNjIzBzIFCcgzPU301vA1U1Z3ktWLZmXi5U/01vQ1V9JwlNGNgXDxyTKecU1RVJMQl7Swk1B0TVFWFZeQADL/vcEqDAARtyDOAHicrVLLattAFD2j2IbQ4mVWWVzaTQKRkGUwJKuSEBtMZAcrDtmOEtkWtjVBUjBe9IsS8kf9lx5J00JLyaoadO+578cMgC7eodB897+xQld9tdhBR32z+AA99WpxC0fOJ4vb6Dq/fDrUf6enah1SequjKqxwrNoWO/isAosPEKuRxS2cqR8Wt3HsfLG4gzNniisYPGOPHCmWWKGEIIDP04fL0+BzamN6CS7hkY6h8Yg1Y3coyFPqNDI81TYPYe01qe2NZ+VxQjmrMyWspLHBgpKp6R11D+RzRLjGjFQwIp9Sc0vplBlxZZ73ebpclRL4ft91Sc8l3sulJ2P9uDa7Yp2Kzp5k7IWeTMyOylROTCZxstKbhZiF3CUPMo+uZ5GMZtP5bXTKvDdsOGRDJduKOOaWLRq2V3Bw3IShLlfRfhubTUG5miqnS9U/JibfavJhPVpZ85yLTOo1elyd4IL/RxVcjpkw5oWyZnQTMaC+Zy8goIShycqhyZeJBJ4vF/JnX+4sWb5sdE7DwO1xM8Hg47n+rop/56tecEJzwRtsbq8Zq3ofQmOSFyn3y5b8vvyfij8BhouTVQAAeJxjYGJg+P/x2+7/ExjUGLABViBmZGBiYGZYDgDKBgYLAAAAAAAAAf//AAJ4nGNgZGBg4AFiMSBmYmAEQhYwBvEYAAPKADMAeJxjYGBgZACC2wqnqkH006bXa2E0AFFCCEAAAA==')format("woff");}.ff1c{font-family:ff1c;line-height:0.446000;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;}
._27{width:4.929863px;}
._21{width:6.240614px;}
._1d{width:11.342724px;}
._d{width:12.363176px;}
._a{width:13.514073px;}
._f{width:14.595041px;}
._6{width:15.618270px;}
._8{width:17.550234px;}
._10{width:18.829440px;}
._b{width:20.601143px;}
._4{width:21.691454px;}
._13{width:22.909110px;}
._1c{width:23.944529px;}
._22{width:25.034189px;}
._12{width:26.279193px;}
._1e{width:27.456604px;}
._34{width:28.737297px;}
._3{width:31.241700px;}
._9{width:32.422412px;}
._26{width:33.774574px;}
._1{width:36.288314px;}
._16{width:37.658880px;}
._2{width:40.829100px;}
._30{width:43.636400px;}
._1f{width:56.488320px;}
._33{width:62.728934px;}
._18{width:75.317760px;}
._2f{width:80.065702px;}
._2a{width:84.788634px;}
._1a{width:94.147200px;}
._2e{width:100.423260px;}
._17{width:112.976640px;}
._2d{width:118.106828px;}
._2c{width:119.318430px;}
._15{width:131.806080px;}
._14{width:150.635520px;}
._20{width:169.464960px;}
._23{width:188.294400px;}
._11{width:225.953280px;}
._43{width:244.782720px;}
._42{width:282.441600px;}
._39{width:301.271040px;}
._36{width:320.100480px;}
._1b{width:338.929920px;}
._35{width:357.759360px;}
._32{width:376.588800px;}
._2b{width:541.345059px;}
._3d{width:583.712640px;}
._40{width:602.542080px;}
._3c{width:677.859840px;}
._24{width:725.336319px;}
._3f{width:790.836480px;}
._19{width:843.300676px;}
._3b{width:866.154240px;}
._31{width:882.542421px;}
._37{width:922.642560px;}
._29{width:928.173037px;}
._25{width:993.735338px;}
._3a{width:1009.353626px;}
._41{width:1073.278080px;}
._38{width:1100.825257px;}
._3e{width:1129.766400px;}
._28{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;}
.y1bc{bottom:3.494000px;}
.y95{bottom:3.628000px;}
.y75{bottom:4.550000px;}
.y51{bottom:5.278000px;}
.y46{bottom:5.288000px;}
.y1db{bottom:6.374000px;}
.y208{bottom:7.170000px;}
.y3a{bottom:7.702000px;}
.y1f2{bottom:7.798000px;}
.yb9{bottom:9.237000px;}
.y21f{bottom:9.426000px;}
.y1c7{bottom:9.446000px;}
.yd0{bottom:9.586000px;}
.y5f{bottom:9.755000px;}
.y22b{bottom:10.652000px;}
.ye5{bottom:11.583000px;}
.y83{bottom:11.763000px;}
.yfb{bottom:12.393000px;}
.yf{bottom:13.018000px;}
.y25d{bottom:13.307000px;}
.y178{bottom:15.458000px;}
.y1fd{bottom:16.369000px;}
.y13c{bottom:16.769000px;}
.y158{bottom:17.745000px;}
.y1e4{bottom:18.622000px;}
.y50{bottom:19.026000px;}
.y45{bottom:20.008000px;}
.y166{bottom:20.039000px;}
.y23d{bottom:20.550000px;}
.y39{bottom:21.451000px;}
.y207{bottom:21.765000px;}
.yb8{bottom:21.839000px;}
.y5e{bottom:22.358000px;}
.y6a{bottom:22.829000px;}
.y22a{bottom:23.255000px;}
.y1b8{bottom:23.708000px;}
.y82{bottom:24.365000px;}
.ya2{bottom:24.390000px;}
.yae{bottom:24.888000px;}
.y1c{bottom:25.331000px;}
.y1b5{bottom:25.590000px;}
.y231{bottom:25.715000px;}
.y25c{bottom:25.910000px;}
.y1ba{bottom:26.687000px;}
.y11e{bottom:28.141000px;}
.y94{bottom:28.833000px;}
.y1e{bottom:28.947000px;}
.y1fc{bottom:28.971000px;}
.yda{bottom:28.983000px;}
.yc8{bottom:29.137000px;}
.y191{bottom:29.636000px;}
.y157{bottom:30.348000px;}
.y165{bottom:30.923000px;}
.y1a8{bottom:30.950000px;}
.ye4{bottom:32.146000px;}
.y1f1{bottom:33.003000px;}
.y23c{bottom:33.152000px;}
.y4f{bottom:33.746000px;}
.y1e3{bottom:34.203000px;}
.yb7{bottom:34.442000px;}
.y1da{bottom:34.514000px;}
.y5d{bottom:34.961000px;}
.y106{bottom:35.510000px;}
.y1bb{bottom:35.618000px;}
.y254{bottom:35.802000px;}
.ycf{bottom:36.096000px;}
.y185{bottom:36.530000px;}
.y177{bottom:36.953000px;}
.y81{bottom:36.968000px;}
.ya1{bottom:36.993000px;}
.y74{bottom:37.128000px;}
.yfa{bottom:37.598000px;}
.y38{bottom:38.163000px;}
.y69{bottom:38.411000px;}
.y14e{bottom:38.535000px;}
.y16e{bottom:38.673000px;}
.y24c{bottom:38.883000px;}
.y1b7{bottom:39.289000px;}
.yad{bottom:40.470000px;}
.y11d{bottom:40.744000px;}
.y44{bottom:41.542000px;}
.y1fb{bottom:41.574000px;}
.yc7{bottom:41.739000px;}
.y164{bottom:41.807000px;}
.y13b{bottom:41.974000px;}
.y211{bottom:42.245000px;}
.y8c{bottom:42.298000px;}
.y156{bottom:42.951000px;}
.y6{bottom:43.061000px;}
.y1b{bottom:44.534000px;}
.y131{bottom:44.656000px;}
.y1f0{bottom:45.606000px;}
.y23b{bottom:45.755000px;}
.yb6{bottom:47.045000px;}
.y1d9{bottom:47.116000px;}
.y5c{bottom:47.563000px;}
.y105{bottom:48.112000px;}
.y1d{bottom:48.150000px;}
.y1b9{bottom:48.221000px;}
.y1d0{bottom:48.226000px;}
.y253{bottom:48.405000px;}
.y184{bottom:48.884000px;}
.y26{bottom:49.485000px;}
.y80{bottom:49.571000px;}
.ya0{bottom:49.596000px;}
.y73{bottom:49.730000px;}
.y230{bottom:50.921000px;}
.y25b{bottom:51.115000px;}
.y14d{bottom:51.138000px;}
.y190{bottom:51.170000px;}
.y24b{bottom:51.237000px;}
.y1a3{bottom:51.653000px;}
.yce{bottom:51.677000px;}
.y1b4{bottom:51.892000px;}
.ye3{bottom:52.709000px;}
.y163{bottom:52.719000px;}
.y2e{bottom:53.311000px;}
.y16d{bottom:53.321000px;}
.y11c{bottom:53.346000px;}
.y10f{bottom:53.972000px;}
.y93{bottom:54.038000px;}
.y1fa{bottom:54.177000px;}
.yd9{bottom:54.189000px;}
.yc6{bottom:54.342000px;}
.y267{bottom:54.440000px;}
.y13a{bottom:54.577000px;}
.y68{bottom:54.774000px;}
.yf0{bottom:54.871000px;}
.y4e{bottom:55.280000px;}
.yac{bottom:56.051000px;}
.y43{bottom:56.261000px;}
.ye{bottom:56.945000px;}
.y19a{bottom:57.018000px;}
.y130{bottom:57.259000px;}
.y1c6{bottom:57.511000px;}
.y210{bottom:57.827000px;}
.y1ef{bottom:58.208000px;}
.y23a{bottom:58.358000px;}
.y229{bottom:58.821000px;}
.yb5{bottom:59.647000px;}
.y37{bottom:59.697000px;}
.y1d8{bottom:59.719000px;}
.y5{bottom:59.736000px;}
.y5b{bottom:60.166000px;}
.y1af{bottom:60.417000px;}
.y104{bottom:60.715000px;}
.y1b6{bottom:60.824000px;}
.y1cf{bottom:60.828000px;}
.y1e2{bottom:61.740000px;}
.y7f{bottom:62.173000px;}
.y183{bottom:62.328000px;}
.yf9{bottom:62.804000px;}
.y21e{bottom:62.970000px;}
.y22f{bottom:63.523000px;}
.y162{bottom:63.603000px;}
.y25a{bottom:63.717000px;}
.y1a{bottom:63.737000px;}
.y18f{bottom:63.772000px;}
.y206{bottom:64.126000px;}
.y11b{bottom:65.949000px;}
.y10e{bottom:66.574000px;}
.yc5{bottom:66.945000px;}
.y266{bottom:67.042000px;}
.y139{bottom:67.180000px;}
.y1a2{bottom:67.234000px;}
.ybf{bottom:67.246000px;}
.yef{bottom:67.473000px;}
.y8b{bottom:67.503000px;}
.y16c{bottom:67.969000px;}
.y155{bottom:68.156000px;}
.y24a{bottom:68.821000px;}
.y176{bottom:68.908000px;}
.y199{bottom:69.620000px;}
.y72{bottom:69.780000px;}
.y12f{bottom:69.862000px;}
.y4d{bottom:70.000000px;}
.y1c5{bottom:70.114000px;}
.y216{bottom:70.228000px;}
.y1ee{bottom:70.811000px;}
.yb4{bottom:72.250000px;}
.y1d7{bottom:72.322000px;}
.y5a{bottom:72.769000px;}
.y1ae{bottom:73.020000px;}
.ye2{bottom:73.271000px;}
.y103{bottom:73.317000px;}
.y1b3{bottom:73.426000px;}
.y252{bottom:73.610000px;}
.y228{bottom:74.403000px;}
.y161{bottom:74.487000px;}
.y7e{bottom:74.776000px;}
.y9f{bottom:74.801000px;}
.yf8{bottom:75.157000px;}
.y21d{bottom:75.573000px;}
.y18e{bottom:76.126000px;}
.yd{bottom:76.148000px;}
.y14c{bottom:76.343000px;}
.y36{bottom:76.409000px;}
.y1e1{bottom:77.321000px;}
.y25{bottom:77.480000px;}
.yab{bottom:77.586000px;}
.y42{bottom:77.796000px;}
.y11a{bottom:78.303000px;}
.y2d{bottom:78.516000px;}
.y92{bottom:78.994000px;}
.y242{bottom:78.997000px;}
.y1f9{bottom:79.133000px;}
.yd8{bottom:79.394000px;}
.yc4{bottom:79.547000px;}
.y265{bottom:79.645000px;}
.y138{bottom:79.782000px;}
.y143{bottom:79.850000px;}
.yee{bottom:80.076000px;}
.y205{bottom:80.232000px;}
.y125{bottom:80.666000px;}
.y154{bottom:80.759000px;}
.ycd{bottom:81.181000px;}
.y175{bottom:81.511000px;}
.y12e{bottom:82.215000px;}
.y198{bottom:82.223000px;}
.y71{bottom:82.383000px;}
.y1c4{bottom:82.716000px;}
.y67{bottom:82.796000px;}
.ybe{bottom:82.828000px;}
.y19{bottom:82.940000px;}
.y1ed{bottom:83.414000px;}
.y239{bottom:83.563000px;}
.y249{bottom:84.402000px;}
.yb3{bottom:84.853000px;}
.y182{bottom:84.883000px;}
.y20f{bottom:85.364000px;}
.y160{bottom:85.371000px;}
.y1ad{bottom:85.623000px;}
.y215{bottom:85.809000px;}
.y16b{bottom:85.984000px;}
.y1b2{bottom:86.029000px;}
.y1ce{bottom:86.034000px;}
.y251{bottom:86.213000px;}
.y7d{bottom:87.379000px;}
.y9e{bottom:87.404000px;}
.y113{bottom:87.508000px;}
.y21c{bottom:87.927000px;}
.y1a1{bottom:88.270000px;}
.y22e{bottom:88.729000px;}
.y259{bottom:88.923000px;}
.y14b{bottom:88.946000px;}
.y18d{bottom:89.700000px;}
.y2c{bottom:90.870000px;}
.y4c{bottom:91.534000px;}
.y41{bottom:91.544000px;}
.y10d{bottom:91.780000px;}
.yd7{bottom:91.996000px;}
.y264{bottom:92.248000px;}
.y137{bottom:92.385000px;}
.y142{bottom:92.453000px;}
.yed{bottom:92.679000px;}
.y8a{bottom:92.709000px;}
.y124{bottom:93.269000px;}
.ye1{bottom:93.834000px;}
.y227{bottom:93.840000px;}
.y241{bottom:94.579000px;}
.y197{bottom:94.826000px;}
.y1c3{bottom:95.319000px;}
.yc{bottom:95.351000px;}
.y203{bottom:95.789000px;}
.y1ec{bottom:96.016000px;}
.y174{bottom:96.106000px;}
.y238{bottom:96.166000px;}
.y15f{bottom:96.255000px;}
.y12{bottom:96.596000px;}
.y181{bottom:97.237000px;}
.yb2{bottom:97.455000px;}
.y1d6{bottom:97.527000px;}
.y35{bottom:97.943000px;}
.y59{bottom:97.974000px;}
.y119{bottom:98.352000px;}
.y66{bottom:98.378000px;}
.y102{bottom:98.523000px;}
.y1b1{bottom:98.632000px;}
.y1cd{bottom:98.636000px;}
.yaa{bottom:99.120000px;}
.y204{bottom:99.404000px;}
.y16a{bottom:99.732000px;}
.y1f8{bottom:99.975000px;}
.y7c{bottom:99.981000px;}
.y9d{bottom:100.006000px;}
.y20e{bottom:100.945000px;}
.y14a{bottom:101.300000px;}
.y22d{bottom:101.331000px;}
.y258{bottom:101.525000px;}
.yf7{bottom:102.108000px;}
.y18{bottom:102.143000px;}
.y91{bottom:103.029000px;}
.y1a0{bottom:103.852000px;}
.y97{bottom:103.877000px;}
.y12d{bottom:104.258000px;}
.y10c{bottom:104.382000px;}
.yc3{bottom:104.504000px;}
.yd6{bottom:104.599000px;}
.y263{bottom:104.850000px;}
.y1e0{bottom:104.858000px;}
.y136{bottom:104.987000px;}
.y141{bottom:105.055000px;}
.yec{bottom:105.281000px;}
.y4b{bottom:105.283000px;}
.y24{bottom:105.475000px;}
.y123{bottom:105.872000px;}
.y153{bottom:105.964000px;}
.y40{bottom:106.264000px;}
.y226{bottom:106.443000px;}
.ycc{bottom:106.725000px;}
.y15e{bottom:107.140000px;}
.y196{bottom:107.428000px;}
.y70{bottom:107.588000px;}
.y1c2{bottom:107.922000px;}
.y21b{bottom:107.976000px;}
.y112{bottom:108.544000px;}
.y237{bottom:108.768000px;}
.y1d5{bottom:109.881000px;}
.y248{bottom:109.946000px;}
.y240{bottom:110.160000px;}
.y58{bottom:110.577000px;}
.y180{bottom:110.681000px;}
.y1ac{bottom:110.828000px;}
.y101{bottom:111.125000px;}
.y18c{bottom:111.234000px;}
.y1cc{bottom:111.239000px;}
.y214{bottom:111.353000px;}
.y250{bottom:111.418000px;}
.y34{bottom:111.692000px;}
.ya9{bottom:111.722000px;}
.y7b{bottom:112.584000px;}
.y257{bottom:113.879000px;}
.y118{bottom:113.934000px;}
.y65{bottom:113.959000px;}
.ye0{bottom:114.397000px;}
.yb{bottom:114.554000px;}
.ybd{bottom:114.823000px;}
.y202{bottom:115.490000px;}
.y11{bottom:115.799000px;}
.y90{bottom:116.778000px;}
.y10b{bottom:116.985000px;}
.y4{bottom:117.135000px;}
.y262{bottom:117.204000px;}
.y1f7{bottom:117.346000px;}
.y2b{bottom:117.518000px;}
.y135{bottom:117.590000px;}
.y140{bottom:117.658000px;}
.y89{bottom:117.665000px;}
.yeb{bottom:117.884000px;}
.y15d{bottom:118.024000px;}
.y122{bottom:118.474000px;}
.y152{bottom:118.566000px;}
.y169{bottom:118.935000px;}
.y4a{bottom:119.031000px;}
.y88{bottom:119.035000px;}
.y225{bottom:119.046000px;}
.y19f{bottom:119.433000px;}
.y12c{bottom:119.839000px;}
.y1df{bottom:120.439000px;}
.y1c1{bottom:120.524000px;}
.y173{bottom:120.664000px;}
.y1eb{bottom:121.222000px;}
.y17{bottom:121.346000px;}
.y236{bottom:121.371000px;}
.y23{bottom:121.515000px;}
.y149{bottom:122.346000px;}
.yb1{bottom:122.412000px;}
.yc2{bottom:123.059000px;}
.y57{bottom:123.179000px;}
.y1ab{bottom:123.431000px;}
.y100{bottom:123.479000px;}
.y21a{bottom:123.558000px;}
.yf6{bottom:123.827000px;}
.y18b{bottom:123.837000px;}
.y1cb{bottom:123.842000px;}
.y24f{bottom:124.021000px;}
.y7a{bottom:124.938000px;}
.y9c{bottom:124.962000px;}
.y20d{bottom:124.970000px;}
.y247{bottom:125.528000px;}
.y22c{bottom:126.288000px;}
.y256{bottom:126.955000px;}
.y3f{bottom:127.798000px;}
.y33{bottom:128.404000px;}
.yd5{bottom:129.804000px;}
.y134{bottom:129.944000px;}
.y13f{bottom:130.261000px;}
.ybc{bottom:130.404000px;}
.yea{bottom:130.487000px;}
.y121{bottom:131.077000px;}
.y151{bottom:131.169000px;}
.y87{bottom:131.637000px;}
.y224{bottom:131.648000px;}
.ycb{bottom:132.270000px;}
.y195{bottom:132.634000px;}
.y49{bottom:132.779000px;}
.y6f{bottom:132.793000px;}
.y1f6{bottom:133.087000px;}
.y2a{bottom:133.100000px;}
.y1c0{bottom:133.127000px;}
.y17f{bottom:133.236000px;}
.ya{bottom:133.757000px;}
.y1ea{bottom:133.824000px;}
.y235{bottom:133.974000px;}
.y1d4{bottom:134.053000px;}
.y10{bottom:135.002000px;}
.y8f{bottom:135.507000px;}
.y1aa{bottom:135.784000px;}
.ydf{bottom:135.931000px;}
.y18a{bottom:136.439000px;}
.y1ca{bottom:136.444000px;}
.y213{bottom:136.898000px;}
.ya8{bottom:136.928000px;}
.y117{bottom:136.963000px;}
.yf5{bottom:137.575000px;}
.y1f{bottom:138.248000px;}
.yc1{bottom:138.640000px;}
.y172{bottom:138.696000px;}
.y3{bottom:139.153000px;}
.y261{bottom:139.246000px;}
.y15c{bottom:139.792000px;}
.y64{bottom:140.237000px;}
.y16{bottom:140.549000px;}
.y1a7{bottom:140.766000px;}
.y3e{bottom:141.546000px;}
.y20c{bottom:141.707000px;}
.y201{bottom:142.005000px;}
.yff{bottom:142.066000px;}
.y10a{bottom:142.190000px;}
.yd4{bottom:142.407000px;}
.yb0{bottom:142.461000px;}
.y13e{bottom:142.614000px;}
.ye9{bottom:143.089000px;}
.y120{bottom:143.430000px;}
.y19e{bottom:143.458000px;}
.y223{bottom:144.251000px;}
.y12b{bottom:144.860000px;}
.y79{bottom:144.987000px;}
.y111{bottom:145.162000px;}
.y194{bottom:145.236000px;}
.y6e{bottom:145.396000px;}
.y23f{bottom:145.667000px;}
.y1bf{bottom:145.729000px;}
.y17e{bottom:145.839000px;}
.y22{bottom:145.998000px;}
.y148{bottom:146.370000px;}
.y1e9{bottom:146.427000px;}
.y48{bottom:146.528000px;}
.y234{bottom:146.576000px;}
.y219{bottom:146.586000px;}
.y1de{bottom:147.976000px;}
.y56{bottom:148.385000px;}
.y1f5{bottom:148.828000px;}
.ybb{bottom:148.974000px;}
.y1b0{bottom:149.042000px;}
.y24e{bottom:149.226000px;}
.ya7{bottom:149.530000px;}
.y116{bottom:149.565000px;}
.y29{bottom:149.922000px;}
.y32{bottom:149.938000px;}
.y9b{bottom:149.994000px;}
.y15b{bottom:150.427000px;}
.y168{bottom:150.990000px;}
.y246{bottom:151.072000px;}
.y9{bottom:152.960000px;}
.y1a6{bottom:153.368000px;}
.y8e{bottom:154.237000px;}
.y109{bottom:154.544000px;}
.y133{bottom:154.975000px;}
.y1d3{bottom:155.587000px;}
.y63{bottom:155.818000px;}
.y19d{bottom:156.061000px;}
.y150{bottom:156.125000px;}
.y3d{bottom:156.266000px;}
.y86{bottom:156.843000px;}
.y222{bottom:156.854000px;}
.y200{bottom:157.161000px;}
.y12a{bottom:157.463000px;}
.yde{bottom:157.465000px;}
.y193{bottom:157.590000px;}
.yca{bottom:157.814000px;}
.yaf{bottom:158.043000px;}
.y17d{bottom:158.441000px;}
.y147{bottom:158.973000px;}
.y1e8{bottom:159.030000px;}
.y233{bottom:159.179000px;}
.y218{bottom:159.189000px;}
.yf4{bottom:159.294000px;}
.y15{bottom:159.752000px;}
.y20b{bottom:160.252000px;}
.y212{bottom:160.922000px;}
.y55{bottom:160.987000px;}
.y47{bottom:161.247000px;}
.y23e{bottom:161.248000px;}
.y1c9{bottom:161.400000px;}
.y24d{bottom:161.580000px;}
.y189{bottom:161.645000px;}
.ya6{bottom:162.133000px;}
.y1dd{bottom:163.558000px;}
.yfe{bottom:163.631000px;}
.y260{bottom:164.267000px;}
.y1f4{bottom:164.569000px;}
.y13d{bottom:165.293000px;}
.y11f{bottom:165.473000px;}
.y78{bottom:165.550000px;}
.y9a{bottom:165.575000px;}
.yc0{bottom:165.654000px;}
.y1a5{bottom:165.722000px;}
.y110{bottom:166.198000px;}
.y167{bottom:166.571000px;}
.y31{bottom:166.650000px;}
.y245{bottom:166.653000px;}
.y171{bottom:166.691000px;}
.y15a{bottom:167.264000px;}
.yd3{bottom:167.612000px;}
.ye8{bottom:168.295000px;}
.y19c{bottom:168.414000px;}
.y221{bottom:169.456000px;}
.y129{bottom:170.066000px;}
.y255{bottom:170.556000px;}
.y6d{bottom:170.601000px;}
.y1be{bottom:170.686000px;}
.y1a9{bottom:170.778000px;}
.y17c{bottom:171.044000px;}
.y217{bottom:171.543000px;}
.y146{bottom:171.576000px;}
.y1e7{bottom:171.632000px;}
.y8{bottom:172.163000px;}
.y1ff{bottom:172.317000px;}
.y96{bottom:172.619000px;}
.y8d{bottom:172.967000px;}
.yba{bottom:172.999000px;}
.yf3{bottom:173.042000px;}
.ydd{bottom:173.047000px;}
.yc9{bottom:173.395000px;}
.y54{bottom:173.590000px;}
.y188{bottom:174.247000px;}
.ya5{bottom:174.736000px;}
.y115{bottom:174.770000px;}
.y62{bottom:175.385000px;}
.y132{bottom:176.011000px;}
.yfd{bottom:176.234000px;}
.y108{bottom:176.586000px;}
.y25f{bottom:176.621000px;}
.y2{bottom:177.056000px;}
.y21{bottom:177.455000px;}
.y20a{bottom:178.797000px;}
.y14{bottom:178.955000px;}
.y1d2{bottom:179.139000px;}
.y192{bottom:179.159000px;}
.y28{bottom:180.068000px;}
.yd2{bottom:180.215000px;}
.y3c{bottom:180.825000px;}
.ye7{bottom:180.897000px;}
.y159{bottom:181.012000px;}
.y14f{bottom:181.156000px;}
.y85{bottom:181.799000px;}
.y220{bottom:181.810000px;}
.y128{bottom:182.419000px;}
.y1c8{bottom:182.969000px;}
.y6c{bottom:183.204000px;}
.y17b{bottom:183.647000px;}
.y145{bottom:183.929000px;}
.y232{bottom:184.135000px;}
.y170{bottom:184.723000px;}
.y77{bottom:186.113000px;}
.y1f3{bottom:186.138000px;}
.y53{bottom:186.193000px;}
.y187{bottom:186.601000px;}
.y99{bottom:186.611000px;}
.y1a4{bottom:186.768000px;}
.y114{bottom:187.124000px;}
.ya4{bottom:187.338000px;}
.y1fe{bottom:187.473000px;}
.yfc{bottom:188.587000px;}
.y19b{bottom:189.460000px;}
.y244{bottom:190.678000px;}
.y61{bottom:190.966000px;}
.y1dc{bottom:191.094000px;}
.ydc{bottom:191.592000px;}
.y107{bottom:192.168000px;}
.ye6{bottom:193.251000px;}
.y30{bottom:193.417000px;}
.y20{bottom:193.494000px;}
.y25e{bottom:194.678000px;}
.yf2{bottom:194.760000px;}
.y17a{bottom:196.249000px;}
.y3b{bottom:196.406000px;}
.y27{bottom:196.431000px;}
.y1e6{bottom:196.589000px;}
.y1{bottom:197.678000px;}
.y13{bottom:198.158000px;}
.y1bd{bottom:198.207000px;}
.ya3{bottom:199.692000px;}
.y209{bottom:200.989000px;}
.y98{bottom:202.193000px;}
.y1d1{bottom:202.691000px;}
.y186{bottom:203.189000px;}
.y84{bottom:203.841000px;}
.y127{bottom:204.461000px;}
.yd1{bottom:205.171000px;}
.y243{bottom:206.260000px;}
.y144{bottom:206.607000px;}
.y76{bottom:206.676000px;}
.y16f{bottom:206.716000px;}
.ydb{bottom:207.174000px;}
.y60{bottom:207.788000px;}
.y6b{bottom:208.160000px;}
.yf1{bottom:208.509000px;}
.y179{bottom:208.603000px;}
.y1e5{bottom:210.163000px;}
.y52{bottom:211.149000px;}
.y2f{bottom:212.770000px;}
.y7{bottom:236.149000px;}
.y126{bottom:240.488000px;}
.hb{height:19.359269px;}
.h16{height:20.921400px;}
.h12{height:22.093117px;}
.h13{height:22.124998px;}
.h9{height:23.910300px;}
.hf{height:24.890726px;}
.hd{height:25.285248px;}
.h10{height:26.899200px;}
.ha{height:27.576477px;}
.h6{height:29.887800px;}
.h15{height:30.196389px;}
.he{height:30.283662px;}
.h11{height:30.763662px;}
.hc{height:32.727300px;}
.h17{height:33.091994px;}
.h5{height:33.665843px;}
.h14{height:34.072320px;}
.h7{height:35.865600px;}
.h4{height:40.456284px;}
.h8{height:43.038600px;}
.h3{height:58.268250px;}
.h2{height:74.361300px;}
.h0{height:255.118000px;}
.h1{height:255.500000px;}
.w0{width:453.543000px;}
.w1{width:454.000000px;}
.x0{left:0.000000px;}
.x33{left:8.954000px;}
.x5{left:10.667000px;}
.x30{left:16.167000px;}
.x16{left:17.931000px;}
.x32{left:22.942000px;}
.x34{left:26.314000px;}
.x1{left:28.346000px;}
.xd{left:31.983000px;}
.x25{left:33.054000px;}
.x6{left:34.488000px;}
.xc{left:35.605000px;}
.xf{left:36.961000px;}
.x38{left:38.791000px;}
.x2f{left:40.840000px;}
.x12{left:42.468000px;}
.x26{left:43.800000px;}
.x1f{left:45.283000px;}
.x13{left:47.176000px;}
.x7{left:50.486000px;}
.x17{left:52.294000px;}
.x3b{left:56.590000px;}
.x19{left:58.022000px;}
.x1b{left:61.298000px;}
.x2e{left:63.749000px;}
.x15{left:66.005000px;}
.x1c{left:67.945000px;}
.x20{left:68.994000px;}
.x39{left:70.712000px;}
.x14{left:78.160000px;}
.x22{left:80.380000px;}
.x3e{left:81.634000px;}
.x28{left:84.834320px;}
.x18{left:86.658000px;}
.x21{left:90.994000px;}
.x1d{left:94.249000px;}
.x3d{left:97.972000px;}
.x2c{left:102.471000px;}
.xb{left:106.772000px;}
.x23{left:108.512000px;}
.x2d{left:113.079000px;}
.x2{left:114.497000px;}
.xa{left:116.849000px;}
.x3{left:118.939000px;}
.x24{left:121.058000px;}
.xe{left:141.323000px;}
.x2a{left:153.058000px;}
.x29{left:156.831000px;}
.x9{left:167.345000px;}
.x1e{left:168.362000px;}
.x11{left:174.274000px;}
.x35{left:184.643000px;}
.x3a{left:190.795000px;}
.x36{left:203.473000px;}
.x37{left:222.302000px;}
.x27{left:249.591000px;}
.x3c{left:259.006640px;}
.x31{left:272.974000px;}
.x1a{left:320.201000px;}
.x2b{left:367.274840px;}
.x4{left:378.705000px;}
.x10{left:424.403000px;}
.x8{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;}
._27{width:6.573151pt;}
._21{width:8.320819pt;}
._1d{width:15.123632pt;}
._d{width:16.484235pt;}
._a{width:18.018764pt;}
._f{width:19.460054pt;}
._6{width:20.824359pt;}
._8{width:23.400311pt;}
._10{width:25.105920pt;}
._b{width:27.468191pt;}
._4{width:28.921939pt;}
._13{width:30.545480pt;}
._1c{width:31.926038pt;}
._22{width:33.378918pt;}
._12{width:35.038924pt;}
._1e{width:36.608805pt;}
._34{width:38.316395pt;}
._3{width:41.655600pt;}
._9{width:43.229883pt;}
._26{width:45.032765pt;}
._1{width:48.384419pt;}
._16{width:50.211840pt;}
._2{width:54.438800pt;}
._30{width:58.181867pt;}
._1f{width:75.317760pt;}
._33{width:83.638579pt;}
._18{width:100.423680pt;}
._2f{width:106.754269pt;}
._2a{width:113.051512pt;}
._1a{width:125.529600pt;}
._2e{width:133.897680pt;}
._17{width:150.635520pt;}
._2d{width:157.475770pt;}
._2c{width:159.091239pt;}
._15{width:175.741440pt;}
._14{width:200.847360pt;}
._20{width:225.953280pt;}
._23{width:251.059200pt;}
._11{width:301.271040pt;}
._43{width:326.376960pt;}
._42{width:376.588800pt;}
._39{width:401.694720pt;}
._36{width:426.800640pt;}
._1b{width:451.906560pt;}
._35{width:477.012480pt;}
._32{width:502.118400pt;}
._2b{width:721.793412pt;}
._3d{width:778.283520pt;}
._40{width:803.389440pt;}
._3c{width:903.813120pt;}
._24{width:967.115092pt;}
._3f{width:1054.448640pt;}
._19{width:1124.400901pt;}
._3b{width:1154.872320pt;}
._31{width:1176.723228pt;}
._37{width:1230.190080pt;}
._29{width:1237.564049pt;}
._25{width:1324.980450pt;}
._3a{width:1345.804834pt;}
._41{width:1431.037440pt;}
._38{width:1467.767009pt;}
._3e{width:1506.355200pt;}
._28{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;}
.y1bc{bottom:4.658667pt;}
.y95{bottom:4.837333pt;}
.y75{bottom:6.066667pt;}
.y51{bottom:7.037333pt;}
.y46{bottom:7.050667pt;}
.y1db{bottom:8.498667pt;}
.y208{bottom:9.560000pt;}
.y3a{bottom:10.269333pt;}
.y1f2{bottom:10.397333pt;}
.yb9{bottom:12.316000pt;}
.y21f{bottom:12.568000pt;}
.y1c7{bottom:12.594667pt;}
.yd0{bottom:12.781333pt;}
.y5f{bottom:13.006667pt;}
.y22b{bottom:14.202667pt;}
.ye5{bottom:15.444000pt;}
.y83{bottom:15.684000pt;}
.yfb{bottom:16.524000pt;}
.yf{bottom:17.357333pt;}
.y25d{bottom:17.742667pt;}
.y178{bottom:20.610667pt;}
.y1fd{bottom:21.825333pt;}
.y13c{bottom:22.358667pt;}
.y158{bottom:23.660000pt;}
.y1e4{bottom:24.829333pt;}
.y50{bottom:25.368000pt;}
.y45{bottom:26.677333pt;}
.y166{bottom:26.718667pt;}
.y23d{bottom:27.400000pt;}
.y39{bottom:28.601333pt;}
.y207{bottom:29.020000pt;}
.yb8{bottom:29.118667pt;}
.y5e{bottom:29.810667pt;}
.y6a{bottom:30.438667pt;}
.y22a{bottom:31.006667pt;}
.y1b8{bottom:31.610667pt;}
.y82{bottom:32.486667pt;}
.ya2{bottom:32.520000pt;}
.yae{bottom:33.184000pt;}
.y1c{bottom:33.774667pt;}
.y1b5{bottom:34.120000pt;}
.y231{bottom:34.286667pt;}
.y25c{bottom:34.546667pt;}
.y1ba{bottom:35.582667pt;}
.y11e{bottom:37.521333pt;}
.y94{bottom:38.444000pt;}
.y1e{bottom:38.596000pt;}
.y1fc{bottom:38.628000pt;}
.yda{bottom:38.644000pt;}
.yc8{bottom:38.849333pt;}
.y191{bottom:39.514667pt;}
.y157{bottom:40.464000pt;}
.y165{bottom:41.230667pt;}
.y1a8{bottom:41.266667pt;}
.ye4{bottom:42.861333pt;}
.y1f1{bottom:44.004000pt;}
.y23c{bottom:44.202667pt;}
.y4f{bottom:44.994667pt;}
.y1e3{bottom:45.604000pt;}
.yb7{bottom:45.922667pt;}
.y1da{bottom:46.018667pt;}
.y5d{bottom:46.614667pt;}
.y106{bottom:47.346667pt;}
.y1bb{bottom:47.490667pt;}
.y254{bottom:47.736000pt;}
.ycf{bottom:48.128000pt;}
.y185{bottom:48.706667pt;}
.y177{bottom:49.270667pt;}
.y81{bottom:49.290667pt;}
.ya1{bottom:49.324000pt;}
.y74{bottom:49.504000pt;}
.yfa{bottom:50.130667pt;}
.y38{bottom:50.884000pt;}
.y69{bottom:51.214667pt;}
.y14e{bottom:51.380000pt;}
.y16e{bottom:51.564000pt;}
.y24c{bottom:51.844000pt;}
.y1b7{bottom:52.385333pt;}
.yad{bottom:53.960000pt;}
.y11d{bottom:54.325333pt;}
.y44{bottom:55.389333pt;}
.y1fb{bottom:55.432000pt;}
.yc7{bottom:55.652000pt;}
.y164{bottom:55.742667pt;}
.y13b{bottom:55.965333pt;}
.y211{bottom:56.326667pt;}
.y8c{bottom:56.397333pt;}
.y156{bottom:57.268000pt;}
.y6{bottom:57.414667pt;}
.y1b{bottom:59.378667pt;}
.y131{bottom:59.541333pt;}
.y1f0{bottom:60.808000pt;}
.y23b{bottom:61.006667pt;}
.yb6{bottom:62.726667pt;}
.y1d9{bottom:62.821333pt;}
.y5c{bottom:63.417333pt;}
.y105{bottom:64.149333pt;}
.y1d{bottom:64.200000pt;}
.y1b9{bottom:64.294667pt;}
.y1d0{bottom:64.301333pt;}
.y253{bottom:64.540000pt;}
.y184{bottom:65.178667pt;}
.y26{bottom:65.980000pt;}
.y80{bottom:66.094667pt;}
.ya0{bottom:66.128000pt;}
.y73{bottom:66.306667pt;}
.y230{bottom:67.894667pt;}
.y25b{bottom:68.153333pt;}
.y14d{bottom:68.184000pt;}
.y190{bottom:68.226667pt;}
.y24b{bottom:68.316000pt;}
.y1a3{bottom:68.870667pt;}
.yce{bottom:68.902667pt;}
.y1b4{bottom:69.189333pt;}
.ye3{bottom:70.278667pt;}
.y163{bottom:70.292000pt;}
.y2e{bottom:71.081333pt;}
.y16d{bottom:71.094667pt;}
.y11c{bottom:71.128000pt;}
.y10f{bottom:71.962667pt;}
.y93{bottom:72.050667pt;}
.y1fa{bottom:72.236000pt;}
.yd9{bottom:72.252000pt;}
.yc6{bottom:72.456000pt;}
.y267{bottom:72.586667pt;}
.y13a{bottom:72.769333pt;}
.y68{bottom:73.032000pt;}
.yf0{bottom:73.161333pt;}
.y4e{bottom:73.706667pt;}
.yac{bottom:74.734667pt;}
.y43{bottom:75.014667pt;}
.ye{bottom:75.926667pt;}
.y19a{bottom:76.024000pt;}
.y130{bottom:76.345333pt;}
.y1c6{bottom:76.681333pt;}
.y210{bottom:77.102667pt;}
.y1ef{bottom:77.610667pt;}
.y23a{bottom:77.810667pt;}
.y229{bottom:78.428000pt;}
.yb5{bottom:79.529333pt;}
.y37{bottom:79.596000pt;}
.y1d8{bottom:79.625333pt;}
.y5{bottom:79.648000pt;}
.y5b{bottom:80.221333pt;}
.y1af{bottom:80.556000pt;}
.y104{bottom:80.953333pt;}
.y1b6{bottom:81.098667pt;}
.y1cf{bottom:81.104000pt;}
.y1e2{bottom:82.320000pt;}
.y7f{bottom:82.897333pt;}
.y183{bottom:83.104000pt;}
.yf9{bottom:83.738667pt;}
.y21e{bottom:83.960000pt;}
.y22f{bottom:84.697333pt;}
.y162{bottom:84.804000pt;}
.y25a{bottom:84.956000pt;}
.y1a{bottom:84.982667pt;}
.y18f{bottom:85.029333pt;}
.y206{bottom:85.501333pt;}
.y11b{bottom:87.932000pt;}
.y10e{bottom:88.765333pt;}
.yc5{bottom:89.260000pt;}
.y266{bottom:89.389333pt;}
.y139{bottom:89.573333pt;}
.y1a2{bottom:89.645333pt;}
.ybf{bottom:89.661333pt;}
.yef{bottom:89.964000pt;}
.y8b{bottom:90.004000pt;}
.y16c{bottom:90.625333pt;}
.y155{bottom:90.874667pt;}
.y24a{bottom:91.761333pt;}
.y176{bottom:91.877333pt;}
.y199{bottom:92.826667pt;}
.y72{bottom:93.040000pt;}
.y12f{bottom:93.149333pt;}
.y4d{bottom:93.333333pt;}
.y1c5{bottom:93.485333pt;}
.y216{bottom:93.637333pt;}
.y1ee{bottom:94.414667pt;}
.yb4{bottom:96.333333pt;}
.y1d7{bottom:96.429333pt;}
.y5a{bottom:97.025333pt;}
.y1ae{bottom:97.360000pt;}
.ye2{bottom:97.694667pt;}
.y103{bottom:97.756000pt;}
.y1b3{bottom:97.901333pt;}
.y252{bottom:98.146667pt;}
.y228{bottom:99.204000pt;}
.y161{bottom:99.316000pt;}
.y7e{bottom:99.701333pt;}
.y9f{bottom:99.734667pt;}
.yf8{bottom:100.209333pt;}
.y21d{bottom:100.764000pt;}
.y18e{bottom:101.501333pt;}
.yd{bottom:101.530667pt;}
.y14c{bottom:101.790667pt;}
.y36{bottom:101.878667pt;}
.y1e1{bottom:103.094667pt;}
.y25{bottom:103.306667pt;}
.yab{bottom:103.448000pt;}
.y42{bottom:103.728000pt;}
.y11a{bottom:104.404000pt;}
.y2d{bottom:104.688000pt;}
.y92{bottom:105.325333pt;}
.y242{bottom:105.329333pt;}
.y1f9{bottom:105.510667pt;}
.yd8{bottom:105.858667pt;}
.yc4{bottom:106.062667pt;}
.y265{bottom:106.193333pt;}
.y138{bottom:106.376000pt;}
.y143{bottom:106.466667pt;}
.yee{bottom:106.768000pt;}
.y205{bottom:106.976000pt;}
.y125{bottom:107.554667pt;}
.y154{bottom:107.678667pt;}
.ycd{bottom:108.241333pt;}
.y175{bottom:108.681333pt;}
.y12e{bottom:109.620000pt;}
.y198{bottom:109.630667pt;}
.y71{bottom:109.844000pt;}
.y1c4{bottom:110.288000pt;}
.y67{bottom:110.394667pt;}
.ybe{bottom:110.437333pt;}
.y19{bottom:110.586667pt;}
.y1ed{bottom:111.218667pt;}
.y239{bottom:111.417333pt;}
.y249{bottom:112.536000pt;}
.yb3{bottom:113.137333pt;}
.y182{bottom:113.177333pt;}
.y20f{bottom:113.818667pt;}
.y160{bottom:113.828000pt;}
.y1ad{bottom:114.164000pt;}
.y215{bottom:114.412000pt;}
.y16b{bottom:114.645333pt;}
.y1b2{bottom:114.705333pt;}
.y1ce{bottom:114.712000pt;}
.y251{bottom:114.950667pt;}
.y7d{bottom:116.505333pt;}
.y9e{bottom:116.538667pt;}
.y113{bottom:116.677333pt;}
.y21c{bottom:117.236000pt;}
.y1a1{bottom:117.693333pt;}
.y22e{bottom:118.305333pt;}
.y259{bottom:118.564000pt;}
.y14b{bottom:118.594667pt;}
.y18d{bottom:119.600000pt;}
.y2c{bottom:121.160000pt;}
.y4c{bottom:122.045333pt;}
.y41{bottom:122.058667pt;}
.y10d{bottom:122.373333pt;}
.yd7{bottom:122.661333pt;}
.y264{bottom:122.997333pt;}
.y137{bottom:123.180000pt;}
.y142{bottom:123.270667pt;}
.yed{bottom:123.572000pt;}
.y8a{bottom:123.612000pt;}
.y124{bottom:124.358667pt;}
.ye1{bottom:125.112000pt;}
.y227{bottom:125.120000pt;}
.y241{bottom:126.105333pt;}
.y197{bottom:126.434667pt;}
.y1c3{bottom:127.092000pt;}
.yc{bottom:127.134667pt;}
.y203{bottom:127.718667pt;}
.y1ec{bottom:128.021333pt;}
.y174{bottom:128.141333pt;}
.y238{bottom:128.221333pt;}
.y15f{bottom:128.340000pt;}
.y12{bottom:128.794667pt;}
.y181{bottom:129.649333pt;}
.yb2{bottom:129.940000pt;}
.y1d6{bottom:130.036000pt;}
.y35{bottom:130.590667pt;}
.y59{bottom:130.632000pt;}
.y119{bottom:131.136000pt;}
.y66{bottom:131.170667pt;}
.y102{bottom:131.364000pt;}
.y1b1{bottom:131.509333pt;}
.y1cd{bottom:131.514667pt;}
.yaa{bottom:132.160000pt;}
.y204{bottom:132.538667pt;}
.y16a{bottom:132.976000pt;}
.y1f8{bottom:133.300000pt;}
.y7c{bottom:133.308000pt;}
.y9d{bottom:133.341333pt;}
.y20e{bottom:134.593333pt;}
.y14a{bottom:135.066667pt;}
.y22d{bottom:135.108000pt;}
.y258{bottom:135.366667pt;}
.yf7{bottom:136.144000pt;}
.y18{bottom:136.190667pt;}
.y91{bottom:137.372000pt;}
.y1a0{bottom:138.469333pt;}
.y97{bottom:138.502667pt;}
.y12d{bottom:139.010667pt;}
.y10c{bottom:139.176000pt;}
.yc3{bottom:139.338667pt;}
.yd6{bottom:139.465333pt;}
.y263{bottom:139.800000pt;}
.y1e0{bottom:139.810667pt;}
.y136{bottom:139.982667pt;}
.y141{bottom:140.073333pt;}
.yec{bottom:140.374667pt;}
.y4b{bottom:140.377333pt;}
.y24{bottom:140.633333pt;}
.y123{bottom:141.162667pt;}
.y153{bottom:141.285333pt;}
.y40{bottom:141.685333pt;}
.y226{bottom:141.924000pt;}
.ycc{bottom:142.300000pt;}
.y15e{bottom:142.853333pt;}
.y196{bottom:143.237333pt;}
.y70{bottom:143.450667pt;}
.y1c2{bottom:143.896000pt;}
.y21b{bottom:143.968000pt;}
.y112{bottom:144.725333pt;}
.y237{bottom:145.024000pt;}
.y1d5{bottom:146.508000pt;}
.y248{bottom:146.594667pt;}
.y240{bottom:146.880000pt;}
.y58{bottom:147.436000pt;}
.y180{bottom:147.574667pt;}
.y1ac{bottom:147.770667pt;}
.y101{bottom:148.166667pt;}
.y18c{bottom:148.312000pt;}
.y1cc{bottom:148.318667pt;}
.y214{bottom:148.470667pt;}
.y250{bottom:148.557333pt;}
.y34{bottom:148.922667pt;}
.ya9{bottom:148.962667pt;}
.y7b{bottom:150.112000pt;}
.y257{bottom:151.838667pt;}
.y118{bottom:151.912000pt;}
.y65{bottom:151.945333pt;}
.ye0{bottom:152.529333pt;}
.yb{bottom:152.738667pt;}
.ybd{bottom:153.097333pt;}
.y202{bottom:153.986667pt;}
.y11{bottom:154.398667pt;}
.y90{bottom:155.704000pt;}
.y10b{bottom:155.980000pt;}
.y4{bottom:156.180000pt;}
.y262{bottom:156.272000pt;}
.y1f7{bottom:156.461333pt;}
.y2b{bottom:156.690667pt;}
.y135{bottom:156.786667pt;}
.y140{bottom:156.877333pt;}
.y89{bottom:156.886667pt;}
.yeb{bottom:157.178667pt;}
.y15d{bottom:157.365333pt;}
.y122{bottom:157.965333pt;}
.y152{bottom:158.088000pt;}
.y169{bottom:158.580000pt;}
.y4a{bottom:158.708000pt;}
.y88{bottom:158.713333pt;}
.y225{bottom:158.728000pt;}
.y19f{bottom:159.244000pt;}
.y12c{bottom:159.785333pt;}
.y1df{bottom:160.585333pt;}
.y1c1{bottom:160.698667pt;}
.y173{bottom:160.885333pt;}
.y1eb{bottom:161.629333pt;}
.y17{bottom:161.794667pt;}
.y236{bottom:161.828000pt;}
.y23{bottom:162.020000pt;}
.y149{bottom:163.128000pt;}
.yb1{bottom:163.216000pt;}
.yc2{bottom:164.078667pt;}
.y57{bottom:164.238667pt;}
.y1ab{bottom:164.574667pt;}
.y100{bottom:164.638667pt;}
.y21a{bottom:164.744000pt;}
.yf6{bottom:165.102667pt;}
.y18b{bottom:165.116000pt;}
.y1cb{bottom:165.122667pt;}
.y24f{bottom:165.361333pt;}
.y7a{bottom:166.584000pt;}
.y9c{bottom:166.616000pt;}
.y20d{bottom:166.626667pt;}
.y247{bottom:167.370667pt;}
.y22c{bottom:168.384000pt;}
.y256{bottom:169.273333pt;}
.y3f{bottom:170.397333pt;}
.y33{bottom:171.205333pt;}
.yd5{bottom:173.072000pt;}
.y134{bottom:173.258667pt;}
.y13f{bottom:173.681333pt;}
.ybc{bottom:173.872000pt;}
.yea{bottom:173.982667pt;}
.y121{bottom:174.769333pt;}
.y151{bottom:174.892000pt;}
.y87{bottom:175.516000pt;}
.y224{bottom:175.530667pt;}
.ycb{bottom:176.360000pt;}
.y195{bottom:176.845333pt;}
.y49{bottom:177.038667pt;}
.y6f{bottom:177.057333pt;}
.y1f6{bottom:177.449333pt;}
.y2a{bottom:177.466667pt;}
.y1c0{bottom:177.502667pt;}
.y17f{bottom:177.648000pt;}
.ya{bottom:178.342667pt;}
.y1ea{bottom:178.432000pt;}
.y235{bottom:178.632000pt;}
.y1d4{bottom:178.737333pt;}
.y10{bottom:180.002667pt;}
.y8f{bottom:180.676000pt;}
.y1aa{bottom:181.045333pt;}
.ydf{bottom:181.241333pt;}
.y18a{bottom:181.918667pt;}
.y1ca{bottom:181.925333pt;}
.y213{bottom:182.530667pt;}
.ya8{bottom:182.570667pt;}
.y117{bottom:182.617333pt;}
.yf5{bottom:183.433333pt;}
.y1f{bottom:184.330667pt;}
.yc1{bottom:184.853333pt;}
.y172{bottom:184.928000pt;}
.y3{bottom:185.537333pt;}
.y261{bottom:185.661333pt;}
.y15c{bottom:186.389333pt;}
.y64{bottom:186.982667pt;}
.y16{bottom:187.398667pt;}
.y1a7{bottom:187.688000pt;}
.y3e{bottom:188.728000pt;}
.y20c{bottom:188.942667pt;}
.y201{bottom:189.340000pt;}
.yff{bottom:189.421333pt;}
.y10a{bottom:189.586667pt;}
.yd4{bottom:189.876000pt;}
.yb0{bottom:189.948000pt;}
.y13e{bottom:190.152000pt;}
.ye9{bottom:190.785333pt;}
.y120{bottom:191.240000pt;}
.y19e{bottom:191.277333pt;}
.y223{bottom:192.334667pt;}
.y12b{bottom:193.146667pt;}
.y79{bottom:193.316000pt;}
.y111{bottom:193.549333pt;}
.y194{bottom:193.648000pt;}
.y6e{bottom:193.861333pt;}
.y23f{bottom:194.222667pt;}
.y1bf{bottom:194.305333pt;}
.y17e{bottom:194.452000pt;}
.y22{bottom:194.664000pt;}
.y148{bottom:195.160000pt;}
.y1e9{bottom:195.236000pt;}
.y48{bottom:195.370667pt;}
.y234{bottom:195.434667pt;}
.y219{bottom:195.448000pt;}
.y1de{bottom:197.301333pt;}
.y56{bottom:197.846667pt;}
.y1f5{bottom:198.437333pt;}
.ybb{bottom:198.632000pt;}
.y1b0{bottom:198.722667pt;}
.y24e{bottom:198.968000pt;}
.ya7{bottom:199.373333pt;}
.y116{bottom:199.420000pt;}
.y29{bottom:199.896000pt;}
.y32{bottom:199.917333pt;}
.y9b{bottom:199.992000pt;}
.y15b{bottom:200.569333pt;}
.y168{bottom:201.320000pt;}
.y246{bottom:201.429333pt;}
.y9{bottom:203.946667pt;}
.y1a6{bottom:204.490667pt;}
.y8e{bottom:205.649333pt;}
.y109{bottom:206.058667pt;}
.y133{bottom:206.633333pt;}
.y1d3{bottom:207.449333pt;}
.y63{bottom:207.757333pt;}
.y19d{bottom:208.081333pt;}
.y150{bottom:208.166667pt;}
.y3d{bottom:208.354667pt;}
.y86{bottom:209.124000pt;}
.y222{bottom:209.138667pt;}
.y200{bottom:209.548000pt;}
.y12a{bottom:209.950667pt;}
.yde{bottom:209.953333pt;}
.y193{bottom:210.120000pt;}
.yca{bottom:210.418667pt;}
.yaf{bottom:210.724000pt;}
.y17d{bottom:211.254667pt;}
.y147{bottom:211.964000pt;}
.y1e8{bottom:212.040000pt;}
.y233{bottom:212.238667pt;}
.y218{bottom:212.252000pt;}
.yf4{bottom:212.392000pt;}
.y15{bottom:213.002667pt;}
.y20b{bottom:213.669333pt;}
.y212{bottom:214.562667pt;}
.y55{bottom:214.649333pt;}
.y47{bottom:214.996000pt;}
.y23e{bottom:214.997333pt;}
.y1c9{bottom:215.200000pt;}
.y24d{bottom:215.440000pt;}
.y189{bottom:215.526667pt;}
.ya6{bottom:216.177333pt;}
.y1dd{bottom:218.077333pt;}
.yfe{bottom:218.174667pt;}
.y260{bottom:219.022667pt;}
.y1f4{bottom:219.425333pt;}
.y13d{bottom:220.390667pt;}
.y11f{bottom:220.630667pt;}
.y78{bottom:220.733333pt;}
.y9a{bottom:220.766667pt;}
.yc0{bottom:220.872000pt;}
.y1a5{bottom:220.962667pt;}
.y110{bottom:221.597333pt;}
.y167{bottom:222.094667pt;}
.y31{bottom:222.200000pt;}
.y245{bottom:222.204000pt;}
.y171{bottom:222.254667pt;}
.y15a{bottom:223.018667pt;}
.yd3{bottom:223.482667pt;}
.ye8{bottom:224.393333pt;}
.y19c{bottom:224.552000pt;}
.y221{bottom:225.941333pt;}
.y129{bottom:226.754667pt;}
.y255{bottom:227.408000pt;}
.y6d{bottom:227.468000pt;}
.y1be{bottom:227.581333pt;}
.y1a9{bottom:227.704000pt;}
.y17c{bottom:228.058667pt;}
.y217{bottom:228.724000pt;}
.y146{bottom:228.768000pt;}
.y1e7{bottom:228.842667pt;}
.y8{bottom:229.550667pt;}
.y1ff{bottom:229.756000pt;}
.y96{bottom:230.158667pt;}
.y8d{bottom:230.622667pt;}
.yba{bottom:230.665333pt;}
.yf3{bottom:230.722667pt;}
.ydd{bottom:230.729333pt;}
.yc9{bottom:231.193333pt;}
.y54{bottom:231.453333pt;}
.y188{bottom:232.329333pt;}
.ya5{bottom:232.981333pt;}
.y115{bottom:233.026667pt;}
.y62{bottom:233.846667pt;}
.y132{bottom:234.681333pt;}
.yfd{bottom:234.978667pt;}
.y108{bottom:235.448000pt;}
.y25f{bottom:235.494667pt;}
.y2{bottom:236.074667pt;}
.y21{bottom:236.606667pt;}
.y20a{bottom:238.396000pt;}
.y14{bottom:238.606667pt;}
.y1d2{bottom:238.852000pt;}
.y192{bottom:238.878667pt;}
.y28{bottom:240.090667pt;}
.yd2{bottom:240.286667pt;}
.y3c{bottom:241.100000pt;}
.ye7{bottom:241.196000pt;}
.y159{bottom:241.349333pt;}
.y14f{bottom:241.541333pt;}
.y85{bottom:242.398667pt;}
.y220{bottom:242.413333pt;}
.y128{bottom:243.225333pt;}
.y1c8{bottom:243.958667pt;}
.y6c{bottom:244.272000pt;}
.y17b{bottom:244.862667pt;}
.y145{bottom:245.238667pt;}
.y232{bottom:245.513333pt;}
.y170{bottom:246.297333pt;}
.y77{bottom:248.150667pt;}
.y1f3{bottom:248.184000pt;}
.y53{bottom:248.257333pt;}
.y187{bottom:248.801333pt;}
.y99{bottom:248.814667pt;}
.y1a4{bottom:249.024000pt;}
.y114{bottom:249.498667pt;}
.ya4{bottom:249.784000pt;}
.y1fe{bottom:249.964000pt;}
.yfc{bottom:251.449333pt;}
.y19b{bottom:252.613333pt;}
.y244{bottom:254.237333pt;}
.y61{bottom:254.621333pt;}
.y1dc{bottom:254.792000pt;}
.ydc{bottom:255.456000pt;}
.y107{bottom:256.224000pt;}
.ye6{bottom:257.668000pt;}
.y30{bottom:257.889333pt;}
.y20{bottom:257.992000pt;}
.y25e{bottom:259.570667pt;}
.yf2{bottom:259.680000pt;}
.y17a{bottom:261.665333pt;}
.y3b{bottom:261.874667pt;}
.y27{bottom:261.908000pt;}
.y1e6{bottom:262.118667pt;}
.y1{bottom:263.570667pt;}
.y13{bottom:264.210667pt;}
.y1bd{bottom:264.276000pt;}
.ya3{bottom:266.256000pt;}
.y209{bottom:267.985333pt;}
.y98{bottom:269.590667pt;}
.y1d1{bottom:270.254667pt;}
.y186{bottom:270.918667pt;}
.y84{bottom:271.788000pt;}
.y127{bottom:272.614667pt;}
.yd1{bottom:273.561333pt;}
.y243{bottom:275.013333pt;}
.y144{bottom:275.476000pt;}
.y76{bottom:275.568000pt;}
.y16f{bottom:275.621333pt;}
.ydb{bottom:276.232000pt;}
.y60{bottom:277.050667pt;}
.y6b{bottom:277.546667pt;}
.yf1{bottom:278.012000pt;}
.y179{bottom:278.137333pt;}
.y1e5{bottom:280.217333pt;}
.y52{bottom:281.532000pt;}
.y2f{bottom:283.693333pt;}
.y7{bottom:314.865333pt;}
.y126{bottom:320.650667pt;}
.hb{height:25.812358pt;}
.h16{height:27.895200pt;}
.h12{height:29.457490pt;}
.h13{height:29.499997pt;}
.h9{height:31.880400pt;}
.hf{height:33.187635pt;}
.hd{height:33.713664pt;}
.h10{height:35.865600pt;}
.ha{height:36.768636pt;}
.h6{height:39.850400pt;}
.h15{height:40.261852pt;}
.he{height:40.378215pt;}
.h11{height:41.018216pt;}
.hc{height:43.636400pt;}
.h17{height:44.122658pt;}
.h5{height:44.887791pt;}
.h14{height:45.429760pt;}
.h7{height:47.820800pt;}
.h4{height:53.941712pt;}
.h8{height:57.384800pt;}
.h3{height:77.691000pt;}
.h2{height:99.148400pt;}
.h0{height:340.157333pt;}
.h1{height:340.666667pt;}
.w0{width:604.724000pt;}
.w1{width:605.333333pt;}
.x0{left:0.000000pt;}
.x33{left:11.938667pt;}
.x5{left:14.222667pt;}
.x30{left:21.556000pt;}
.x16{left:23.908000pt;}
.x32{left:30.589333pt;}
.x34{left:35.085333pt;}
.x1{left:37.794667pt;}
.xd{left:42.644000pt;}
.x25{left:44.072000pt;}
.x6{left:45.984000pt;}
.xc{left:47.473333pt;}
.xf{left:49.281333pt;}
.x38{left:51.721333pt;}
.x2f{left:54.453333pt;}
.x12{left:56.624000pt;}
.x26{left:58.400000pt;}
.x1f{left:60.377333pt;}
.x13{left:62.901333pt;}
.x7{left:67.314667pt;}
.x17{left:69.725333pt;}
.x3b{left:75.453333pt;}
.x19{left:77.362667pt;}
.x1b{left:81.730667pt;}
.x2e{left:84.998667pt;}
.x15{left:88.006667pt;}
.x1c{left:90.593333pt;}
.x20{left:91.992000pt;}
.x39{left:94.282667pt;}
.x14{left:104.213333pt;}
.x22{left:107.173333pt;}
.x3e{left:108.845333pt;}
.x28{left:113.112427pt;}
.x18{left:115.544000pt;}
.x21{left:121.325333pt;}
.x1d{left:125.665333pt;}
.x3d{left:130.629333pt;}
.x2c{left:136.628000pt;}
.xb{left:142.362667pt;}
.x23{left:144.682667pt;}
.x2d{left:150.772000pt;}
.x2{left:152.662667pt;}
.xa{left:155.798667pt;}
.x3{left:158.585333pt;}
.x24{left:161.410667pt;}
.xe{left:188.430667pt;}
.x2a{left:204.077333pt;}
.x29{left:209.108000pt;}
.x9{left:223.126667pt;}
.x1e{left:224.482667pt;}
.x11{left:232.365333pt;}
.x35{left:246.190667pt;}
.x3a{left:254.393333pt;}
.x36{left:271.297333pt;}
.x37{left:296.402667pt;}
.x27{left:332.788000pt;}
.x3c{left:345.342187pt;}
.x31{left:363.965333pt;}
.x1a{left:426.934667pt;}
.x2b{left:489.699787pt;}
.x4{left:504.940000pt;}
.x10{left:565.870667pt;}
.x8{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,224.877,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="#pf1b" data-dest-detail='[27,"XYZ",28.346,228.21,null]'>Capture List</a></li><li><a class="l" href="#pf1f" data-dest-detail='[31,"XYZ",28.346,213.204,null]'>Lambda Expression and Function Relation</a></li><li><a class="l" href="#pf20" data-dest-detail='[32,"XYZ",28.346,187.234,null]'>Parameter Notes</a></li><li><a class="l" href="#pf21" data-dest-detail='[33,"XYZ",28.346,228.21,null]'>Composability</a></li><li><a class="l" href="#pf23" data-dest-detail='[35,"XYZ",28.346,222.519,null]'>Recursion</a></li><li><a class="l" href="#pf24" data-dest-detail='[36,"XYZ",28.346,228.21,null]'>constexpr/consteval</a></li><li><a class="l" href="#pf25" data-dest-detail='[37,"XYZ",28.346,186.329,null]'>template</a></li><li><a class="l" href="#pf27" data-dest-detail='[39,"XYZ",28.346,228.21,null]'>mutable</a></li><li><a class="l" href="#pf28" data-dest-detail='[40,"XYZ",28.346,228.21,null]'>Capture List and Classes</a></li></ul></li><li><a class="l" href="#pf29" data-dest-detail='[41,"XYZ",28.346,255.118,null]'>Preprocessing</a><ul><li><a class="l" href="#pf2b" data-dest-detail='[43,"XYZ",28.346,228.21,null]'>Preprocessors</a></li><li><a class="l" href="#pf2d" data-dest-detail='[45,"XYZ",28.346,228.21,null]'>Common Errors</a></li><li><a class="l" href="#pf39" data-dest-detail='[57,"XYZ",28.346,228.21,null]'>Source Location Macros</a></li><li><a class="l" href="#pf3c" data-dest-detail='[60,"XYZ",28.346,228.21,null]'>Condition Compiling Macros</a></li><li><a class="l" href="#pf41" data-dest-detail='[65,"XYZ",28.346,228.21,null]'>Stringizing Operator #</a></li><li><a class="l" href="#pf43" data-dest-detail='[67,"XYZ",28.346,185.273,null]'>#error and #warning</a></li><li><a class="l" href="#pf44" data-dest-detail='[68,"XYZ",28.346,227.296,null]'>#pragma</a></li><li><a class="l" href="#pf45" data-dest-detail='[69,"XYZ",28.346,228.21,null]'>Token-Pasting Operator ## </a></li><li><a class="l" href="#pf46" data-dest-detail='[70,"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">8.<span class="_ _2"> </span>Basic<span class="_ _3"> </span>Concepts<span class="_ _3"> </span>VI</div><div class="t m0 x3 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 x4 h6 y6 ff4 fs4 fc0 sc0 ls0 ws0">2026-01-06</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf2" class="pf w0 h0" data-page-no="2"><div class="pc pc2 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>able<span class="_ _8"> </span>of<span class="_ _8"> </span>Contents</div><div class="t m0 x6 h8 y8 ff1 fs4 fc2 sc0 ls0 ws0">1<span class="_ _9"> </span><span class="fs2 fc0">F<span class="_ _5"></span>unctions</span></div><div class="t m0 x7 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 x7 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 x7 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 x7 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 x7 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 x7 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 x8 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">1/66</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 x5 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 x6 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 x7 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 x7 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 x8 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">2/66</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 x5 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 x6 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 x7 h6 y14 ff4 fs4 fc0 sc0 ls0 ws0">Capture<span class="_ _a"> </span>List</div><div class="t m0 x7 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 x7 h6 y16 ff4 fs4 fc0 sc0 ls0 ws0">P<span class="_ _5"></span>arameter<span class="_ _d"> </span>Notes</div><div class="t m0 x7 h6 y17 ff4 fs4 fc0 sc0 ls0 ws0">Comp<span class="_ _c"></span>osabilit<span class="_ _5"></span>y</div><div class="t m0 x7 h6 y18 ff4 fs4 fc0 sc0 ls0 ws0">Recursion</div><div class="t m0 x7 h6 y19 ff5 fs4 fc0 sc0 ls0 ws0">constexpr<span class="ff4">/</span>consteval</div><div class="t m0 x7 ha y1a ff5 fs4 fc0 sc0 ls0 ws0">template</div><div class="t m0 x7 ha y1b ff5 fs4 fc0 sc0 ls0 ws0">mutable</div><div class="t m0 x7 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 x8 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">3/66</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="#pf1b" data-dest-detail='[27,"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="#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:156.818000px;width:177.570000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf20" data-dest-detail='[32,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:139.553000px;width:71.758000px;height:8.911000px;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:118.413000px;width:60.468000px;height:10.848000px;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:101.147000px;width:42.161000px;height:8.911000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf24" data-dest-detail='[36,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:79.453000px;width:101.120000px;height:11.821000px;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:60.584000px;width:43.835000px;height:10.123000px;background-color:rgba(255,255,255,0.000001);"></div></a><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: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="#pf28" data-dest-detail='[40,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom: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 x5 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 x6 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 x7 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 x7 h6 y15 ff4 fs4 fc0 sc0 ls0 ws0">Common<span class="_ _d"> </span>Errors</div><div class="t m0 x7 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 x7 h6 y17 ff4 fs4 fc0 sc0 ls0 ws0">Condition<span class="_ _d"> </span>Compiling<span class="_ _a"> </span>Macros</div><div class="t m0 x7 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 x7 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 x7 ha y1a ff5 fs4 fc0 sc0 ls0 ws0">#pragma</div><div class="t m0 x7 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="_ _a"> </span><span class="ff5">##</span></div><div class="t m0 x9 hb y1d ff7 fs6 fc0 sc0 ls0 ws0"></div><div class="t m0 x7 h6 y1c ff4 fs4 fc0 sc0 ls0 ws0">V<span class="_ _5"></span>ariadic<span class="_ _d"> </span>Macro</div><div class="t m0 xa hb y1e ff7 fs6 fc0 sc0 ls0 ws0"></div><div class="t m0 x8 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">4/66</div><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: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="#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:176.021000px;width:58.143000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf2d" data-dest-detail='[45,"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="#pf39" data-dest-detail='[57,"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="#pf3c" data-dest-detail='[60,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:118.413000px;width:120.576000px;height:10.848000px;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:99.210000px;width:95.342000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf43" data-dest-detail='[67,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:79.786000px;width:96.941000px;height:11.069000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf44" data-dest-detail='[68,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:60.584000px;width:38.605000px;height:10.123000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf45" data-dest-detail='[69,"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="#pf46" data-dest-detail='[70,"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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIXUlEQVR42u3ZwQnCQBCG0V1x8GgNgiWkA0ltacIOPeXoXDYtBIJkhPcKmMN/+mB6ZjYAACgjIi5WAACgGpEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBINQEAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAP7M1QSca10evzj7md+2BTjiOb2MwIl6ZloBAIA6IsK7HwCAckQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAi1QQAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgDAHr3fb2P9tjbGsAYAACVsBWET9dPw7ggAAAAASUVORK5CYII="/><div class="t m0 xb 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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIfUlEQVR42u3ZoQ3CQBiG4R7pBckMBIVGEIKGEBZjCXZBgGADDBugaiCcORwe95c+zwTtdxVvrmm2XDcAABDG/XoZWQEAgGhEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAX6mUYgUAAOLIObtJBQAgHJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBINQEAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAA8Iu2Lw/6fL0W2/1ATuV2Pvk0AYAhS6UUKwAAEEfO2e9+AADCEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUEwAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAGBg2u4w/af3eWyODhUAoNfmq11Kk3Ht3k1TazUIAAAhfACY8x0CsVDkXQAAAABJRU5ErkJggg=="/><div class="t m0 x5 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 xc 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 x7 h7 y24 ff8 fs3 fc0 sc0 ls0 ws0">bugs</div><div class="t m0 xc 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 xc 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 x8 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">5/66</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 x5 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 xd 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 xd 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="_ _f"> </span>the<span class="_ _f"> </span>metho<span class="_ _c"></span>d<span class="_ _a"> </span>signature</span></span></div><div class="t m0 xd 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 xd 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 xd hc y2b ff4 fs7 fc0 sc0 ls0 ws0">function</div><div class="t m0 x1 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 xe 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 x1 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 x8 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">6/66</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIuUlEQVR42u3cMUoEMRSA4YlMsAqeQaz2AoqIhcWCWHgtL+EpLGwttBAvYLM3sFpSbZqxs7QYGXnZ/b4TvHlpfjKQdHZxNQAAQBib97cjWwAAIBqRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgDAj9RaswUAAOLIObtJBQAgHJEKAIBIBQAAkQoAQHfGjmZdXd84MACAeT5fXzqa1k0qAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBANhvqbXWy6y1VgcGADBPKaWXUXPOblIBAAhHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAoYxW8Efnd/fxh/x4fjrMD196CQDAQlJrrZdZa60ODABgnlJKL6PmnP3uBwAgHJEKAIBIBQAAkQoAgEgFAACRCgCASAUAgKX19E4qAACHwDupAABEJFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpVgAAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAA7KNx+3BqC7/4Wj9aAgDAf1pd3qZ0cjxtd8MwTZOFAAAQwjcQ8Cv8NLkyOwAAAABJRU5ErkJggg=="/><div class="t m0 x5 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 xd hc y2f ff1 fs7 fc1 sc0 ls0 ws0">Call-b<span class="_ _5"></span>y-value</div><div class="t m0 xd 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 xf 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 xf 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="_ _a"> </span>la<span class="_ _5"></span>rge<span class="_ _d"> </span>(e.g.<span class="_ _10"> </span>a<span class="_ _d"> </span>structure<span class="_ _a"> </span>with<span class="_ _a"> </span>several<span class="_ _a"> </span>data</span></div><div class="t m0 x7 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 xf 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 xf 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 xf 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 x8 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">7/66</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAI10lEQVR42u3aoU0EQRSA4RuyL6gJNRAUDUAIQSBICIK2aIIqEFgECEIDGDpAXUYxZnFIQu4Qb/a+r4K3b8yf2SlHp+crAABI4+P1Zc8WAADIRqQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAPCj9N5tAQCAPCLCTSoAAOmIVAAARCoAAIhUAACGMw006/HFpQMDANjM+/PTQNO6SQUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAy1Z676PM2lpzYAAAm6m1jjJqRLhJBQAgHZEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAO2aygi2d3Nwu40PeHh+cJgCQROm9jzJra82BAQBsptY6yqgR4Xc/AADpiFQAANLxJhXGNtaraE+fAfgjb1IBAHaCN6kAALAVkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAACxK6b3bAgAAeUSEm1QAANIRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQrAABApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAACQ0WQEL01qzhF/UWi0BgPzcpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAMCOKb13WwAAII+IcJMKAEA6IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAWU3ru0Nb+BefV/eWAACwveOz61IO9uf112o1z7OFAACQwjdgzjf4fm36SAAAAABJRU5ErkJggg=="/><div class="t m0 x5 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 xd 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 xd 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>arguments<span class="_ _a"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>metho<span class="_ _c"></span>d</div><div class="t m0 x6 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 xf 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 xf 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="_ _a"> </span>is<span class="_ _d"> </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 xf 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="_ _a"> </span>ma<span class="_ _5"></span>y<span class="_ _a"> </span>be<span class="_ _a"> </span>a<span class="_ _a"> </span>null<span class="_ _a"> </span>p<span class="_ _c"></span>ointer</span></div><div class="t m0 xf 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 xf 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 xf 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 x8 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">8/66</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIy0lEQVR42u3ZoU1EQRSG0R3yblATaiCobQBCCAJBQhC0RRNUgcAiQBAawNABajOKax6OYNYsgczsnlPBvH/Ml3nl6ORsAQAA3Xh/ed6zAgAAvRGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAB8K5lpBQAA+hERXlIBAOiOSAUAQKQCAIBIBQBgONNAZ12eX7gwAIDNvD09DnRaL6kAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAYLuVzBzlrK01FwYAsJla6yhHjQgvqQAAdEekAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAwI6ZTPBLx9c3u/bJrw/37h0A+FMlM0c5a2vNhQEAbKbWOspRI8LvfgAAuiNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAH4omWkFAAD6ERFeUgEA6I5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApJoAAACRCgAAIhUAAJEKAAAiFQAAkQoAAH9sMgHQodaaEdaptRoB2HpeUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAGDHlMy0AgAA/YgIL6kAAHRHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFJNAACASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAbJNpdXtohX/2cXlnBACAdZanV6Uc7M+rz8VinmeDAADQhS+nAC76V7WNoAAAAABJRU5ErkJggg=="/><div class="t m0 x5 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 xd hc y2f ff1 fs7 fc1 sc0 ls0 ws0">Call-b<span class="_ _5"></span>y-reference</div><div class="t m0 xd 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>arguments<span class="_ _a"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>metho<span class="_ _c"></span>d</div><div class="t m0 x6 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 xf 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 x7 h6 y49 ff4 fs4 fc0 sc0 ls0 ws0">p<span class="_ _c"></span>ointers)</div><div class="t m0 xf 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="_ _a"> </span>is<span class="_ _d"> </span>not<span class="_ _a"> </span>copied<span class="_ _a"> </span>(fast)</span></div><div class="t m0 xf 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 xf 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 xf 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 xf 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 x7 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 x8 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">9/66</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pfc" class="pf w0 h0" data-page-no="c"><div class="pc pcc w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Examples</div><div class="t m0 x1 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 x1 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 x1 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 x1 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 x1 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 x1 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 x1 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 x1 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 x1 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 x1 hf y5b ffc fs8 fc6 sc0 ls0 ws0">//--------------------------------------------------------------</div><div class="t m0 x1 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 x1 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 x1 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 x1 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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">10/66</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pfd" class="pf w0 h0" data-page-no="d"><div class="pc pcd w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">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 xd hc y60 ff1 fs7 fc1 sc0 ls0 ws0">Signature</div><div class="t m0 xd 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 xd 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 xd 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 xd 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 xc 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="_ _f"> </span>only<span class="_ _f"> </span>differs<span class="_ _f"> </span>in<span class="_ _a"> </span>the<span class="_ _f"> </span>return</span></div><div class="t m0 x7 hc y66 ff4 fs7 fc0 sc0 ls0 ws0">t<span class="_ _5"></span>yp<span class="_ _c"></span>e</div><div class="t m0 xc 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="_ _f"> </span>distinct<span class="_ _f"> </span>return<span class="_ _a"> </span>types</span></div><div class="t m0 xd hc y68 ff1 fs7 fc1 sc0 ls0 ws0">Overloading</div><div class="t m0 xd 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 xd hc y6a ff4 fs7 fc0 sc0 ls0 ws0">different<span class="_ _f"> </span><span class="ff11">signatures</span></div><div class="t m0 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">11/66</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pfe" class="pf w0 h0" data-page-no="e"><div class="pc pce w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 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 x1 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 x1 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 x11 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 x1 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 x11 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 x1 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 x1 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 x11 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 xc 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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">12/66</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.227000px;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 x5 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 xc 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 xc 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 xc 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="_ _12"> </span></span>and<span class="_ _1e"> </span><span class="ffe">int<span class="_ _1d"> </span></span>)</span></div><div class="t m0 xc 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 x1 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 x1 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 x1 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 x1 hf y7d ffc fs8 fc6 sc0 ls0 ws0">//--------------------------------------------------------------</div><div class="t m0 x12 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 x12 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 x1 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 x12 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 x1 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 x12 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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">13/66</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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIsklEQVR42u3ZsU1DMRSG0Wf0LCqLGRAVEyBEjUTJLhmCKhswBENQMAQbUEW3ws1LgygoKJ4iuE7OmcD63Xyyy9XN3QQAAGm8v72eWQEAgGxEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAA30rv3QoAAORRa/WSCgBAOiIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAATsw80FkjwoX90FozAgBwfLykAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAID/VXrvVgAAII9aq5dUAADSEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEA4HfzQGeNCBcGALBOa22g03pJBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApJoAAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBAMhsNgEH9LjdGuGPvWw2RgDg+JTe+yhnjQgXBgCwTmttlKPWWn33AwCQjkgFACCdkb77AQA4Bb77AQDISKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgDAl3n3dGkFVvu4fzYCAHBY17cPpVycL7vPaVqWxSAAAKSwB34YKP6zELbVAAAAAElFTkSuQmCC"/><div class="t m0 x5 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 xd 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 x1 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 x1 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 x1 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 x1 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 x1 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 x1 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 x1 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 x1 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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">14/66</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIxklEQVR42u3ZsU1DMRCA4Wf0LCorA1BSZQKEEAUFEj2jZAImyAIMwQYUULABDRukQq44KXl0VBTRK4hNvm+C07n5dU7nF1cDAAA04+Pt9cQWAABojUgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAOBHighbAACgHTlnl1QAAJojUgEAEKkAACBSAQDoztjRrMvrGw8GADDP+8tzR9O6pAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQCA/y1FRC+z1lo9GADAPKWUXkbNObukAgDQHJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAjluKCFsAAKAdOWeXVAAAmiNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqVYAAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgBAL8aOZq21ejAAgHlKKR1N65IKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAIBDGa0AOCrb3e5+vbaHPT2tVpYAHESKiF5mrbV6MACAeUopvYyac/bdDwBAc0QqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAOA3afNwZgv8gc3toyUAAPtYXt6ltDidPr+GYZomCwEAoAnfHY8u6TC5TQ8AAAAASUVORK5CYII="/><div class="t m0 x5 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 xd hc y2f ff1 fs7 fc1 sc0 ls0 ws0">Default/Optional<span class="_ _6"> </span>parameter</div><div class="t m0 xd 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 xf 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 xf 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 xf 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="_ _a"> </span>must<span class="_ _d"> </span>b<span class="_ _c"></span>e<span class="_ _a"> </span>decla<span class="_ _5"></span>red<span class="_ _a"> </span>only<span class="_ _d"> </span>once</span></div><div class="t m0 xf 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="_ _a"> </span>can<span class="_ _d"> </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 x7 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 x1 hf y92 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 class="fc5">=<span class="_ _10"> </span>20</span>);<span class="_ _23"> </span><span class="ffc fc6">//<span class="_ _10"> </span>declaration</span></span></div><div class="t m0 x1 hd y93 ffc fs8 fc6 sc0 ls0 ws0">//void<span class="_ _10"> </span>f(int<span class="_ _10"> </span>a,<span class="_ _10"> </span>int<span class="_ _10"> </span>b<span class="_ _10"> </span>=<span class="_ _10"> </span>10)<span class="_ _10"> </span>{<span class="_ _10"> </span>...<span class="_ _10"> </span>}<span class="_ _10"> </span>//<span class="_ _10"> </span><span class="ffd">compile<span class="_ _1d"> </span>error</span>,<span class="_ _10"> </span>already<span class="_ _10"> </span>set<span class="_ _10"> </span>in<span class="_ _10"> </span>the<span class="_ _10"> </span>declaration</div><div class="t m0 x1 hf y94 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 class="_ _10"> </span>...<span class="_ _10"> </span>}<span class="_ _14"> </span><span class="ffc fc6">//<span class="_ _10"> </span>definition,<span class="_ _10"> </span>default<span class="_ _10"> </span>value<span class="_ _10"> </span>of<span class="_ _10"> </span>&quot;b&quot;<span class="_ _10"> </span>is<span class="_ _10"> </span>already<span class="_ _10"> </span>set</span></span></div><div class="t m0 x1 hf y95 ffb fs8 fc0 sc0 ls0 ws0">f(<span class="fc5">5</span>);<span class="_ _16"> </span><span class="ffc fc6">//<span class="_ _10"> </span>b<span class="_ _10"> </span>is<span class="_ _10"> </span>20</span></div><div class="t m0 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">15/66</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 xb 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 xb h2 y1f ff1 fs0 fc0 sc0 ls0 ws0">and<span class="_ _1"> </span>F<span class="_ _e"></span>unction</div><div class="t m0 xb 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 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _8"> </span>P<span class="_ _5"></span>ointer<span class="_ _8"> </span>-<span class="_ _8"> </span>F<span class="_ _5"></span>unction<span class="_ _8"> </span>as<span class="_ _8"> </span>Argument<span class="_ _24"> </span>1/2</div><div class="t m0 x1 hc 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="_ _f"> </span>generic<span class="_ _a"> </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 h11 y9b ff11 fs7 fc0 sc0 ls0 ws0">call”</div><div class="t m0 x1 hf y9c ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>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 x1 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 x13 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 x1 hf y9f ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 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 x1 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 x1 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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">16/66</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf14" class="pf w0 h0" data-page-no="14"><div class="pc pc14 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _8"> </span>P<span class="_ _5"></span>ointer<span class="_ _8"> </span>-<span class="_ _8"> </span>F<span class="_ _5"></span>unction<span class="_ _8"> </span>as<span class="_ _8"> </span>Argument<span class="_ _24"> </span>2/2</div><div class="t m0 x1 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 x13 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 x1 hf ya5 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 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 x1 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 x1 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 x1 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 x1 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="_ _f"> </span>of<span class="_ _a"> </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="_ _d"> </span></span>)</span></div><div class="t m0 x5 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 x14 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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">17/66</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIo0lEQVR42u3YsUlEQRCA4Vt5g9FiDWJ0FYiIgYFgZzZhLwYa2IGJHRgdGznJMzMxe6DMnt9XwTCT/Ey7uLzeAQBAGe+vLye2AABANSIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAIBvLTNtAQCAOiLCJxUAgHJEKgAAIhUAAEQqAADTWSaadX9z62AAANu8PT9NNK1PKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQA4bi0zZ5l1jOFgAADb9N5nGTUifFIBAChHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAA8GdaZtoCAAB1RIRPKgAA5YhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAAPA7lolmHWM4GADANr33iab1SQUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKRaAQAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAgB9aZtoCAAB1RIRPKgAA5YhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAD+neXwcG4LHLePu0dLAICJ7K/uWzs7XQ+fu926rhYCAEAJX13wJfySvMJjAAAAAElFTkSuQmCC"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _8"> </span>Object<span class="_ _8"> </span>(o<span class="_ _5"></span>r<span class="_ _8"> </span>F<span class="_ _5"></span>uncto<span class="_ _5"></span>r)<span class="_ _25"> </span>1/2</div><div class="t m0 xd hc y2f ff1 fs7 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _6"> </span>Object</div><div class="t m0 xd 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="_ _f"> </span>treated<span class="_ _a"> </span>as<span class="_ _f"> </span>a</div><div class="t m0 xd 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="_ _f"> </span>mo<span class="_ _5"></span>re<span class="_ _f"> </span>efficient<span class="_ _f"> </span>and<span class="_ _a"> </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="_ _10"> </span></span>to<span class="_ _a"> </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 x1 hf yb1 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 x1 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 x13 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 x15 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 x13 hf yb5 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 hf yb6 ffb fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 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 x1 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 x1 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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">18/66</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 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _8"> </span>Object<span class="_ _8"> </span>(o<span class="_ _5"></span>r<span class="_ _8"> </span>F<span class="_ _5"></span>uncto<span class="_ _5"></span>r)<span class="_ _25"> </span>2/2</div><div class="t m0 x1 hc 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 x5 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="_ _a"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>destination<span class="_ _f"> </span>function</span></div><div class="t m0 x14 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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">19/66</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 xb 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 x5 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 xd hc y2f ff1 fs7 fc1 sc0 ls0 ws0">Lamb<span class="_ _c"></span>da<span class="_ _f"> </span>Expression</div><div class="t m0 xd hc y3b 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 xd he yc0 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 x1 hc yc1 ff11 fs7 fc0 sc0 ls0 ws0">The<span class="_ _f"> </span>exp<span class="_ _5"></span>ression<span class="_ _f"> </span>to<span class="_ _f"> </span>the<span class="_ _a"> </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></div><div class="t m0 x1 hc yc2 ff11 fs7 fc0 sc0 ls0 ws0">The<span class="_ _f"> </span>runtime<span class="_ _a"> </span>object<span class="_ _3"> </span><span class="ff5">x<span class="_ _12"> </span><span class="ff4">created<span class="_ _a"> </span>by<span class="_ _a"> </span>that<span class="_ _f"> </span>expression<span class="_ _a"> </span>is<span class="_ _f"> </span>the<span class="_ _f"> </span><span class="ff1">closure</span></span></span></div><div class="t m0 x1 hf yc3 ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">descending<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 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></div><div class="t m0 x1 hf yc4 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>equivalent<span class="_ _10"> </span>to<span class="_ _10"> </span>(simplified)</div><div class="t m0 x1 hf yc5 ff5 fs8 fc8 sc0 ls0 ws0">struct<span class="_ _10"> </span><span class="fc4">Descending<span class="_ _10"> </span><span class="ffb fc0">{</span></span></div><div class="t m0 x13 hf yc6 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="_ _10"> </span></span><span class="fc8">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></span></div><div class="t m0 x1 hf yc7 ffb fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 hf yc8 ffb fs8 fc0 sc0 ls0 ws0">Descending<span class="_ _10"> </span>descending;</div><div class="t m0 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">20/66</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf19" class="pf w0 h0" data-page-no="19"><div class="pc pc19 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Lamb<span class="_ _c"></span>da<span class="_ _8"> </span>Exp<span class="_ _5"></span>ression</div><div class="t m0 xd he y98 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>-&gt;<span class="_ _13"> </span>&lt;type&gt;<span class="_ _13"> </span>{<span class="_ _13"> </span>body<span class="_ _13"> </span>}</span></div><div class="t m0 x16 hc yc9 ff5 fs7 fc0 sc0 ls0 ws0">[capture<span class="_ _13"> </span>clause]<span class="_ _26"> </span><span class="ff4">defines<span class="_ _f"> </span>ho<span class="_ _5"></span>w<span class="_ _f"> </span>the<span class="_ _f"> </span>lo<span class="_ _c"></span>cal<span class="_ _a"> </span>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>(by-value,</span></div><div class="t m0 x3 hc yca ff4 fs7 fc0 sc0 ls0 ws0">b<span class="_ _5"></span>y-reference,<span class="_ _f"> </span>etc.)</div><div class="t m0 x17 hc ycb ff5 fs7 fc0 sc0 ls0 ws0">parameters<span class="_ _26"> </span><span class="ff4">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 class="_ _f"> </span><span class="fcb">C++23</span>*)</span></div><div class="t m0 x18 hc ycc ff5 fs7 fc0 sc0 ls0 ws0">body<span class="_ _26"> </span><span class="ff4">is<span class="_ _f"> </span>a<span class="_ _a"> </span>normal<span class="_ _a"> </span>function<span class="_ _f"> </span>b<span class="_ _c"></span>o<span class="_ _c"></span>dy<span class="_ _a"> </span>(<span class="ff11">function<span class="_ _f"> </span>call<span class="_ _f"> </span>op<span class="_ _c"></span>erato<span class="_ _5"></span>r<span class="_ _27"></span><span class="ff4">)</span></span></span></div><div class="t m0 x19 hc ycd ff5 fs7 fc0 sc0 ls0 ws0">-&gt;<span class="_ _13"> </span>&lt;type&gt;<span class="_ _26"> </span><span class="ff4">trailing<span class="_ _f"> </span>return<span class="_ _a"> </span>type<span class="_ _f"> </span>(optional)</span></div><div class="t m0 x1 hc yce ff4 fs7 fc0 sc0 ls0 ws0">A<span class="_ _5"></span>dditionally<span class="_ _7"></span>,<span class="_ _f"> </span><span class="ff11">lamb<span class="_ _c"></span>da<span class="_ _f"> </span>expr<span class="_ _5"></span>essions<span class="_ _8"> </span><span class="ff4">supp<span class="_ _c"></span>o<span class="_ _5"></span>rt<span class="_ _f"> </span><span class="ff11">template<span class="_ _f"> </span>and<span class="_ _f"> </span>concepts<span class="_ _8"> </span></span>in<span class="_ _f"> </span><span class="fcb">C++20<span class="_ _f"> </span></span>and</span></span></div><div class="t m0 x1 hc ycf ff11 fs7 fc0 sc0 ls0 ws0">function<span class="_ _f"> </span>attributes<span class="_ _8"> </span><span class="ff4">in<span class="_ _f"> </span><span class="fcb">C++23</span></span></div><div class="t m0 xc h10 yd0 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>lambda<span class="_ _d"> </span>expressions<span class="_ _1d"> </span>without<span class="_ _d"> </span>parameters<span class="_ _1d"> </span>in<span class="_ _d"> </span>previous<span class="_ _1d"> </span>C++<span class="_ _d"> </span>standards</span></div><div class="t m0 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">21/66</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 x5 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 x1 hf yd1 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 x1 hf yd2 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 x1 hf yd3 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="ff15">named<span class="_ _10"> </span></span>lambda</span></span></div><div class="t m0 x1 hf yd4 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 x1 hf yd5 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 x1 hf yd6 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="_ _23"> </span>//<span class="_ _10"> </span><span class="ff15">unnamed<span class="_ _10"> </span></span>lambda</div><div class="t m0 x1 hf yd7 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 x1 hf yd8 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 x1 hf yd9 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="_ _20"> </span><span class="ffc fc6">//<span class="_ _10"> </span><span class="ff15">no<span class="_ _10"> </span>parameters</span>,<span class="_ _10"> </span>C++23</span></span></span></div><div class="t m0 x1 hf yda 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="_ _10"> </span></span>static<span class="_ _10"> </span><span class="ffb fc0">{<span class="_ _10"> </span></span>return<span class="_ _10"> </span><span class="ffb fc5">3<span class="fc0">;<span class="_ _10"> </span>};<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span><span class="ff15">static<span class="_ _10"> </span>function<span class="_ _10"> </span>call<span class="_ _10"> </span>operator</span>,<span class="_ _10"> </span>C++23</span></span></span></div><div class="t m0 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">22/66</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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAJVklEQVR42u3aMW5TURCGUT90r6hGWQOi8goQQilSILEzNsFeUoSCHaRhB1TRVNzGdBREkZ8JxPOuz+mtOP9z8Wns5e27DzsAACjj+7evr6wAAEA1IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAgN+WMYYVAACoo/fukgoAQDkiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkWoCAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAANNqJlgvM1/mD0WEtQGAS+aSCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAAtm0ZY1gBAIA6eu8uqQAAlCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgBQXTPBeplZ581EhCcCAMzKJRUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAuTDMBE9hf3zzn5fd3tzYEgFKWMYYVVsrMOm8mIjwRAGBKvXdf9wMAUI5IBQBApAIAwDF+kwoAQC1+kwoAQEUiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAE7UTLBeZtZ5MxHhiQAAs3JJBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAA/1czARPYX9885+X3d7c2BIBSljGGFVbKzDpvJiI8EQBgSr13X/cDAFCOSAUAQKQCAMAxfpMKAEAtfpMKAEBFIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABO1EywXmZe2r8cEZ47APDyXFIBACjHJRU2ZlsXfcd4AP6OSyoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAOK9mAtiWiDACANNzSQUAoJxljGEFAADq6L27pAIAUI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgBAdc0E62WmEf4QEUYAAP45l1QAAMpxSYUJbevq7x4PwGMuqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQDgvJoJYD4RYQQANs0lFQCAcpYxhhUAAKij9+6SCgBAOSIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAADVNROsl5lGmFtEGAEAKnBJBQCgHJdU4Enb+vbAIdxnxmcGZuKSCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAADOq5kAeEpEGAGfGeAsXFIBABCpAABwzDLGsAIAAHX03l1SAQAoR6QCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgDAidrD5zdWgA358fGLEQCY2/79p2W5en14+LnbHQ4HgwAAUMIvXSpWnB59h50AAAAASUVORK5CYII="/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Capture<span class="_ _8"> </span>List</div><div class="t m0 x1 hc ydb 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>wo</div><div class="t m0 x1 hc ydc ff4 fs7 fc0 sc0 ls0 ws0">w<span class="_ _5"></span>a<span class="_ _5"></span>ys:</div><div class="t m0 xc hc ydd 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 xc hc yde 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="_ _f"> </span>external<span class="_ _a"> </span>variable<span class="_ _a"> </span>values)</span></span></span></div><div class="t m0 x1 hc ydf 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 xc hc ye0 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _26"> </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 xc hc ye1 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _26"> </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 xc hc ye2 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _26"> </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 xc hc ye3 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _26"> </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="_ _12"> </span><span class="ff11">by-value</span></span></span></div><div class="t m0 xc hc ye4 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _26"> </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="_ _12"> </span><span class="ff11">by-reference</span></span></span></div><div class="t m0 xc hc ye5 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _26"> </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="_ _12"> </span><span class="ff11">by-value<span class="_ _6"> </span></span></span>and<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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">23/66</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf1c" class="pf w0 h0" data-page-no="1c"><div class="pc pc1c w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Capture<span class="_ _8"> </span>List<span class="_ _8"> </span>Examples</div><div class="t m0 x1 hf ye6 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 x1 hf ye7 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 x1 hf ye8 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 x1 hf ye9 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 x1 hf yea 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 x1 hf yeb 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 x1 hf yec 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 x1 hf yed 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 x1a hd yee 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 x1 hf yef 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 x1 hf yf0 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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">24/66</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf1d" class="pf w0 h0" data-page-no="1d"><div class="pc pc1d w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 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 xf h6 yf1 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _26"> </span><span class="ff5">[=,<span class="_ _b"> </span>&amp;var1]<span class="_ _22"> </span><span class="ff4">captures<span class="_ _a"> </span>all<span class="_ _a"> </span>va<span class="_ _5"></span>riables<span class="_ _a"> </span>used<span class="_ _d"> </span>in<span class="_ _a"> </span>the<span class="_ _a"> </span>b<span class="_ _c"></span>ody<span class="_ _a"> </span>of<span class="_ _a"> </span>the<span class="_ _a"> </span>lamb<span class="_ _c"></span>da<span class="_ _d"> </span><span class="ff1">by-value</span>,<span class="_ _d"> </span>except</span></span></div><div class="t m0 x17 h6 yf2 ffe fs4 fc0 sc0 ls0 ws0">var1<span class="_ _22"> </span><span class="ff4">that<span class="_ _a"> </span>is<span class="_ _d"> </span>captured<span class="_ _a"> </span><span class="ff1">by-reference</span></span></div><div class="t m0 xf h6 yf3 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _26"> </span><span class="ff5">[&amp;,<span class="_ _b"> </span>var1]<span class="_ _22"> </span><span class="ff4">captures<span class="_ _a"> </span>all<span class="_ _a"> </span>va<span class="_ _5"></span>riables<span class="_ _a"> </span>used<span class="_ _d"> </span>in<span class="_ _a"> </span>the<span class="_ _a"> </span>b<span class="_ _c"></span>ody<span class="_ _a"> </span>of<span class="_ _a"> </span>the<span class="_ _a"> </span>lamb<span class="_ _c"></span>da<span class="_ _d"> </span><span class="ff1">by-reference</span>,<span class="_ _d"> </span>except</span></span></div><div class="t m0 x17 h6 yf4 ffe fs4 fc0 sc0 ls0 ws0">var1<span class="_ _22"> </span><span class="ff4">that<span class="_ _a"> </span>is<span class="_ _d"> </span>captured<span class="_ _a"> </span><span class="ff1">by-value</span></span></div><div class="t m0 xf h6 yf5 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _26"> </span><span class="ff5">[new_var<span class="_ _b"> </span>=<span class="_ _b"> </span>var1]<span class="_ _d"> </span><span class="ff4">,<span class="_ _22"> </span></span>[&amp;new_var<span class="_ _b"> </span>=<span class="_ _4"> </span>var1]<span class="_ _22"> </span><span class="ff4">intro<span class="_ _c"></span>duce<span class="_ _d"> </span>a<span class="_ _a"> </span>new<span class="_ _a"> </span>value<span class="_ _d"> </span>or<span class="_ _d"> </span>reference</span></span></div><div class="t m0 x17 h6 yf6 ffe fs4 fc0 sc0 ls0 ws0">new_var<span class="_ _22"> </span><span class="ff4">initialized<span class="_ _a"> </span>b<span class="_ _5"></span>y<span class="_ _22"> </span><span class="ffe">var1<span class="_ _22"> </span></span><span class="fcb">C++14</span></span></div><div class="t m0 xf h6 yf7 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">A<span class="_ _1d"> </span>lamb<span class="_ _c"></span>da<span class="_ _1d"> </span>expression<span class="_ _1d"> </span>can<span class="_ _1d"> </span>read<span class="_ _1d"> </span>a<span class="_ _d"> </span>variable<span class="_ _1d"> </span>without<span class="_ _1d"> </span>capturing<span class="_ _1d"> </span>it<span class="_ _d"> </span>if<span class="_ _1d"> </span>the<span class="_ _1d"> </span>variable<span class="_ _1d"> </span>is<span class="_ _1c"> </span><span class="ffe">constexpr</span></span></div><div class="t m0 x1 hf yf8 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 x1 hf yf9 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 x1 hf yfa 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 x1 hf yfb 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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">25/66</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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIjklEQVR42u3YMUpDQRSG0TfyLlaDawhWrkAkteDO3ITLSZFFZAdWYSpv8+ysQ8BwJ5yzguGf5uO259f9AgAAZZyOhwcrAABQjUgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAOBPy0wrAABQR0S4pAIAUI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAADwf9aJ3jrG8GEAANfpvU/0WpdUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAC4UMtMKwAAUEdEuKQCAFCOSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQC4I+tEbx1j+DAAgOv03id6rUsqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAi1QQAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAANxKy0wrAABQR0S4pAIAUI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAwr/X8ubMCcInv9y8jAHADL28frT09buefZdm2zSAAAJTwC8dMIAAgdt9pAAAAAElFTkSuQmCC"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Lamb<span class="_ _c"></span>da<span class="_ _8"> </span>Behind<span class="_ _8"> </span>the<span class="_ _8"> </span>Ho<span class="_ _c"></span>od</div><div class="t m0 x1 hc ydb ff4 fs7 fc0 sc0 ls0 ws0">The<span class="_ _f"> </span>follo<span class="_ _5"></span>wing<span class="_ _f"> </span>co<span class="_ _c"></span>de</div><div class="t m0 x1 hf yfc ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _1f"> </span><span class="ffb fc0">a;</span></div><div class="t m0 x1 hf yfd ff5 fs8 fc3 sc0 ls0 ws0">float<span class="_ _10"> </span><span class="ffb fc0">b;</span></div><div class="t m0 x1 hf yfe ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _16"> </span><span class="ffb fc0">lambda<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>[a,<span class="_ _10"> </span><span class="fc5">&amp;</span>b](</span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc0">v)<span class="_ _10"> </span>{</span></span>return<span class="_ _10"> </span><span class="ffb fc5">4<span class="fc0">;};</span></span></div><div class="t m0 x1 hc yff ff4 fs7 fc0 sc0 ls0 ws0">is<span class="_ _f"> </span>roughly<span class="_ _a"> </span>equivalent<span class="_ _f"> </span>to</div><div class="t m0 x1 hf y100 ff5 fs8 fc8 sc0 ls0 ws0">struct<span class="_ _10"> </span><span class="ffc fc6">/*unnamed*/<span class="_ _22"> </span><span class="ffb fc0">{</span></span></div><div class="t m0 x12 hf y101 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _18"> </span><span class="ffb fc0">a;<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>private</span></span></div><div class="t m0 x12 hf y102 ff5 fs8 fc3 sc0 ls0 ws0">float<span class="ffb fc5">&amp;<span class="_ _10"> </span><span class="fc0">b;<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>private</span></span></span></div><div class="t m0 x12 hf y103 ff5 fs8 fc8 sc0 ls0 ws0">inline<span class="_ _10"> </span><span class="ffc fc6">/*constexpr*/<span class="_ _22"> </span></span><span class="fc3">int<span class="_ _10"> </span><span class="ffb fc4">operator<span class="fc0">()(</span></span>int<span class="_ _10"> </span><span class="ffb fc0">v)<span class="_ _10"> </span></span></span>const<span class="_ _10"> </span><span class="ffb fc0">{</span></div><div class="t m0 x1b hf y104 ff5 fs8 fc8 sc0 ls0 ws0">return<span class="_ _10"> </span><span class="ffb fc5">4<span class="fc0">;</span></span></div><div class="t m0 x12 hf y105 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 hf y106 ffb fs8 fc0 sc0 ls0 ws0">}<span class="_ _10"> </span>lambda;</div><div class="t m0 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">26/66</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf1f" class="pf w0 h0" data-page-no="1f"><div class="pc pc1f w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">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 y107 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="_ _f"> </span>(<span class="ff11">stateless<span class="_ _0"></span></span>)<span class="_ _f"> </span>if<span class="_ _f"> </span>its<span class="_ _f"> </span>capture<span class="_ _f"> </span>list<span class="_ _f"> </span>is</div><div class="t m0 x1 hc y108 ff4 fs7 fc0 sc0 ls0 ws0">empt<span class="_ _5"></span>y</div><div class="t m0 x1 hf y109 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span><span class="ff15">lambda_func<span class="_ _10"> </span></span>is<span class="_ _10"> </span>equivalent<span class="_ _10"> </span>to</div><div class="t m0 x1 hf y10a ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>int<span class="_ _10"> </span><span class="ff15">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 x1 hf y10b 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 x13 hf y10c 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 x1 hf y10d ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 hf y10e 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 x1 hf y10f 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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">27/66</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf20" class="pf w0 h0" data-page-no="20"><div class="pc pc20 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">P<span class="_ _5"></span>a<span class="_ _5"></span>rameter<span class="_ _8"> </span>Notes</div><div class="t m0 x1 hc y110 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>parameters<span class="_ _a"> </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 xd he y111 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 y112 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>parameters<span class="_ _a"> </span>can<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _a"> </span>initialized</span></div><div class="t m0 xd he y113 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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">28/66</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 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Comp<span class="_ _c"></span>osabilit<span class="_ _5"></span>y<span class="_ _28"> </span>1/2</div><div class="t m0 x1 hc ydb ff1 fs7 fc0 sc0 ls0 ws0">Lamb<span class="_ _c"></span>da<span class="_ _f"> </span>expressions<span class="_ _6"> </span>can<span class="_ _6"> </span>b<span class="_ _c"></span>e<span class="_ _6"> </span>comp<span class="_ _c"></span>osed</div><div class="t m0 x1 hf y114 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 x1 hf y115 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 x1 hf y116 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 x1 hf y117 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 y118 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 y119 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="_ _f"> </span>empt<span class="_ _5"></span>y)</div><div class="t m0 x1 hf y11a 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 x13 hf y11b 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 x1 hf y11c ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 hf y11d 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 x1 hf y11e 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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">29/66</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf22" class="pf w0 h0" data-page-no="22"><div class="pc pc22 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Comp<span class="_ _c"></span>osabilit<span class="_ _5"></span>y<span class="_ _28"> </span>2/2</div><div class="t m0 x1 hc y11f 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 x1 hf y120 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 x13 hf y121 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 x13 hf y122 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 x13 hf y123 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 x1 hf y124 ffb fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 hf y125 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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">30/66</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf23" class="pf w0 h0" data-page-no="23"><div class="pc pc23 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Recursion</div><div class="t m0 x1c h12 y126 ff14 fs5 fc1 sc0 ls0 ws0"></div><div class="t m0 x1 hc y127 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 x1 hf y128 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 x13 hf y129 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 x1 hf y12a ffb fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 hf y12b ffb fs8 fc0 sc0 ls0 ws0">factorial(<span class="fc5">5</span>,<span class="_ _10"> </span>factorial);</div><div class="t m0 x1 hc y12c 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="_ _f"> </span>access<span class="_ _f"> </span>the<span class="_ _12"> </span><span class="ffe">this<span class="_ _12"> </span></span>p<span class="_ _c"></span>ointer<span class="_ _a"> </span>of<span class="_ _f"> </span>a<span class="_ _f"> </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 xd hc y12d 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>pa<span class="_ _5"></span>rameter</span></div><div class="t m0 x1 hf y12e 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="ff16">&apos;</span>this<span class="_ _10"> </span>auto<span class="ff15">&amp;&amp;<span class="ff16">&apos;</span></span></span></span></span></div><div class="t m0 x13 hf y12f 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 x1 hf y130 ffb fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 hf y131 ffb fs8 fc0 sc0 ls0 ws0">factiorial(<span class="fc5">5</span>);</div><div class="t m0 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">31/66</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf24" class="pf w0 h0" data-page-no="24"><div class="pc pc24 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 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 ydb 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>are<span class="_ _a"> </span>implicitly<span class="_ _12"> </span><span class="ffe">constexpr<span class="_ _12"> </span></span>(if<span class="_ _f"> </span>they<span class="_ _f"> </span>satisfy<span class="_ _f"> </span>the</span></div><div class="t m0 x1 hc ydc ff4 fs7 fc0 sc0 ls0 ws0">requirements<span class="_ _f"> </span>of<span class="_ _a"> </span>a<span class="_ _1e"> </span><span class="ffe">constexpr<span class="_ _12"> </span></span>function).<span class="_ _10"> </span>Lamb<span class="_ _c"></span>da<span class="_ _f"> </span>exp<span class="_ _5"></span>ressions<span class="_ _f"> </span>can<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _a"> </span>also<span class="_ _f"> </span>explicitly</div><div class="t m0 x1 hc y132 ff4 fs7 fc0 sc0 ls0 ws0">ma<span class="_ _5"></span>rk<span class="_ _5"></span>ed<span class="_ _12"> </span><span class="ffe">constexpr</span></div><div class="t m0 x1 hc y133 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 x1 hf y134 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 x13 hf y135 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 x13 hf y136 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 x15 hf y137 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 x13 hf y138 ff5 fs8 fc8 sc0 ls0 ws0">return<span class="_ _10"> </span><span class="ffb fc0">ret;</span></div><div class="t m0 x1 hf y139 ffb fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 hf y13a 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 x1 hf y13b ff5 fs8 fc8 sc0 ls0 ws0">auto<span class="_ _10"> </span><span class="ffb fc0">add<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">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>3</span>;<span class="_ _10"> </span>};</span></div><div class="t m0 x1 hf y13c 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="fc5">+<span class="_ _10"> </span></span>add(<span class="fc5">3</span>);<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span><span class="ff16">&apos;</span>24<span class="ff16">&apos;<span class="_ _10"> </span></span>+<span class="_ _10"> </span><span class="ff16">&apos;</span>10<span class="ff16">&apos;<span class="_ _10"> </span></span>+<span class="_ _10"> </span><span class="ff16">&apos;</span>5<span class="ff16">&apos;</span></span></span></span></div><div class="t m0 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">32/66</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf25" class="pf w0 h0" data-page-no="25"><div class="pc pc25 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 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="_ _29"> </span></span>1/2</span></div><div class="t m0 x1 hc y13d 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="_ _12"> </span></span>clause</span></div><div class="t m0 x1 hf y13e 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 x1d hf y13f 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 x13 hf y140 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 x1 hf y141 ffb fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 hf y142 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 x1 hf y143 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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">33/66</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf26" class="pf w0 h0" data-page-no="26"><div class="pc pc26 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAI2ElEQVR42u3ZsUkEQRiG4R3ZH6PBGsTICkSMBXNLuSIMrwGLsAgDi7ADo2MiB7w1M9NgT45/9HkqGL6B5WW2XFzdTAAAkMbry/OJFQAAyEakAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAADwpfTerQAAQB4R4SUVAIB0RCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAAAkM5uAI2itGWGFWqsRAF97X3uRCgD88TLTQ4zC734AAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQD4Z2YTAMAhaq1GgF/nJRUAAJEKAAAiFQAAkQoAAIcqvXcrAACQR0R4SQUAIB2RCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAABHNg901taaCwMAWKfWOtBpvaQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAA1ii9dysAAJBHRHhJBQAgHZEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUA4O+aBzpra82FAQCsU2sd6LReUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAACYZhMAh/vY7++3Wzvk8bTZGAEYWum9j3LW1poLAwBYp9Y6ylEjwu9+AADSEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQAgt9J7twIAAHlEhJdUAADSEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAPjOvHs4twLAMb3dPhoB4AeX13elnJ0uu/dpWpbFIAAApPAJrME4J9Dw/0MAAAAASUVORK5CYII="/><div class="t m0 x5 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="_ _29"> </span></span>2/2</span></div><div class="t m0 x1 hc y144 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="_ _a"> </span>emulated<span class="_ _f"> </span>with<span class="_ _12"> </span><span class="ffe">auto<span class="_ _1e"> </span></span>+<span class="_ _12"> </span><span class="ffe">decltype</span></div><div class="t m0 x1 hf y145 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 x13 hf y146 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 x1 hf y147 ffb fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 hf y148 ffb fs8 fc0 sc0 ls0 ws0">lambda(<span class="fc5">3.4</span>);</div><div class="t m0 x1 hc y149 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="_ _f"> </span>syntax</div><div class="t m0 x1 hf y14a 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 x13 hf y14b 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 x1 hf y14c ffb fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 hf y14d 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 x1 hf y14e 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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">34/66</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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAInUlEQVR42u3ZsU0DQRCG0Vt0I6IVNSAiKkCIGImQXlyEI3dAERRBQBF0QGRtxCTnzDEyAXP2exWM/ks+7bW7h6cJAADK+Pr8uLICAADViFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAI5aZloBAIA6IsJLKgAA5YhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAIALMK/o1jGGDwYAcJre+4qu9ZIKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBINQEAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCAHBOZhMA1PS62xnh9943GyPAOWmZuZZbxxg+GADAaXrvazk1IvzuBwCgHJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAMCftcy0AgAAdUSEl1QAAMoRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQDgf8377a0VAGr6fn4zAnCB7h9fWru5XvY/07Qsi0EAACjhAFpfIwDO5ss2AAAAAElFTkSuQmCC"/><div class="t m0 x5 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 x1e h12 y126 ff14 fs5 fc1 sc0 ls0 ws0"></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 y14f 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="_ _f"> </span>the<span class="_ _f"> </span>pa<span class="_ _5"></span>rameters<span class="_ _f"> </span>captured<span class="_ _f"> </span><span class="ff11">b<span class="_ _5"></span>y-value</span></span></div><div class="t m0 x1 hf y150 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 x1 hf y151 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 x1 hf y152 ffb fs8 fc0 sc0 ls0 ws0">lambda1();</div><div class="t m0 x1 hf y153 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="ff16">&apos;</span>4<span class="ff16">&apos;</span></span></div><div class="t m0 x1 hd y154 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 x1 hf y155 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 x1 hf y156 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 x1 hf y157 ffb fs8 fc0 sc0 ls0 ws0">lambda3();</div><div class="t m0 x1 hf y158 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="ff16">&apos;</span>4<span class="ff16">&apos;</span>,<span class="_ _10"> </span>lambda3<span class="_ _10"> </span>captures<span class="_ _10"> </span>by-value</span></div><div class="t m0 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">35/66</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf28" class="pf w0 h0" data-page-no="28"><div class="pc pc28 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAJGElEQVR42u3bv20UURDA4Xton4hGrsFyRAUIESORU4qLIHQDLoIiCCiCDoisiRgJHxmBI3PnP7O731eA9Tx7p/tpdndcvf94AACANn7++P7GFAAA6EakAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAADwz6gqUwAAoI85p00qAADtiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAArN1iBMD2ZOae//2I8BkARKqfPT9sAABPzO1+AABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIA0NtiBOsSEYYAvikAm2eTCgBAOzap0EtmNj+hJSUAL8AmFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAHZmMQJoJSIMAQBGVZkCAAB9zDltUv9DZhrCSj1mPen67vwDAEArnkkFAECkAgCASAUAQKQCAMC5vDgFADyvnb+Z6t3N09ikAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQCA57UYweNFhCG4vgDACxhVZQoAAPQx53S7HwCAdkQqAADteCaV15GZ5/8RT5ECwFbZpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAIDzjKoyBQAA+phz2qQCANCOSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAQHfLis6amS4YAMBpImJFp7VJBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApBoBAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAA2ajECAF7Xn/v7Lzc35vDAt+trQ2DPRlWt5ayZ6YIBAJwmItZy1Dmn2/0AALQjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAOzXqCpTAACgjzmnTSoAAO2IVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCwbcvd10tTAFi7X59uDQHYjHcfPo9x8fZ49/twOB6PBgIAQAt/AZGlRMkqCsjLAAAAAElFTkSuQmCC"/><div class="t m0 x5 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 xf h6 yf1 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _26"> </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="_ _12"> </span><span class="ff11">b<span class="_ _5"></span>y-reference<span class="_ _f"> </span><span class="ff4">(implicit<span class="_ _a"> </span>in<span class="_ _a"> </span><span class="fcb">C++17</span>)</span></span></span></span></span></div><div class="t m0 xf h6 yf2 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _26"> </span><span class="ff5">[=]<span class="_ _22"> </span><span class="ff4">default<span class="_ _a"> </span>capture<span class="_ _d"> </span>of<span class="_ _12"> </span><span class="ffe">this<span class="_ _22"> </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 xf h6 y159 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _26"> </span><span class="ff5">[new_var<span class="_ _b"> </span>=<span class="_ _b"> </span>x]<span class="_ _d"> </span><span class="ff4">,<span class="_ _22"> </span></span>[&amp;new_var<span class="_ _b"> </span>=<span class="_ _4"> </span>x]<span class="_ _22"> </span><span class="ff4">intro<span class="_ _c"></span>duce<span class="_ _d"> </span>a<span class="_ _a"> </span>new<span class="_ _a"> </span>value<span class="_ _d"> </span>or<span class="_ _d"> </span>reference<span class="_ _22"> </span><span class="ffe">new_var</span></span></span></div><div class="t m0 x7 h6 y15a ff4 fs4 fc0 sc0 ls0 ws0">initialized<span class="_ _d"> </span>by<span class="_ _22"> </span><span class="ffe">x<span class="_ _22"> </span></span><span class="fcb">C++14</span></div><div class="t m0 x1 h13 y15b ff5 fs5 fc8 sc0 ls0 ws0">class<span class="_ _8"> </span><span class="fc4">A<span class="_ _6"> </span><span class="ff17 fc0">{</span></span></div><div class="t m0 x1f h13 y15c ff5 fs5 fc3 sc0 ls0 ws0">int<span class="_ _8"> </span><span class="ff17 fc0">data<span class="_ _6"> </span><span class="fc5">=<span class="_ _8"> </span>1</span>;</span></div><div class="t m0 x1f h13 y15d ff5 fs5 fc3 sc0 ls0 ws0">void<span class="_ _8"> </span><span class="ff17 fc4">f<span class="fc0">()<span class="_ _6"> </span>{</span></span></div><div class="t m0 x1b h13 y15e ff5 fs5 fc3 sc0 ls0 ws0">int<span class="_ _26"> </span><span class="ff17 fc0">var<span class="_ _2a"> </span><span class="fc5">=<span class="_ _8"> </span>2</span>;<span class="_ _2b"> </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 x1b h13 y15f ff5 fs5 fc8 sc0 ls0 ws0">auto<span class="_ _8"> </span><span class="ff17 fc0">lambda1<span class="_ _6"> </span><span class="fc5">=<span class="_ _8"> </span></span>[<span class="fc5">=</span>]()<span class="_ _2a"> </span>{<span class="_ _8"> </span></span>return<span class="_ _6"> </span><span class="ff17 fc0">var;<span class="_ _26"> </span>};<span class="_ _2c"> </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 x1b h13 y160 ff5 fs5 fc8 sc0 ls0 ws0">auto<span class="_ _8"> </span><span class="ff17 fc0">lambda2<span class="_ _6"> </span><span class="fc5">=<span class="_ _8"> </span></span>[<span class="fc5">=</span>]()<span class="_ _2a"> </span>{<span class="_ _8"> </span></span><span class="fc3">int<span class="_ _6"> </span><span class="ff17 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="ff17 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 x1b h13 y161 ff5 fs5 fc8 sc0 ls0 ws0">auto<span class="_ _8"> </span><span class="ff17 fc0">lambda3<span class="_ _6"> </span><span class="fc5">=<span class="_ _8"> </span></span>[</span>this<span class="ff17 fc0">]()<span class="_ _26"> </span>{<span class="_ _8"> </span></span>return<span class="_ _6"> </span><span class="ff17 fc0">data;<span class="_ _8"> </span>};<span class="_ _2c"> </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 x1b h13 y162 ff5 fs5 fc8 sc0 ls0 ws0">auto<span class="_ _8"> </span><span class="ff17 fc0">lambda4<span class="_ _6"> </span><span class="fc5">=<span class="_ _8"> </span></span>[<span class="fc5">*</span></span>this<span class="ff17 fc0">]()<span class="_ _8"> </span>{<span class="_ _6"> </span></span>return<span class="_ _8"> </span><span class="ff17 fc0">data;<span class="_ _8"> </span>};<span class="_ _2d"> </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 x1 h13 y163 ffc fs5 fc6 sc0 ls0 ws0">//<span class="_ _2e"> </span>auto<span class="_ _8"> </span>lambda5<span class="_ _6"> </span>=<span class="_ _8"> </span>[data]()<span class="_ _9"> </span>{<span class="_ _8"> </span>return<span class="_ _6"> </span>data;<span class="_ _8"> </span>};<span class="_ _2d"> </span>//<span class="_ _6"> </span><span class="ff18">compile<span class="_ _1d"> </span>error<span class="_ _6"> </span><span class="ff16">&apos;</span></span>data<span class="ff16">&apos;<span class="_ _8"> </span></span>is<span class="_ _6"> </span>not<span class="_ _8"> </span>visible</div><div class="t m0 x1b h13 y164 ff5 fs5 fc8 sc0 ls0 ws0">auto<span class="_ _8"> </span><span class="ff17 fc0">lambda6<span class="_ _6"> </span><span class="fc5">=<span class="_ _8"> </span></span>[y<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="ff17 fc0">y;<span class="_ _8"> </span>};<span class="_ _2d"> </span><span class="ffc fc6">//<span class="_ _8"> </span>return<span class="_ _6"> </span>1</span></span></div><div class="t m0 x1f h13 y165 ff17 fs5 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 h13 y166 ff17 fs5 fc0 sc0 ls0 ws0">};</div><div class="t m0 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">36/66</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 xb h2 y1f ff1 fs0 fc0 sc0 ls0 ws0">Prep<span class="_ _e"></span>ro<span class="_ _0"></span>cessing</div><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: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="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 x5 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 ydb 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="_ _f"> </span>the</span></span></div><div class="t m0 x1 hc ydc ff4 fs7 fc0 sc0 ls0 ws0">compiler<span class="_ _f"> </span>ho<span class="_ _5"></span>w<span class="_ _f"> </span>to<span class="_ _f"> </span>interp<span class="_ _5"></span>ret<span class="_ _f"> </span>the<span class="_ _f"> </span>source<span class="_ _a"> </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="_ _8"> </span><span class="ff4">compiling<span class="_ _a"> </span>it</span></span></div><div class="t m0 x1 hc y167 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="_ _f"> </span>of<span class="_ _a"> </span>an<span class="_ _f"> </span><span class="ff11">identifier<span class="_ _b"> </span></span>in</span></div><div class="t m0 x1 hc y168 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>by<span class="_ _a"> </span>replacement</div><div class="t m0 x1 h8 y169 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 y16a 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 y16b ff4 fs7 fc0 sc0 ls0 ws0">...o<span class="_ _5"></span>r<span class="_ _f"> </span>use<span class="_ _f"> </span>as<span class="_ _f"> </span>little<span class="_ _a"> </span>a<span class="_ _c"></span>s<span class="_ _a"> </span>p<span class="_ _c"></span>ossible</div><div class="t m0 xf h6 y16c 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 xf h6 y16d 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 xf h6 y16e 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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">37/66</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 x5 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 y16f 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 xc h7 y170 ff9 fs3 fc0 sc0 ls0 ws0"><span class="_ _26"> </span><span class="ff5">#include<span class="_ _22"> </span>&quot;my_file.h&quot;</span></div><div class="t m0 x7 h7 y171 ff8 fs3 fc0 sc0 ls0 ws0">Inject<span class="_ _f"> </span>the<span class="_ _8"> </span>code<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 xc h7 y172 ff9 fs3 fc0 sc0 ls0 ws0"><span class="_ _26"> </span><span class="ff5">#define<span class="_ _22"> </span>MACRO<span class="_ _22"> </span>&lt;expression&gt;</span></div><div class="t m0 x7 h7 y173 ff8 fs3 fc0 sc0 ls0 ws0">Define<span class="_ _f"> </span>a<span class="_ _8"> </span>new<span class="_ _f"> </span>macro</div><div class="t m0 xc h7 y174 ff9 fs3 fc0 sc0 ls0 ws0"><span class="_ _26"> </span><span class="ff5">#undef<span class="_ _22"> </span>MACRO</span></div><div class="t m0 x7 h7 y175 ff8 fs3 fc0 sc0 ls0 ws0">Undefine<span class="_ _f"> </span>a<span class="_ _8"> </span>macro</div><div class="t m0 x7 h10 y176 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 y177 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="_ _f"> </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 y178 ff1 fs3 fc0 sc0 ls0 ws0">Indent:<span class="_ _9"> </span><span class="ff19">#<span class="_ _2f"> </span>define</span></div><div class="t m0 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">38/66</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf2c" class="pf w0 h0" data-page-no="2c"><div class="pc pc2c w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Conditional<span class="_ _8"> </span>Compiling</div><div class="t m0 xc hc y179 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ffc fs8 fca">#<span class="_ _21"> </span>if<span class="_ _10"> </span>&lt;condition<span class="_ _10"> </span>1&gt;</span></div><div class="t m0 x20 hf y17a ffb fs8 fc0 sc0 ls0 ws0">..code..</div><div class="t m0 x7 hf y17b ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>elif<span class="_ _10"> </span>&lt;condition<span class="_ _10"> </span>2&gt;</div><div class="t m0 x20 hf y17c ffb fs8 fc0 sc0 ls0 ws0">..code..</div><div class="t m0 x7 hf y17d ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>else</div><div class="t m0 x20 hf y17e ffb fs8 fc0 sc0 ls0 ws0">..code..</div><div class="t m0 x7 hf y17f ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>endif</div><div class="t m0 xc hc y180 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Check<span class="_ _f"> </span>if<span class="_ _f"> </span>a<span class="_ _f"> </span>macro<span class="_ _a"> </span>is<span class="_ _f"> </span>defined</span></div><div class="t m0 x7 hf y181 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>if<span class="_ _10"> </span>defined(MACRO)<span class="_ _1f"> </span><span class="fc6">//<span class="_ _10"> </span>equal<span class="_ _10"> </span>to<span class="_ _10"> </span>#ifdef<span class="_ _1f"> </span>MACRO</span></div><div class="t m0 x7 hf y182 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>elif<span class="_ _10"> </span>defined(MACRO)<span class="_ _22"> </span><span class="fc6">//<span class="_ _10"> </span>equal<span class="_ _10"> </span>to<span class="_ _10"> </span>#elifdef<span class="_ _10"> </span>MACRO<span class="_ _10"> </span>in<span class="_ _10"> </span>C++23</span></div><div class="t m0 xc hc y183 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff4">Check<span class="_ _f"> </span>if<span class="_ _f"> </span>a<span class="_ _f"> </span>macro<span class="_ _a"> </span>is<span class="_ _f"> </span>NOT<span class="_ _f"> </span>defined</span></div><div class="t m0 x7 hf y184 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>if<span class="_ _10"> </span>!defined(MACRO)<span class="_ _1f"> </span><span class="fc6">//<span class="_ _10"> </span>equal<span class="_ _10"> </span>to<span class="_ _10"> </span>#ifndef<span class="_ _16"> </span>MACRO</span></div><div class="t m0 x7 hf y185 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>elif<span class="_ _10"> </span>!defined(MACRO)<span class="_ _22"> </span><span class="fc6">//<span class="_ _10"> </span>equal<span class="_ _10"> </span>to<span class="_ _10"> </span>#elifdef<span class="_ _10"> </span>MACRO<span class="_ _10"> </span>in<span class="_ _10"> </span>C++23</span></div><div class="t m0 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">39/66</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIsUlEQVR42u3ZsUmEQRCA0Vv5B6PFGsTICkSMBUN7uSKMrgOLsAgDi7ADo2MjJ/kvE8zOC85ZeK+CYTb5mG03dw8bAAAo4/Pj/cIWAACoRqQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAPCjZaYtAABQR0S4pAIAUI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAUNcy0axjDA8GAHCa3vtE07qkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUq0AAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAH5brACAf/G820007dt268ngnFpmzjLrGMODAQCcpvc+y6gR4bsfAIByRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAA8CctM20BAIA6IsIlFQCAckQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAKCyZaJZxxgeDADgNL33iaZ1SQUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAgCO1zLQFAADqiAiXVAAAyhGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAwFGW/cu1LQBwBl+Pr5YAHOP2/qm1q8t1/73ZrOtqIQAAlHAAzKIo/hg9KCIAAAAASUVORK5CYII="/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>1<span class="_ _8"> </span>-<span class="_ _8"> </span>Assuming<span class="_ _8"> </span>macros<span class="_ _8"> </span>have<span class="_ _8"> </span>file<span class="_ _8"> </span>scop<span class="_ _c"></span>e</div><div class="t m0 x21 hc y186 ff4 fs7 fc2 sc0 ls0 ws0">A<span class="_ _30"> </span><span class="ff1 fc0">Define<span class="_ _6"> </span>macros<span class="_ _6"> </span>in<span class="_ _8"> </span>header<span class="_ _f"> </span>files<span class="_ _6"> </span>and<span class="_ _8"> </span>before<span class="_ _f"> </span>includes!!</span></div><div class="t m0 x1 hf y187 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 x1 hf y188 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>value<span class="_ _23"> </span><span class="fc6">//<span class="_ _10"> </span>&lt;-<span class="_ _10"> </span>very<span class="_ _10"> </span>dangerous!!</span></div><div class="t m0 x1 hf y189 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 x1 hf y18a 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 x13 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>add_3(<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="ff15">always<span class="_ _10"> </span></span>prints<span class="_ _10"> </span>3</span></div><div class="t m0 x1 hf y18c ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 hc y18d ff5 fs7 fc0 sc0 ls0 ws0">big_lib.hpp<span class="ff4">:</span></div><div class="t m0 x1 hf y18e ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc4">add_3<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="ff16">&apos;</span>value<span class="ff16">&apos;<span class="_ _10"> </span></span>disappears</span></span></div><div class="t m0 x13 hf y18f 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 x1 hf y190 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 h11 y191 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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">40/66</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIjklEQVR42u3YsU0DQRCG0V10I6IVNSBHVICQYyR3RhMuxwFFuAOi00ZMcmTEiMRj+70KVv8mn6bvXvcNAADKOH+eHqwAAEA1IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAgF89M60AAEAdEeGSCgBAOSIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAACXspjgxsw5jVDWGMMIAPAXLqkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEA4LJ6ZloBAIA6IsIlFQCAckQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAFLNc0VvnnD4MAOB/xhhX9FqXVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARKoJAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAIDWWuuZaQUAAOqICJdUAADKEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgDAXVjWj2crAFDK1/vRCHDPXt4OvT89but3a9u2GQQAgBJ+ADxvIACMYhTtAAAAAElFTkSuQmCC"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>2<span class="_ _8"> </span>-<span class="_ _8"> </span>Macro<span class="_ _8"> </span>visibilit<span class="_ _5"></span>y<span class="_ _31"> </span>1/3</div><div class="t m0 x22 hc y192 ff5 fs7 fc0 sc0 ls0 ws0">#if<span class="_ _13"> </span>defined<span class="_ _1e"> </span><span class="ff1">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="_ _8"> </span>macro<span class="_ _f"> </span>visibility</span></div><div class="t m0 x1 hf y193 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>include<span class="_ _22"> </span><span class="fc6">&quot;header1.hpp&quot;</span></div><div class="t m0 x1 hf y194 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>include<span class="_ _22"> </span><span class="fc6">&quot;header2.hpp&quot;</span></div><div class="t m0 x1 hf y195 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>...<span class="_ _10"> </span>many<span class="_ _10"> </span>other<span class="_ _10"> </span>headers<span class="_ _10"> </span>and/or<span class="_ _10"> </span>big<span class="_ _10"> </span>project<span class="_ _10"> </span>...</div><div class="t m0 x1 hf y196 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>if<span class="_ _10"> </span>defined(ENABLE_DEBUG)<span class="_ _16"> </span><span class="fc6">//<span class="_ _10"> </span>is<span class="_ _10"> </span><span class="ff15">ENABLE_DEBUG<span class="_ _10"> </span></span>defined<span class="_ _10"> </span>here?</span></div><div class="t m0 x13 hf y197 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">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 class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>first<span class="_ _10"> </span>path</span></span></span></div><div class="t m0 x1 hf y198 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>else</div><div class="t m0 x13 hf y199 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">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 class="_ _32"> </span><span class="ffc fc6">//<span class="_ _10"> </span>second<span class="_ _10"> </span>path</span></span></span></div><div class="t m0 x1 hf y19a ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>endif</div><div class="t m0 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">41/66</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,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>2<span class="_ _8"> </span>-<span class="_ _8"> </span>Macro<span class="_ _8"> </span>visibilit<span class="_ _5"></span>y<span class="_ _31"> </span>2/3</div><div class="t m0 x1 hc y19b ff4 fs7 fc0 sc0 ls0 ws0">Fixing<span class="_ _f"> </span>the<span class="_ _a"> </span>problem...the<span class="_ _a"> </span>wrong<span class="_ _f"> </span>wa<span class="_ _5"></span>y:</div><div class="t m0 x1 hf y19c 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>or<span class="_ _10"> </span>#if<span class="_ _10"> </span>ENABLE_DEBUG<span class="_ _10"> </span>==<span class="_ _10"> </span>1</span></div><div class="t m0 x13 hf y19d 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 class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>first<span class="_ _10"> </span>path</span></span></span></div><div class="t m0 x1 hf y19e ffb fs8 fc0 sc0 ls0 ws0">...</div><div class="t m0 x1 hc y19f ff4 fs7 fc0 sc0 ls0 ws0">The<span class="_ _f"> </span>second<span class="_ _a"> </span>path<span class="_ _f"> </span>is<span class="_ _f"> </span>enabled<span class="_ _f"> </span>when<span class="_ _1e"> </span><span class="ffe">ENABLE_DEBUG<span class="_ _12"> </span></span>defined<span class="_ _f"> </span>to<span class="_ _12"> </span><span class="ffe">0<span class="_ _12"> </span></span>and<span class="_ _f"> </span>when<span class="_ _f"> </span>the<span class="_ _f"> </span>macro</div><div class="t m0 x1 hc y1a0 ff4 fs7 fc0 sc0 ls0 ws0">is<span class="_ _f"> </span>not<span class="_ _a"> </span>defined,<span class="_ _f"> </span><span class="ff11">p<span class="_ _c"></span>otentially<span class="_ _f"> </span>not<span class="_ _f"> </span>intentionally</span>.</div><div class="t m0 xd hc y1a1 ffe fs7 fc0 sc0 ls0 ws0">ENABLE_DEBUG<span class="_ _12"> </span><span class="ff4">is<span class="_ _f"> </span>evaluated<span class="_ _f"> </span>as<span class="_ _12"> </span></span>0<span class="_ _12"> </span><span class="ff4">if<span class="_ _f"> </span>it<span class="_ _f"> </span>is<span class="_ _f"> </span>NOT<span class="_ _f"> </span>defined.</span></div><div class="t m0 x1 hc y1a2 ff4 fs7 fc0 sc0 ls0 ws0">F<span class="_ _5"></span>urthermo<span class="_ _5"></span>re,<span class="_ _f"> </span>even<span class="_ _f"> </span>the<span class="_ _f"> </span>most<span class="_ _f"> </span>common<span class="_ _f"> </span>w<span class="_ _5"></span>a<span class="_ _5"></span>rning<span class="_ _f"> </span>flags<span class="_ _f"> </span>(<span class="_ _1d"> </span><span class="ffe">-Wall<span class="_ _13"> </span>-Wextra<span class="_ _13"> </span>-Wpedantic<span class="_ _d"> </span></span>)</div><div class="t m0 x1 hc y1a3 ff4 fs7 fc0 sc0 ls0 ws0">dont<span class="_ _f"> </span>raise<span class="_ _a"> </span>the<span class="_ _f"> </span>issue.<span class="_ _b"> </span>The<span class="_ _a"> </span>user<span class="_ _f"> </span>needs<span class="_ _f"> </span>to<span class="_ _f"> </span>explicitly<span class="_ _f"> </span>add<span class="_ _12"> </span><span class="ffe">-Wundef<span class="_ _12"> </span></span>to<span class="_ _f"> </span>detect<span class="_ _f"> </span>the<span class="_ _f"> </span>problem</div><div class="t m0 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">42/66</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIsUlEQVR42u3ZsUkEQRTH4R3Zh9FhDWJ0FYiIgYFwLRhYj03YgYEliGhgByZ2YHRs4PmSNTOWC+SN+30VDP/Z4MdsOzk9HwAAoIz315cDKwAAUI1IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQDgR8tMKwAAUEdEeEkFAKAckQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAAEWMvRx0fXG5wOt5e370jQIAC9Qy0woAANQREX73AwBQjkgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAMDSjR2ddZomFwYAsJ/VatXRab2kAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgDAL7XMtAIAAHVEhJdUAADKEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUEwAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAA9GPs5aCfu93m+saFQV+eHu6NAMAeWmZaAQCAOiLC734AAMoRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAAPBHxu3tsRUA+N8+ru6MAB1Zn21aOzqct1/DMM+zQQAAKOEbITIo/iR0fLEAAAAASUVORK5CYII="/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>2<span class="_ _8"> </span>-<span class="_ _8"> </span>Macro<span class="_ _8"> </span>visibilit<span class="_ _5"></span>y<span class="_ _31"> </span>3/3</div><div class="t m0 x1 hc y1a4 ff4 fs7 fc0 sc0 ls0 ws0">Solution:<span class="_ _10"> </span><span class="ff1">Function-lik<span class="_ _5"></span>e<span class="_ _f"> </span>macros</span></div><div class="t m0 x1 hf y1a5 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>ENABLE_DEBUG()<span class="_ _10"> </span>1</div><div class="t m0 x1 hf y1a6 ffb fs8 fc0 sc0 ls0 ws0">...</div><div class="t m0 x1 hf y1a7 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>compile<span class="_ _10"> </span>error<span class="_ _10"> </span>if<span class="_ _10"> </span>it<span class="_ _10"> </span>is<span class="_ _10"> </span>not<span class="_ _10"> </span>defined</span></div><div class="t m0 xc hf y1a8 ffb fs8 fc9 sc0 ls0 ws0">Better<span class="_ _10"> </span>Macros,<span class="_ _10"> </span>Better<span class="_ _10"> </span>Flags</div><div class="t m0 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">43/66</div><a class="l" href="https://www.fluentcpp.com/2019/05/28/better-macros-better-flags/"><div class="d m1" style="border-style:none;position:absolute;left:34.722000px;bottom:26.173000px;width:129.091000px;height:13.445000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf31" class="pf w0 h0" data-page-no="31"><div class="pc pc31 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>3<span class="_ _8"> </span>-<span class="_ _8"> </span>P<span class="_ _5"></span>a<span class="_ _5"></span>renthesis</div><div class="t m0 x23 hc y1a9 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 x1 hf y1aa 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 x1 hf y1ab 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 x1 hf y1ac 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 x1 hf y1ad ffb fs8 fc0 sc0 ls0 ws0">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 x1 hf y1ae ffb fs8 fc0 sc0 ls0 ws0">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 x1 hf y1af ffb fs8 fc0 sc0 ls0 ws0">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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">44/66</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf32" class="pf w0 h0" data-page-no="32"><div class="pc pc32 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIrklEQVR42u3ZsU0DQRCGUS+6EdGKGhARFSBEjOQWCKiHJuiAgBqQCCiCDoisDbAnOTISIiwMc+i9Brz6L/k0bmcXVysAACjj9eX5yAoAAFQjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAA+NQy0woAANQRES6pAACUI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAADUNS3orWMMHwwAYD+99wW91iUVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRagIAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAABftMy0AgAAdUSESyoAAOWIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAAfs20lIe+b7frm1sfDJbl6fHBCADsoWWmFQAAqCMi/N0PAEA5IhUAAJEKAAAiFQCAxZlMAPA/jDH+5Hd778YHfpxLKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBAKitZaYVAACoIyJcUgEAKEekAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAA5p2tydWgEAvuXt+t4IcDjnl+vWTo7nzW61mufZIAAAlPABHQQo/oOsD8UAAAAASUVORK5CYII="/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>4<span class="_ _8"> </span>-<span class="_ _8"> </span>Assuming<span class="_ _8"> </span>macros<span class="_ _8"> </span>a<span class="_ _5"></span>re<span class="_ _8"> </span>lik<span class="_ _5"></span>e<span class="_ _8"> </span>common<span class="_ _8"> </span>code<span class="_ _8"> </span>to<span class="_ _8"> </span>debug</div><div class="t m0 x24 hc y186 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 x25 hf y187 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 x25 hf y188 ffb fs8 fc0 sc0 ls0 ws0">2:</div><div class="t m0 x25 hf y189 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 x25 hf y1b0 ffb fs8 fc0 sc0 ls0 ws0">4:<span class="_ _20"> </span><span class="ffc fca">...<span class="_ _23"> </span>\</span></div><div class="t m0 x25 hf y18a ffb fs8 fc0 sc0 ls0 ws0">5:<span class="_ _20"> </span><span class="ffc fca">...<span class="_ _23"> </span>\</span></div><div class="t m0 x25 hf y18b 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 x25 hf y18c ffb fs8 fc0 sc0 ls0 ws0">7:</div><div class="t m0 x25 hf y1b1 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 x25 hf y1b2 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 x1 hf y1b3 ffb fs8 fc0 sc0 ls0 ws0">10:<span class="_ _10"> </span>}</div><div class="t m0 x1 hc y1b4 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 xc h10 y1b5 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<span class="_ _d"> </span>with<span class="_ _1c"> </span><span class="ffb">-g3<span class="_ _22"> </span></span>flag</div><div class="t m0 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">45/66</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf33" class="pf w0 h0" data-page-no="33"><div class="pc pc33 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIpUlEQVR42u3YsU3DUBSGUT/kK6qnzBBRZQKEqJHYjCUyTgqGYINU0au4jeloKBCgwHU4ZwL7t4tPt93c3k8AAFDGy/PhygoAAFQjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAeNcy0woAANQRES6pAACUI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAADUNa/oWccYPhgAwPf03lf0tC6pAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVBMAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAGBlWmZaAQCAOiLCJRUAgHJEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAC7dbAL4NWOMC3uj3rvPCsA5uKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAgL/VMtMKAADUEREuqQAAlCNSAQAQqQAA8Jn5H77zGKPIk/Te/YIAAB+5pAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAgHVrmWkFAADqiAiXVAAAyhGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAICfmE9PWysAwJkcH/ZGgK/a3T22trleTq/TtCyLQQAAKOENUYcl/piR1pMAAAAASUVORK5CYII="/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>5<span class="_ _8"> </span>-<span class="_ _8"> </span>Arguments<span class="_ _8"> </span>evaluation</div><div class="t m0 x26 hc y186 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 x1 hf y187 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>if<span class="_ _10"> </span>defined(DEBUG)</div><div class="t m0 x1 hf y188 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 x13 hf y189 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 x1 hf y1b0 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>else</div><div class="t m0 x1 hf y18a 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 x13 hf y18b 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 x1 hf y18c ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>endif</div><div class="t m0 x1 hf y1b1 ff5 fs8 fc3 sc0 ls0 ws0">bool<span class="_ _10"> </span><span class="ffb fc4">clear_system_error<span class="fc0">()<span class="_ _10"> </span>{<span class="_ _10"> </span><span class="ffc fc6">/*<span class="_ _10"> </span>change<span class="_ _10"> </span>program<span class="_ _10"> </span>state;</span></span></span></div><div class="t m0 x11 hf y1b2 ffc fs8 fc6 sc0 ls0 ws0">return<span class="_ _10"> </span>true<span class="_ _10"> </span>if<span class="_ _10"> </span>everything<span class="_ _10"> </span>is<span class="_ _10"> </span>fine<span class="_ _10"> </span>*/<span class="_ _22"> </span><span class="ffb fc0">}</span></div><div class="t m0 x1 hf y1b3 ffb fs8 fc0 sc0 ls0 ws0">check(<span class="_ _10"> </span>clear_system_error()<span class="_ _10"> </span>)</div><div class="t m0 x1 hf y1b6 ffb fs8 fc0 sc0 ls0 ws0">CHECK(<span class="_ _10"> </span>clear_system_error()<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 y1b7 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="_ _1e"> </span><span class="ff5">DEBUG<span class="_ _34"> </span></span>is<span class="_ _6"> </span>not<span class="_ _6"> </span>defined?</span></div><div class="t m0 x12 hc y1b8 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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">46/66</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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAMJElEQVR42u3dQWhb9x3A8b8UP6u2sDwlSIZEajBRF1Kr6agT3KUbTU02clhncqhbCLSUwAZjtPRQxmiPYSnsMJaFnbbSwxihMNqwixnD3WFJZlICa+2VtmpNZndgu2mRXSeVbEs7qLgjGS1sRNGrP5+T/J4Oj9+7fP3e+z8l9ow8EAAAoGNU/vbXpCkAANBpRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAAJsS9XrdFAAA6BxRFLmSCgBAxxGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAAOldXjI51ZWXFCQMA+N/09fXF6GhdSQUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQaAQAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAPx/uoyATVOVyuTMzN+vXPl0bS2fyYwODY0dONDT3W0yAECbJer1elyOdWVlxQm7Ra7X639+883F5eU/Xr78n9t3ZrM/P348nUoZEQDEXV9fX1wONYoit/sJIYRzr79+9uLFkVLphu3/+vjj0xMT5gMAtJlIJYQQLr3/fj6T+a+7piqVxeVlIwIARCq3QTqVWq3Vfjo2tjObDSGMlEonx8fLhUIIYbFaNR8AQKTSbuVCYXF5eTCfLxeLu7LZcqEwmMuVi8Wd27eHEPL9/UYEALSThVOEEML81as/fuml1ueH77vv2MGDP3rxxU/X1lr9evLRR40IAOLOwinip7Bjx+jQ0InDh0MItfX1Vy5dyvT0hBDGhodHy2XzAQDazHtS+cxjhw6FECZnZv70xhutLaNDQ+Vi8e5CwXAAgDZzJZXP5DOZyenp0aGhseHhwVwun8k8dujQ9Nycl6QCAO3nSiqfm56bW63V9t95Z7lYLBeLp159NZn0bwwAIFK53WaXlmaXlkIIrZ+e2jMwYCYAgEjlNjh74UJPd/fYgQMPDw/fsOvb+/aFECZnZhar1dZDqwAAIpU2+f3583sGBkZKpZt/GbWysHB6YuLJBx80JQBApNImq7Xa7NJSbX39+ZdfTqdSI6VSa1H/7OLi9NzcX956672FhRDCkXvuMSsAoG28zH+rO3vhwtmLF0+Oj4cQJmdmpiqV1VotnUqVi8UQQqqr64G9e0+dOzeYy/3i8ceNCwDiK14v8xepW9rxM2cGc7mRUqk7ii7Pzk5VKiOlUn9vb/XatdZK/2w6/a29e0MIq7XayvXrzx07ZmgAIFLbEKlu929pJx566LevvTY9P39HFN27e/eJw4fLxeJgPt/aO1WpnH/77dYy/xDCd/fvNzEAoD1E6pY2mMuFEPKZzC+feKKnu/uGva11VD88cuT0xMRUpTJ209p/AIBbxKvat7S5q1c3Go2njh69uVA3pVOpR+6//44oWqhWTQwAaA/PpAIAbAnxeibVlVQAADqOSAUAQKQCAMCXidMzqQAAbAWeSQUAoBOJVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAbHVd8TrcRqPRbDa/+DuJRCKZFN8AACK1LX73h1de+NWZjY3GF38t6up6/pmnx7//PWcXACCm4nTF8cr8/JcWaghhbX39nx984NQCAMRXol6vx+VYV69d+8c77zabzW3btiWTyU8+Wf3Bsz9p7fr1Cz/7Wn+m0WhsbGwkk8l9d92V7u1xdgEA4iiKojjd7k/39h78xr2bf3740Uebn+/+emkgl3NGAQC+GiwwAgBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASL1lsv39uwu7Qgi7C7t2ZLc7lwAAXxmJer1uCgAAdI4oitzuBwCg44hUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAIAY6aqeGjQFALjtlr7zG0OAln3fPJpI9Kea1VoIzWbTQAAA6Aj/Bl7qVodO8kH9AAAAAElFTkSuQmCC"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>6<span class="_ _8"> </span>-<span class="_ _8"> </span>Multi-line<span class="_ _8"> </span>macros</div><div class="t m0 xa hc y186 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 x1 hf y187 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 x1 hf y188 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 x1 hf y1b0 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 x13 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 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 x13 hf y18b ffb fs8 fc0 sc0 ls0 ws0">nuclear_explosion();</div><div class="t m0 x27 hf y18c ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>}</div><div class="t m0 x1 hf y1b1 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 x13 hf y1b2 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 x13 hf y1b3 ff5 fs8 fc8 sc0 ls0 ws0">if<span class="_ _10"> </span><span class="ffb fc0">(never_happen)</span></div><div class="t m0 x15 hf y1b6 ffb fs8 fc0 sc0 ls0 ws0">NUCLEAR_EXPLOSION</div><div class="t m0 x1 hf y1b9 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 x28 h14 y1b9 ff1a fs8 fc6 sc0 ls0 ws0"><span class="fcd sc0">A</span></div><div class="t m0 x1 hc y1ba 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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">47/66</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf35" class="pf w0 h0" data-page-no="35"><div class="pc pc35 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAImElEQVR42u3ZsU0DQRCG0VvrRkQnakBEVGAhx5bcAgH10AQdEFADEoGLcAeOrAtsJjkyCnDCrPVeBat/k0+77XG9GQAAoIzD/ntlBQAAqhGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAD8aZlpBQAA6ogIL6kAAJQjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAANQ1dnTWeZ5dGADAdaZp6ui0XlIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpJgAAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAcDNaZloBAIA6IsJLKgAA5YhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAKCUsZeDni+X3curC4O+fH1+GAGAK7TMtAIAAHVEhO9+AADKEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEA4H+Np7cHKwBAR47bdyNw256ed63d3y2nn2FYlsUgAACU8AtVqSMAT7/V1wAAAABJRU5ErkJggg=="/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>7<span class="_ _8"> </span>-<span class="_ _8"> </span>Assuming<span class="_ _8"> </span>macros<span class="_ _8"> </span>have<span class="_ _8"> </span>lo<span class="_ _c"></span>cal<span class="_ _8"> </span>scope</div><div class="t m0 x29 hc y186 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 x1 hf y187 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 x1 hf y189 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 x13 hf y1b0 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 x13 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>value;</div><div class="t m0 x1 hf y18b ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 hf y18c 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 x13 hf y1b1 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 x13 hf y1b2 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 x13 hf y1b3 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 x13 hf y1b6 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 x13 hf y1b9 ffb fs8 fc0 sc0 ls0 ws0">std<span class="fc5">::</span>cout<span class="_ _10"> </span><span class="fc5">&lt;&lt;<span class="_ _10"> </span></span>value;<span class="_ _16"> </span><span class="ffc fc6">//<span class="_ _10"> </span>3</span></div><div class="t m0 x1 hf y1bb ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xc h10 y1bc 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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">48/66</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,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>8<span class="_ _8"> </span>-<span class="_ _8"> </span>Assuming<span class="_ _8"> </span>macros<span class="_ _8"> </span>b<span class="_ _c"></span>ehave<span class="_ _8"> </span>lik<span class="_ _5"></span>e<span class="_ _8"> </span>functions</div><div class="t m0 x2a hc y1bd 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 x1 hf y1be 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 x1 hf y1bf 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 x13 hf y1c0 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 x13 hf y1c1 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 x13 hf y1c2 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc0">i<span class="_ _14"> </span><span class="fc5">=<span class="_ _10"> </span>0</span>;</span></div><div class="t m0 x13 hf y1c3 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc0">j<span class="_ _14"> </span><span class="fc5">=<span class="_ _10"> </span>0</span>;</span></div><div class="t m0 x13 hf y1c4 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc0">v1<span class="_ _15"> </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 x13 hf y1c5 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc0">v2<span class="_ _15"> </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 x1 hf y1c6 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 x2b h14 y1c6 ff1a fs8 fc6 sc0 ls0 ws0"><span class="fcd sc0">A</span></div><div class="t m0 xc hf y1c7 ffb fs8 fc9 sc0 ls0 ws0">arne-mertz.de/2019/03/macro-evil</div><div class="t m0 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">49/66</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:4.669000px;width:152.628000px;height:13.445000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf37" class="pf w0 h0" data-page-no="37"><div class="pc pc37 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _8"> </span>Erro<span class="_ _5"></span>r<span class="_ _8"> </span>9<span class="_ _8"> </span>-<span class="_ _8"> </span>Undefined<span class="_ _8"> </span>b<span class="_ _c"></span>ehavio<span class="_ _5"></span>r</div><div class="t m0 x2c hc y1c8 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 x1 hf y1c9 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 x1 hf y1ca ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>if<span class="_ _10"> </span>MY_MACRO</div><div class="t m0 x1 hf y1cb 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 x1 hf y1cc ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>else</div><div class="t m0 x1 hf y1cd 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 x1 hf y1ce ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>endif</div><div class="t m0 x1 hf y1cf ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc0">x<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span></span>MY_VALUE;<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>undefined<span class="_ _10"> </span>behavior:<span class="_ _10"> </span><span class="ff16">&apos;</span>defined<span class="ff16">&apos;<span class="_ _10"> </span></span>has<span class="_ _10"> </span>a<span class="_ _10"> </span>different<span class="_ _10"> </span>meaning</span></span></div><div class="t m0 x2d hf y1d0 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>if<span class="_ _10"> </span>outside<span class="_ _10"> </span>a<span class="_ _10"> </span>conditional<span class="_ _10"> </span>preprocessioning<span class="_ _10"> </span>directive,<span class="_ _10"> </span>e.g.<span class="_ _10"> </span>#if</div><div class="t m0 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">50/66</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf38" class="pf w0 h0" data-page-no="38"><div class="pc pc38 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">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 xc hc y1d1 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 xc hc y1d2 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="_ _c"></span><span class="ff4">:<span class="_ _10"> </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 xc hc y1d3 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 y1d4 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="_ _12"> </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 x1 hf y1d5 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 x1 hf y1d6 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 x1 hf y1d7 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 x1 hf y1d8 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 x13 hf y1d9 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 x1 hf y1da ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 xc hf y1db 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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">51/66</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:1.597000px;width:157.335000px;height:13.445000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf39" class="pf w0 h0" data-page-no="39"><div class="pc pc39 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">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 x2e hc y76 ff5 fs7 fc0 sc0 ls0 ws0">__LINE__<span class="_ _26"> </span><span class="ff4">Integer<span class="_ _f"> </span>value<span class="_ _a"> </span>representing<span class="_ _a"> </span>the<span class="_ _f"> </span>current<span class="_ _f"> </span>line<span class="_ _f"> </span>in<span class="_ _f"> </span>the<span class="_ _f"> </span>source<span class="_ _f"> </span>co<span class="_ _c"></span>de<span class="_ _a"> </span>file</span></div><div class="t m0 x3 hc y1dc ff4 fs7 fc0 sc0 ls0 ws0">b<span class="_ _c"></span>eing<span class="_ _a"> </span>compiled</div><div class="t m0 x2e hc y1dd ff5 fs7 fc0 sc0 ls0 ws0">__FILE__<span class="_ _26"> </span><span class="ff4">A<span class="_ _f"> </span>string<span class="_ _a"> </span>literal<span class="_ _f"> </span>containing<span class="_ _f"> </span>the<span class="_ _f"> </span>name<span class="_ _f"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>source<span class="_ _f"> </span>file<span class="_ _f"> </span>b<span class="_ _c"></span>eing</span></div><div class="t m0 x3 hc y1de ff4 fs7 fc0 sc0 ls0 ws0">compiled</div><div class="t m0 x2f hc y1df ff5 fs7 fc0 sc0 ls0 ws0">__FUNCTION__<span class="_ _26"> </span><span class="ff4">(non-standa<span class="_ _5"></span>rd,<span class="_ _f"> </span><span class="ffe">gcc</span>,<span class="_ _f"> </span><span class="ffe">clang</span>)<span class="_ _f"> </span>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></div><div class="t m0 x3 hc y1e0 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 y1e1 ff5 fs7 fc0 sc0 ls0 ws0">__PRETTY_FUNCTION__<span class="_ _26"> </span><span class="ff4">(non-standa<span class="_ _5"></span>rd,<span class="_ _f"> </span><span class="ffe">gcc</span>,<span class="_ _f"> </span><span class="ffe">clang</span>)<span class="_ _f"> </span>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>full</span></div><div class="t m0 x3 hc y1e2 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 x15 hc y1e3 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="_ _f"> </span>the<span class="_ _a"> </span>name<span class="_ _f"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>function<span class="_ _f"> </span>in</span></div><div class="t m0 x3 hc y1e4 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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">52/66</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIeElEQVR42u3YsQkCMRiG4UQuWB3OIFZOIGItuJlLOI6FQ7iB1XGVaWJnY6fI/QfPM0H40rz8ebM7JAAACON+uy6sAABANCIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAIC3XGu1AgAAcZRSXFIBAAhHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAAD+qZvRW8dx9GEAAN/p+35Gr3VJBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApJoAAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBINQEAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAAAmlmutVgAAII5SiksqAADhiFQAAEQqAACIVAAARCoAAPyqG85rKwAAk3gcL0bg03Z/ynm1bMMzpdaaQQAACOEF1CEaAicVrGwAAAAASUVORK5CYII="/><div class="t m0 x5 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 h15 y1e5 ff5 fs7 fc0 sc0 ls0 ws0">source.cpp:</div><div class="t m0 x1 hf y1e6 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 x1 hf y1e7 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 x13 hf y1e8 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="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span><span class="ff16">&apos;</span>source.cpp:4<span class="ff16">&apos;</span></span></div><div class="t m0 x13 hf y1e9 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="_ _39"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span><span class="ff16">&apos;</span>f<span class="ff16">&apos;</span></span></div><div class="t m0 x13 hf y1ea 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="_ _32"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span><span class="ff16">&apos;</span>f<span class="ff16">&apos;</span></span></div><div class="t m0 x1 hf y1eb ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 hf y1ec 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 x1 hf y1ed 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 x1 hf y1ee 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 x13 hf y1ef 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="_ _20"> </span><span class="ffc fc6">//<span class="_ _10"> </span>print<span class="_ _10"> </span><span class="ff16">&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="ff16">&apos;</span></span></div><div class="t m0 x13 hf y1f0 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 x1 hf y1f1 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 hf y1f2 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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">53/66</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf3b" class="pf w0 h0" data-page-no="3b"><div class="pc pc3b w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">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 ydb 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="_ _f"> </span>lo<span class="_ _c"></span>cation<span class="_ _a"> </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 xd he y1f3 ffe fs7 fc0 sc0 ls0 ws0">#include<span class="_ _13"> </span>&lt;source_location&gt;</div><div class="t m0 x13 h6 y1f4 ff5 fs4 fc0 sc0 ls0 ws0">current()<span class="_ _26"> </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="_ _4"> </span>member</span>)</span></div><div class="t m0 x2e h6 y1f5 ff5 fs4 fc0 sc0 ls0 ws0">line()<span class="_ _26"> </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 x17 h6 y1f6 ff5 fs4 fc0 sc0 ls0 ws0">column()<span class="_ _26"> </span><span class="ff4">line<span class="_ _d"> </span>column</span></div><div class="t m0 xf h6 y1f7 ff5 fs4 fc0 sc0 ls0 ws0">file_name()<span class="_ _26"> </span><span class="ff4">current<span class="_ _d"> </span>file<span class="_ _a"> </span>name</span></div><div class="t m0 x30 h6 y1f8 ff5 fs4 fc0 sc0 ls0 ws0">function_name()<span class="_ _26"> </span><span class="ff4">current<span class="_ _d"> </span>function<span class="_ _a"> </span>name</span></div><div class="t m0 x1 hf y1f9 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 x1 hf y1fa 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 x13 hf y1fb 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 x1 hf y1fc ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 hf y1fd 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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">54/66</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf3c" class="pf w0 h0" data-page-no="3c"><div class="pc pc3c w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Condition<span class="_ _8"> </span>Compiling<span class="_ _8"> </span>Macros<span class="_ _3a"> </span>1/2</div><div class="t m0 x1 hc ydb 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 xf h6 y1fe fff fs4 fc0 sc0 ls0 ws0"><span class="_ _26"> </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 xf h6 y1ff fff fs4 fc0 sc0 ls0 ws0"><span class="_ _26"> </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 xf h6 y200 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _26"> </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 xf h6 y201 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _26"> </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 y202 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 x25 h6 y203 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _26"> </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 x31 h16 y204 ff1b fs6 fc0 sc0 ls0 ws0"></div><div class="t m0 x25 h6 y205 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _26"> </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 x25 h6 y206 fff fs4 fc0 sc0 ls0 ws0"><span class="_ _26"> </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 x32 h10 y207 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 x32 h10 y208 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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">55/66</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.776000px;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:4.181000px;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="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,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"/><div class="t m0 x5 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 y209 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 xf h6 y20a fff fs4 fc0 sc0 ls0 ws0"><span class="_ _26"> </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 xf h6 y20b fff fs4 fc0 sc0 ls0 ws0"><span class="_ _26"> </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 xf h6 y20c fff fs4 fc0 sc0 ls0 ws0"><span class="_ _26"> </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 xf h6 y20d 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 x33 hc y20e ff5 fs7 fc0 sc0 ls0 ws0">__DATE__<span class="_ _26"> </span><span class="ff4">A<span class="_ _f"> </span>string<span class="_ _a"> </span>literal<span class="_ _f"> </span>in<span class="_ _f"> </span>the<span class="_ _f"> </span>form<span class="_ _a"> </span>&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 x2e hc y20f 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 x33 hc y210 ff5 fs7 fc0 sc0 ls0 ws0">__TIME__<span class="_ _26"> </span><span class="ff4">A<span class="_ _f"> </span>string<span class="_ _a"> </span>literal<span class="_ _f"> </span>in<span class="_ _f"> </span>the<span class="_ _f"> </span>form<span class="_ _a"> </span>&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 x2e hc y211 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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">56/66</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIX0lEQVR42u3YsQ3CMBRFURvFSskMUSomQIgaic2yRMZJkSGyAVVK3JiOLi36QueM8Kqrl8frPQEAQBjbupysAABANCIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAICvXGu1AgAAcZRSPKkAAIQjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkmAABApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUk0AAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIA8D+6fRqsAABw5PWYjfBjl9sz53Pf9ndKrTWDAAAQwgekOBQE1C1FvwAAAABJRU5ErkJggg=="/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Other<span class="_ _8"> </span>Macros</div><div class="t m0 x1 hc y212 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 xc hc y213 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ffe">Pre-defined<span class="_ _13"> </span>Compiler<span class="_ _13"> </span>Macros<span class="_ _13"> </span>wiki</span></div><div class="t m0 xc hc y214 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ffe">Boost.Predef</span></div><div class="t m0 xc hc y215 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 x7 he y216 ffe fs7 fc0 sc0 ls0 ws0">macros</div><div class="t m0 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">57/66</div><a class="l" href="https://github.com/cpredef/predef"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:133.477000px;width:185.265000px;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:110.357000px;width:70.720000px;height:8.528000px;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:82.389000px;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:69.232000px;width:36.356000px;height:6.615000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf3f" class="pf w0 h0" data-page-no="3f"><div class="pc pc3f w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 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 ydb 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="_ _a"> </span>which<span class="_ _f"> </span>returns<span class="_ _1e"> </span><span class="ffe">1<span class="_ _12"> </span></span>if<span class="_ _f"> </span>header<span class="_ _f"> </span>o<span class="_ _5"></span>r<span class="_ _f"> </span>source<span class="_ _f"> </span>file</span></div><div class="t m0 x1 hc ydc 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 x1 hf y217 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 x1 hf y218 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 x1 hf y219 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>endif</div><div class="t m0 x1 hc y21a 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="_ _f"> </span>given<span class="_ _f"> </span>feature<span class="_ _f"> </span>is<span class="_ _a"> </span>supp<span class="_ _c"></span>orted<span class="_ _a"> </span>b<span class="_ _5"></span>y<span class="_ _f"> </span>the</span></div><div class="t m0 x1 hc y21b ff4 fs7 fc0 sc0 ls0 ws0">compiler</div><div class="t m0 x1 hf y21c ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>if<span class="_ _10"> </span>__cpp_constexpr</div><div class="t m0 x1 hf y21d 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 x1 hf y21e ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>endif</div><div class="t m0 xc hf y21f ffb fs8 fc9 sc0 ls0 ws0">Feature<span class="_ _10"> </span>Testing<span class="_ _10"> </span>Macros</div><div class="t m0 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">58/66</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:4.649000px;width:105.554000px;height:13.445000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf40" class="pf w0 h0" data-page-no="40"><div class="pc pc40 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">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 xb hc y186 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 x34 hf y220 ff5 fs8 fc8 sc0 ls0 ws0">struct<span class="_ _10"> </span><span class="fc4">A<span class="_ _10"> </span><span class="ffb fc0">{</span></span></div><div class="t m0 x1f hf y221 ff5 fs8 fc3 sc0 ls0 ws0">int<span class="_ _10"> </span><span class="ffb fc0">x;<span class="_ _16"> </span><span class="ffc fc6">//<span class="_ _10"> </span>enable<span class="_ _10"> </span>C++11<span class="_ _10"> </span>code</span></span></div><div class="t m0 x34 hf y222 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>if<span class="_ _10"> </span>__cplusplus<span class="_ _10"> </span>&gt;=<span class="_ _10"> </span>201103</div><div class="t m0 x1f hf y223 ffb fs8 fc0 sc0 ls0 ws0">A()<span class="_ _10"> </span><span class="fc5">=<span class="_ _10"> </span><span class="ff5 fc8">default</span></span>;</div><div class="t m0 x34 hf y224 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>else</div><div class="t m0 x1f hf y225 ffb fs8 fc0 sc0 ls0 ws0">A()<span class="_ _10"> </span>{}</div><div class="t m0 x34 hf y226 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>endif</div><div class="t m0 x34 hf y227 ffb fs8 fc0 sc0 ls0 ws0">};</div><div class="t m0 x35 hf y220 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>should<span class="_ _10"> </span>return<span class="_ _10"> </span><span class="ff1c"><span class="_ _10"> </span></span>10.0f</div><div class="t m0 x35 hf y221 ff5 fs8 fc3 sc0 ls0 ws0">float<span class="_ _10"> </span><span class="ffb fc4">safe_function<span class="fc0">()<span class="_ _10"> </span>{</span></span></div><div class="t m0 x36 hf y222 ffb fs8 fc0 sc0 ls0 ws0">A<span class="_ _10"> </span>a{};<span class="_ _10"> </span><span class="ffc fc6">//<span class="_ _10"> </span>zero-initialization</span></div><div class="t m0 x36 hf y223 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>0</span>;<span class="_ _10"> </span>i<span class="_ _10"> </span><span class="fc5">&lt;<span class="_ _10"> </span>10</span>;<span class="_ _10"> </span>i<span class="fc5">++</span>)</span></span></div><div class="t m0 x37 hf y224 ffb fs8 fc0 sc0 ls0 ws0">a.x<span class="_ _10"> </span><span class="fc5">+=<span class="_ _10"> </span>1.0f</span>;</div><div class="t m0 x36 hf y225 ff5 fs8 fc8 sc0 ls0 ws0">return<span class="_ _10"> </span><span class="ffb fc0">a.x;</span></div><div class="t m0 x35 hf y226 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x35 hf y227 ffc fs8 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>what<span class="_ _10"> </span>is<span class="_ _10"> </span>the<span class="_ _10"> </span>behavior<span class="_ _10"> </span>???</div><div class="t m0 x1 h6 y228 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 xd h6 y229 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 x38 h10 y22a 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 y22b ffb fs8 fc9 sc0 ls0 ws0">reports<span class="_ _10"> </span>__cplusplus</div><div class="t m0 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">59/66</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.266000px;width:111.088000px;height:11.656000px;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:5.875000px;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="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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIuUlEQVR42u3YsU0DQRCG0V10I6IVNSAiKkCIGInOaIJyCCiCDoisjZjkyCjARr45/F4Bp/N/Dj5Nv3t4agAAUMbnx/uVFQAAqEakAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAADwq2emFQAAqCMiXFIBAChHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUA4NItJgDOYM55+kPGGJYEuBAuqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBgWz0zrQAAQB0R4ZIKAEA5IhUAAJEKAAAiFQAAkQoAAKdaTABsa855+kPGGJYE+E9cUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgDAtnpmWgEAgDoiwiUVAIByRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAnNmyo3edc/pgAADHGWPs6G1dUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgBQVc9MKwAAUEdEuKQCAFCOSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAgD+27Ohd55w+GADAccYYO3pbl1QAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAESqCQAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQCA1lrrmWkFAADqiAiXVAAAyhGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQCALS2H11srAADU9PX8doG/+v7xpfeb6/Xw3dq6rv4GAACU8APfCCv85JDCygAAAABJRU5ErkJggg=="/><div class="t m0 x5 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 ydb 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 ydc 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 x1 hf y217 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 x1 hf y219 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 x1 hf y22c ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>INFO_MACRO(my_func)<span class="_ _32"> </span>\</div><div class="t m0 x1 hf y118 ffc fs8 fca sc0 ls0 ws0">{<span class="_ _3b"> </span>\</div><div class="t m0 x13 hf y22d ffc fs8 fca sc0 ls0 ws0">my_func<span class="_ _3c"> </span>\</div><div class="t m0 x13 hf y22e 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 x39 hf y18e 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="_ _23"> </span>\</div><div class="t m0 x1 hf y22f ffc fs8 fca sc0 ls0 ws0">}</div><div class="t m0 x1 hf y230 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 x1 hf y231 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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">60/66</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAMYElEQVR42u3dT2ib9xnA8Z9Ty6orrKAWKcWTUoQ1TCY1A9vBnZvQ2PVGAgleDksLKS0jh7IxtsF2GdsxI4dtbAuFMdhK2aGEXpLQlpqRuls3JzUuhrZW/4BaE2w2bC80srFTKY69g6DZEhfGqG3J/XxORu/l9fNcvrzS+75NHb0PBwAAqBulN/6+wxQAAKg3IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAgE81VatVUwAAoH5EIhFXUgEAqDsiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQCATdPcQOe6uLhoYQAA/5+2trYGOltXUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKlGAACASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAD4HDUbAQCfZaxUGikW37py5ZMbN1Lx+EA+P9TT09rSYjLARmuqVquNcq6Li4sWBrA5rlerF995Z25h4cWJif/8vD2R+MWJE7Fo1Iig4bS1tTXKqUYiEV/3A7COC2++efby5d5c7rbP//Hxx2eGh80H2GgiFYB1jH/0USoeX/fQWKk0t7BgRIBIBWALxKLRpUrlJ0ND7YlECKE3lzt1/HghnQ4hzJXL5gOIVAA2WyGdnltYyKZShUzmS4lEIZ3OJpOFTKb93ntDCKmdO40I2FBunAJgHTNXr37vuedqfx/t6jq2b993n332kxs3av166rHHjAgajhunAGh46fvuG8jnTx48GEKorKycGx+Pt7aGEIa6uwcKBfMBNprnpAKwvsf7+kIII8Xin99+u/bJQD5fyGS+kk4bDrDRXEkFYH2peHxkcnIgnx/q7s4mk6l4/PG+vsnpaQ9JBTaBK6kAfKbJ6emlSmXv7t2FTKaQyZw+f37HDlc3AJEKwFabmp+fmp8PIdRePdWxa5eZACIVgC1w9tKl1paWoZ6eo93dtx06sGdPCGGkWJwrl2s/WgUQqQBskudHRzt27erN5e58M2ppdvbM8PC3H3nElACRCsAmWapUpubnKysrP3vhhVg02pvL1W7qn5qbm5ye/st77304OxtCGHzwQbMCNo6H+QPwX85eunT28uVTx4+HEEaKxbFSaalSiUWjhUwmhBBtbn64s/P0hQvZZPLXTz5pXNBAGuth/iIVgFtOPPNMNpnszeVaIpGJqamxUqk3l9t5zz3l5eXanf6JWGx/Z2cIYalSWbx+/afHjhkaiNSNiFRf9wNwy8n+/j++9trkzMzdkchXH3jg5MGDhUwmm0rVjo6VSqMffFC7zT+E8I29e00M2CAiFYBbsslkCCEVj//2qadaW1puO1q7j+rpwcEzw8NjpdLQHff+A3xePJMZgFumr169ubr6/UOH7izUT8Wi0W899NDdkchsuWxiwAbxm1QAgC+ExvpNqiupAADUHZEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJH6PykvLxdnZqwTAGB72A6vRb25uvrz8+dT8Xg+nbZRAIBtYDtcSX1+dHT22rWT/f3WCQAgUuvCW1eunBsf/8Hhw4lYzDoBAETq1isvL//mlVeOdnV1ZbN2CQAgUrfe2trameHhRCz2xIEDFgkAIFLrwosTE8WZmR8fORK56y6LBAAQqVvvw9nZP73++tOPPtqeSNgiAIBI3XrXq9VfvfxyX2dnfz5vhQAAIrUu/P7VV1dXV78zOGh/AAAitS789d13//b++z86cqS1pcX+AABE6tb757Vrv7t48Yn9+798//2WBwAgUrfeys2bv3zppc729m/29NgcAIBIrQvnxsf/tbDww8OHm5qabA4AYBtrbqBz3bt7976ODq8/BQAQqXWks73dwgAAvgh2GAEAACIVAABEKgAAIhUAAEQqAADbTVO1WjUFAADqRyQScSUVAIC6I1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAwPbWXD6dNQUAgIY2//U/bKd/Z8/XDjU17YyulSshrK2t2S8AAHXh3/63cFKkG56eAAAAAElFTkSuQmCC"/><div class="t m0 x5 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 x3a hc y186 ff1 fs7 fc0 sc0 ls0 ws0">Co<span class="_ _c"></span>de<span class="_ _f"> </span>injection</div><div class="t m0 x1 hf y232 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 x1 hf y233 ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>CHECK_ERROR(condition)<span class="_ _3d"> </span>\</div><div class="t m0 x1 hf y234 ffc fs8 fca sc0 ls0 ws0">{<span class="_ _3e"> </span>\</div><div class="t m0 x12 hf y235 ffc fs8 fca sc0 ls0 ws0">if<span class="_ _10"> </span>(condition)<span class="_ _10"> </span>{<span class="_ _3f"> </span>\</div><div class="t m0 x3b hf y236 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 xa hf y237 ffc fs8 fca sc0 ls0 ws0">__LINE__);<span class="_ _40"> </span>\</div><div class="t m0 x12 hf y238 ffc fs8 fca sc0 ls0 ws0">}<span class="_ _41"> </span>\</div><div class="t m0 x1 hf y239 ffc fs8 fca sc0 ls0 ws0">}</div><div class="t m0 x1 hf y23a 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 x1 hf y23b 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 x1 hf y23c 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 x3c h14 y23c ff1a fs8 fc6 sc0 ls0 ws0"><span class="fcd sc0">A</span></div><div class="t m0 x1 hf y23d 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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">61/66</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf43" class="pf w0 h0" data-page-no="43"><div class="pc pc43 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 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 xc hc y23e fff fs7 fc0 sc0 ls0 ws0"><span class="_ _26"> </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 x7 hc y23f 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 xc hc y240 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="_ _a"> </span>wa<span class="_ _5"></span>rning<span class="_ _a"> </span>message</span></span></span></span></div><div class="t m0 x7 hc y241 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 x7 hc y242 ff4 fs7 fc0 sc0 ls0 ws0">p<span class="_ _5"></span>ro<span class="_ _c"></span>cess</div><div class="t m0 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">62/66</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf44" class="pf w0 h0" data-page-no="44"><div class="pc pc44 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x5 h17 y7 ff5 fs3 fc1 sc0 ls0 ws0">#pragma</div><div class="t m0 x1 hc y243 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="_ _a"> </span>b<span class="_ _c"></span>ehavior<span class="_ _a"> </span>of<span class="_ _f"> </span>the<span class="_ _a"> </span>compiler.<span class="_ _b"> </span>In</div><div class="t m0 x1 hc y244 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 xc hc y245 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _26"> </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 x7 hc y246 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 xc hc y247 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _26"> </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 x7 hc y248 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 xc hc y249 fff fs7 fc0 sc0 ls0 ws0"><span class="_ _26"> </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 x7 hc y24a 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 x7 hf y24b ffc fs8 fca sc0 ls0 ws0">#<span class="_ _21"> </span>define<span class="_ _10"> </span>MY_MESSAGE<span class="_ _10"> </span>\</div><div class="t m0 x20 hf y24c ffc fs8 fca sc0 ls0 ws0">_Pragma(&quot;message(\&quot;hello\&quot;)&quot;)</div><div class="t m0 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">63/66</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf45" class="pf w0 h0" data-page-no="45"><div class="pc pc45 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIj0lEQVR42u3YsU3DUBSGUb/IV1RPzBBRMUGEqCOxGUswTooMkQ2ooldxG9OlTBEhcq2cM4Bt/W4+3faye58AAKCM0/GwsQIAANWIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAALlpmWgEAgDoiwiUVAIByRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQCobTYBAFyMMf7nRb13a8MVLqkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEA4L5aZloBAIA6IsIlFQCAckQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgDAA5lX9K1jDD8MAOA2vfcVfa1LKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAItUEAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQBYmZaZVgAAoI6IcEkFAKAckQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAYL3m8+fWCgAA3Ox7//W3D3x9+2jt+Wk5/0zTsiwWBgCghF+QiCAAmvTSqQAAAABJRU5ErkJggg=="/><div class="t m0 x5 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 x11 h12 y126 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="_ _f"> </span>no<span class="_ _a"> </span>blank<span class="_ _f"> </span>spaces)</div><div class="t m0 x1 hf y24d 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 x13 hf y24e ffc fs8 fca sc0 ls0 ws0">void<span class="_ _10"> </span>tokenA##tokenB()<span class="_ _10"> </span>{}</div><div class="t m0 x1 hf y24f 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 x13 hf y250 ffc fs8 fca sc0 ls0 ws0">void<span class="_ _10"> </span>tokenA##_##tokenB()<span class="_ _10"> </span>{}</div><div class="t m0 x1 hf y251 ffb fs8 fc0 sc0 ls0 ws0">FUNC_GEN_A(my,<span class="_ _10"> </span>function)</div><div class="t m0 x1 hf y252 ffb fs8 fc0 sc0 ls0 ws0">FUNC_GEN_B(my,<span class="_ _10"> </span>function)</div><div class="t m0 x1 hf y253 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 x1 hf y254 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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">64/66</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf46" class="pf w0 h0" data-page-no="46"><div class="pc pc46 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIkUlEQVR42u3YMUoDQRTH4TeyD6vBM0gqTxDEWsjNvITHsfAQuYFVmCrTrJ1YhoDylnxfvcXw3+bHa7v9SwAAQBnHz487KwAAUI1IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQDgR5tzWgEAgDoy0yUVAIByRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAEBERiwkAfhtjGKGs3rsR4Ea4pAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAgG1rc04rAABQR2a6pAIAUI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAA11k29NYxhh8GAHCd3vuGXuuSCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASDUBAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAABAR0eacVgAAoI7MdEkFAKAckQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAA/2w5vT1aAQCAv/b1+n7hl0/Ph9Ye7tfTOWJdV9MBAFDCN4qgIABJb5mHAAAAAElFTkSuQmCC"/><div class="t m0 x5 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 x3d h12 y126 ff14 fs5 fc1 sc0 ls0 ws0"></div><div class="t m0 x1 hc ydb 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 ydc 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 y255 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="_ _1e"> </span></span>in<span class="_ _8"> </span>the<span class="_ _6"> </span>macro<span class="_ _8"> </span>replacement<span class="_ _f"> </span>list</div><div class="t m0 x1 hc y133 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 y256 ff4 fs4 fc0 sc0 ls0 ws0">Example:</div><div class="t m0 x1 hf y257 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="_ _42"> </span>{<span class="_ _10"> </span>printf(<span class="fc7">&quot;%d&quot;</span>,<span class="_ _10"> </span>a);<span class="_ _43"> </span>}</span></div><div class="t m0 x1 hf y258 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 x1 hf y259 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 x1 hf y25a 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 x13 hf y25b ffc fs8 fca sc0 ls0 ws0">f(<span class="fc4">__VA_ARGS__</span>);</div><div class="t m0 x1 hf y25c 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 x1 hf y25d 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 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">65/66</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf47" class="pf w0 h0" data-page-no="47"><div class="pc pc47 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIhUlEQVR42u3YsW0CQRCG0Vt0I6KVExpALoLAvZHSGAFFOKSB00ZMcs6ITIIczFnvVbD6N/k07fP0NQEAQBnft+vOCgAAVCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAB4aplpBQAA6ogIl1QAAMoRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEA+K/mDb11jOHDAADe03vf0GtdUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAC81jLTCgAA1BERLqkAAJQjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAA8Mq8obeOMXwYAMB7eu8beq1LKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAItUEAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAADwt1pmWgEAgDoiwiUVAIByRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEA4DfzcjlaAQCAOg7ne2sf+3V5TNO6rgYBAKCEH+BAHwDadxAIAAAAAElFTkSuQmCC"/><div class="t m0 x5 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Macro<span class="_ _8"> </span>T<span class="_ _7"></span>rick</div><div class="t m0 x3e h12 y126 ff14 fs5 fc1 sc0 ls0 ws0"></div><div class="t m0 x1 hc y25e 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 x1 hf y25f 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 x1 hf y260 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 y261 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 x1 hf y262 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 x12 hf y263 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 x12 hf y264 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 x12 hf y265 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 x12 hf y266 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 x1 hf y267 ffb fs8 fc0 sc0 ls0 ws0">}</div><div class="t m0 x10 h9 yf ff6 fs5 fc0 sc0 ls0 ws0">66/66</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>