{"id":3201,"date":"2018-11-23T20:10:18","date_gmt":"2018-11-23T18:10:18","guid":{"rendered":"https:\/\/mariusbancila.ro\/blog\/?p=3201"},"modified":"2018-11-26T12:04:04","modified_gmt":"2018-11-26T10:04:04","slug":"join-the-east-const-revolution","status":"publish","type":"post","link":"https:\/\/mariusbancila.ro\/blog\/2018\/11\/23\/join-the-east-const-revolution\/","title":{"rendered":"Join the East Const revolution!"},"content":{"rendered":"<p>The C++ community has worked hard in the past decade and more to move the language forward, to enrich but also simplify it, and to adopt new paradigms and coding styles. Yet, a single topic, a simple matter of style is splitting the community, in a pure Swiftian manner: the use of the <tt>const<\/tt> qualifier that some prefer it on the left of what it modifies, as it has been the de facto standard for decades, and which is now called <strong>West const<\/strong>, or to the right of that it modifies, that is a style that more and more people are adopting, and which is now called <strong>East const<\/strong>. I don&#8217;t particularly like this terms, I would rather use <strong>left const<\/strong> and <strong>right const<\/strong>, but if this is what the community prefers to use let&#8217;s call them so for consistency.<\/p>\n<p><!-- more --><\/p>\n<p>In the recent past, more and more flames have erupted on this topic, with people discussing it at conferences, on social media, or blog posts. This reminds me of the great war between the people of Lilliput and Belfuscu described by Johnathan Swift in Gulliver&#8217;s Travels:<\/p>\n<p><em>It is allowed on all Hands, that the primitive way of breaking Eggs, before we eat them, was upon the larger End: But his present Majesty&#8217;s Grand-father, while he was a Boy, going to eat an Egg, and breaking it according to the ancient Practice, happened to cut one of his Fingers. Whereupon the Emperor his Father published an Edict, commanding all his Subjects, upon great Penaltys, to break the smaller End of their Eggs. The People so highly resented this Law, that our Histories tell us there have been six Rebellions raised on that account; wherein one Emperor lost his Life, and another his Crown. These civil Commotions were constantly fomented by the Monarchs of Blefuscu; and when they were quelled, the Exiles always fled for Refuge to that Empire. It is computed, that eleven thousand Persons have, at several times, suffered Death, rather than submit to break their Eggs at the smaller End.<\/em><\/p>\n<p>Although breaking an egg at its little or big end  was the cause for such a great war (and which, by the way, is the etymology of the little endian and big endian terms used to denote the sequential order bytes are stored in memory or transmitted over a network) it is, however, ultimately described as a matter of personal preference:<\/p>\n<p><em>This, however, is thought to be a meer Strain upon the Text: For the Words are these: That all true Believers shall break their Eggs at the convenient End: and which is the convenient End, seems, in my humble Opinion, to be left to every Man&#8217;s Conscience, or at least in the power of the Chief Magistrate to determine.<\/em><\/p>\n<h3>How <tt>const<\/tt> works<\/h3>\n<p>The <tt>const<\/tt> qualifier is applied to what&#8217;s on its left. If there is nothing of its left, then it is applied to what it is on its right. Therefore, the following two are equivalent:<\/p>\n<pre class=\"lang:c++ decode:true \" >int const a = 42;  \/\/ East const\r\nconst int a = 42;  \/\/ West const<\/pre>\n<p>In both cases, <tt>a<\/tt> is a constant integer. Notice though that we read the declaration from right to left and the East const style enables us to write the declaration exactly in that manner. That becomes even more useful when pointers are involved:<\/p>\n<pre class=\"lang:c++ decode:true \" >\r\nint * p;             \/\/ p is a mutable pointer to a mutable int\r\nint const * p;       \/\/ p is a mutable pointer to a constant int\r\nint * const p;       \/\/ p is a constant pointer to a mutable int\r\nint const * const p; \/\/ p is a constant pointer to a constant int<\/pre>\n<p>These declarations are harder to read when the West const notation is used.<\/p>\n<pre class=\"lang:c++ decode:true \" >\r\nconst int * p;       \/\/ p is a mutable pointer to a constant int\r\nint * const p;       \/\/ p is a constant pointer to a mutable int\r\nconst int * const p; \/\/ p is a constant pointer to a constant int<\/pre>\n<p>Here is another example: in both cases <tt>p<\/tt> is a constant pointer to a mutable int, but the second alternative (the East const one) is more logical.<\/p>\n<pre class=\"lang:c++ decode:true \" >using int_ptr = int*;\r\nconst int_ptr p;\r\nint_ptr const p;<\/pre>\n<p>There is also the following situation when you declare multiple constants in a single declaration. In the following example, <tt>a<\/tt>, <tt>b<\/tt> and <tt>c<\/tt> are all constant integers, but some argue that the West const alternative is better denoting this. I do believe in single line declarations, I&#8217;m never writing code like this and I believe this should be discouraged. <\/p>\n<pre class=\"lang:c++ decode:true \" >\r\nconst int a = 1, b = 2, c = 3;\r\nint const a = 1, b = 2, c = 3;<\/pre>\n<p>The East const style is also consistent with the way constant member functions are declared, with the <tt>const<\/tt> qualifier on the right.<\/p>\n<pre class=\"lang:c++ decode:true \" >int get() const;<\/pre>\n<h3>The arguments against East const<\/h3>\n<p>The supporters of the West const bring two main arguments against using East const, none of which being really strong.<\/p>\n<p>The most important argument is that West const is the traditional style, that the standard itself uses it, and that most of the C++ codebase ever written is using it. That&#8217;s the same argument raised for ages against new things. It&#8217;s the inertia to change but it eventually cannot stop the progress. <\/p>\n<p>The C++ Core Guidelines, edited by Bjarne Stroustrup and Herb Sutter, go as far as defining a naming and layout ruled <a href=\"https:\/\/github.com\/isocpp\/CppCoreGuidelines\/blob\/master\/CppCoreGuidelines.md#Rl-const\" rel=\"noopener\" target=\"_blank\">NL.26: Use conventional const notation<\/a> that says that the East const is <em>&#8220;more logical&#8221;<\/em> but recommend using West const because <em>&#8220;Conventional notation is more familiar to more programmers.&#8221;<\/em> and for <em>&#8220;Consistency in large code bases.&#8221;<\/em> And they even specify an enforcement to <em>&#8220;Flag const used as a suffix for a type.&#8221;<\/em> <\/p>\n<p>I believe this guideline rule is wrong and should be removed. Not only people should be free to choose their coding style, but they should be encouraged to use the more logical approach, as NL. 26 acknowledges that East const is.<\/p>\n<p>The other argument is that the English language has prepositive adjectives (such as in <em>big book<\/em> or <em>peaceful moment<\/em>), and although many other languages don&#8217;t, English is the lingua franca of software engineering and programming languages should adhere to English rules. This argument is probably best explained by Borislav Stanimirov in a CppCon talk called <a href=\"https:\/\/www.youtube.com\/watch?v=Dw0UBuTKHHg\" rel=\"noopener\" target=\"_blank\">The Bad Big Wolf Meets Riding Hood Little Red<\/a>. <\/p>\n<p>I personally disagree with this argument too because I don&#8217;t think C++ is English (although, of course, it uses a series of English words as keywords and reserved words) and I don&#8217;t think English grammar rules should come before C++ grammar rules. Since C++ declarations are best read from right to left, the position of adjectives in the English language should be irrelevant. <\/p>\n<p>Those that defend the West const style argue (mostly for the fun of it) that if the standard committee wanted us to use East const there would be no <tt>constexpr<\/tt>, <tt>consteval<\/tt>, or <tt>const_cast<\/tt> but <tt>exprconst<\/tt>, <tt>evalconst<\/tt>, and <tt>cast_const<\/tt>. These are all keywords, and as we already established, they are all English words, so it makes sense that they follow the prepositive adjective rule. That&#8217;s also the reason we refer to these styles as <em>West const<\/em> and <em>East const<\/em> and not <em>const West<\/em> and <em>const East<\/em>.<\/p>\n<h3>Join the revolution<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2018\/11\/fistsmall2.png\" alt=\"\" width=\"151\" height=\"200\" class=\"alignleft size-full wp-image-3231\" \/>It&#8217;s time to put the past aside and adopt a better coding style concerning <tt>const<\/tt> and that style is East const. <\/p>\n<p>Therefore, I urge you to join this revolution of coding and place the <tt>const<\/tt> qualifier to the right of the type that it qualifies. And also teach others, colleagues, students, strangers to use this style so they could write not only modern C++ code but modern const consistent C++ code too.<\/p>\n<p>And do check the <a href=\"http:\/\/slashslash.info\/petition\/\" target=\"_blank\">Petition for const Consistency<\/a>!<\/p>\n<h3>Further readings<\/h3>\n<p>See also:<\/p>\n<ul>\n<li><a href=\"http:\/\/www.drdobbs.com\/cpp\/simplifying-const-syntax\/231601151\" target=\"_blank\">Simplifying const Syntax<\/a><\/li>\n<li><a href=\"http:\/\/slashslash.info\/2018\/02\/a-foolish-consistency\/\" target=\"_blank\">A Foolish Consistency<\/a><\/li>\n<li><a href=\"http:\/\/slashslash.info\/eastconst\/\" target=\"_blank\">East const Central<\/a><\/li>\n<li><a href=\"https:\/\/arne-mertz.de\/2018\/05\/trailing-return-types-east-const-and-code-style-consistency\/\" target=\"_blank\">Trailing Return Types, East Const, and Code Style Consistency<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>The C++ community has worked hard in the past decade and more to move the language forward, to enrich but also simplify it, and to adopt new paradigms and coding styles. Yet, a single topic, a simple matter of style is splitting the community, in a pure Swiftian manner: the use of the <tt>const<\/tt> qualifier that some prefer it on the left of what it modifies, as it has been the de facto standard for decades, and which is now called <strong>West const<\/strong>, or to the right of that it modifies, that is a style that more and more people are adopting, and which is now called <strong>East const<\/strong>. I don&#8217;t particularly like this terms, I would rather use <strong>left const<\/strong> and <strong>right const<\/strong>, but if this is what the community prefers to use let&#8217;s call them so for consistency.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","advgb_blocks_editor_width":"","advgb_blocks_columns_visual_guide":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[7],"tags":[451,571,570,569],"class_list":["post-3201","post","type-post","status-publish","format-standard","hentry","category-c","tag-c","tag-consistency","tag-const","tag-style"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Marius Bancila\"\/>\n\t<meta name=\"keywords\" content=\"c++,consistency,const,style\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/mariusbancila.ro\/blog\/2018\/11\/23\/join-the-east-const-revolution\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Marius Bancila&#039;s Blog | About code. Mostly on C++\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Join the East Const revolution!\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/mariusbancila.ro\/blog\/2018\/11\/23\/join-the-east-const-revolution\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2018-11-23T18:10:18+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2018-11-26T10:04:04+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Join the East Const revolution!\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2018\\\/11\\\/23\\\/join-the-east-const-revolution\\\/#article\",\"name\":\"Join the East Const revolution!\",\"headline\":\"Join the East Const revolution!\",\"author\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/wp-content\\\/uploads\\\/2018\\\/11\\\/fistsmall2.png\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2018\\\/11\\\/23\\\/join-the-east-const-revolution\\\/#articleImage\",\"width\":151,\"height\":200},\"datePublished\":\"2018-11-23T20:10:18+02:00\",\"dateModified\":\"2018-11-26T12:04:04+02:00\",\"inLanguage\":\"en-US\",\"commentCount\":11,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2018\\\/11\\\/23\\\/join-the-east-const-revolution\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2018\\\/11\\\/23\\\/join-the-east-const-revolution\\\/#webpage\"},\"articleSection\":\"C++, C++, consistency, const, style\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2018\\\/11\\\/23\\\/join-the-east-const-revolution\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/#listItem\",\"name\":\"IT\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/#listItem\",\"position\":2,\"name\":\"IT\",\"item\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/#listItem\",\"name\":\"Software\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/#listItem\",\"position\":3,\"name\":\"Software\",\"item\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/c\\\/#listItem\",\"name\":\"C++\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/#listItem\",\"name\":\"IT\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/c\\\/#listItem\",\"position\":4,\"name\":\"C++\",\"item\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/c\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2018\\\/11\\\/23\\\/join-the-east-const-revolution\\\/#listItem\",\"name\":\"Join the East Const revolution!\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/#listItem\",\"name\":\"Software\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2018\\\/11\\\/23\\\/join-the-east-const-revolution\\\/#listItem\",\"position\":5,\"name\":\"Join the East Const revolution!\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/c\\\/#listItem\",\"name\":\"C++\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#organization\",\"name\":\"Marius Bancila's Blog\",\"description\":\"About code. Mostly on C++\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/#author\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/\",\"name\":\"Marius Bancila\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2018\\\/11\\\/23\\\/join-the-east-const-revolution\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a84dd2831d955c38355ddea55df4df260809b88f36408bc14fd4eab8f7f131c9?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Marius Bancila\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2018\\\/11\\\/23\\\/join-the-east-const-revolution\\\/#webpage\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2018\\\/11\\\/23\\\/join-the-east-const-revolution\\\/\",\"name\":\"Join the East Const revolution!\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2018\\\/11\\\/23\\\/join-the-east-const-revolution\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/#author\"},\"datePublished\":\"2018-11-23T20:10:18+02:00\",\"dateModified\":\"2018-11-26T12:04:04+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/\",\"name\":\"Marius Bancila's Blog\",\"description\":\"About code. Mostly on C++\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Join the East Const revolution!","description":"","canonical_url":"https:\/\/mariusbancila.ro\/blog\/2018\/11\/23\/join-the-east-const-revolution\/","robots":"max-image-preview:large","keywords":"c++,consistency,const,style","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/mariusbancila.ro\/blog\/2018\/11\/23\/join-the-east-const-revolution\/#article","name":"Join the East Const revolution!","headline":"Join the East Const revolution!","author":{"@id":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/#author"},"publisher":{"@id":"https:\/\/mariusbancila.ro\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2018\/11\/fistsmall2.png","@id":"https:\/\/mariusbancila.ro\/blog\/2018\/11\/23\/join-the-east-const-revolution\/#articleImage","width":151,"height":200},"datePublished":"2018-11-23T20:10:18+02:00","dateModified":"2018-11-26T12:04:04+02:00","inLanguage":"en-US","commentCount":11,"mainEntityOfPage":{"@id":"https:\/\/mariusbancila.ro\/blog\/2018\/11\/23\/join-the-east-const-revolution\/#webpage"},"isPartOf":{"@id":"https:\/\/mariusbancila.ro\/blog\/2018\/11\/23\/join-the-east-const-revolution\/#webpage"},"articleSection":"C++, C++, consistency, const, style"},{"@type":"BreadcrumbList","@id":"https:\/\/mariusbancila.ro\/blog\/2018\/11\/23\/join-the-east-const-revolution\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog#listItem","position":1,"name":"Home","item":"https:\/\/mariusbancila.ro\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/#listItem","name":"IT"}},{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/#listItem","position":2,"name":"IT","item":"https:\/\/mariusbancila.ro\/blog\/category\/it\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/#listItem","name":"Software"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/#listItem","position":3,"name":"Software","item":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/#listItem","name":"C++"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/#listItem","name":"IT"}},{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/#listItem","position":4,"name":"C++","item":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/2018\/11\/23\/join-the-east-const-revolution\/#listItem","name":"Join the East Const revolution!"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/#listItem","name":"Software"}},{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/2018\/11\/23\/join-the-east-const-revolution\/#listItem","position":5,"name":"Join the East Const revolution!","previousItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/#listItem","name":"C++"}}]},{"@type":"Organization","@id":"https:\/\/mariusbancila.ro\/blog\/#organization","name":"Marius Bancila's Blog","description":"About code. Mostly on C++","url":"https:\/\/mariusbancila.ro\/blog\/"},{"@type":"Person","@id":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/#author","url":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/","name":"Marius Bancila","image":{"@type":"ImageObject","@id":"https:\/\/mariusbancila.ro\/blog\/2018\/11\/23\/join-the-east-const-revolution\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/a84dd2831d955c38355ddea55df4df260809b88f36408bc14fd4eab8f7f131c9?s=96&d=mm&r=g","width":96,"height":96,"caption":"Marius Bancila"}},{"@type":"WebPage","@id":"https:\/\/mariusbancila.ro\/blog\/2018\/11\/23\/join-the-east-const-revolution\/#webpage","url":"https:\/\/mariusbancila.ro\/blog\/2018\/11\/23\/join-the-east-const-revolution\/","name":"Join the East Const revolution!","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/mariusbancila.ro\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/mariusbancila.ro\/blog\/2018\/11\/23\/join-the-east-const-revolution\/#breadcrumblist"},"author":{"@id":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/#author"},"creator":{"@id":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/#author"},"datePublished":"2018-11-23T20:10:18+02:00","dateModified":"2018-11-26T12:04:04+02:00"},{"@type":"WebSite","@id":"https:\/\/mariusbancila.ro\/blog\/#website","url":"https:\/\/mariusbancila.ro\/blog\/","name":"Marius Bancila's Blog","description":"About code. Mostly on C++","inLanguage":"en-US","publisher":{"@id":"https:\/\/mariusbancila.ro\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"Marius Bancila's Blog | About code. Mostly on C++","og:type":"article","og:title":"Join the East Const revolution!","og:url":"https:\/\/mariusbancila.ro\/blog\/2018\/11\/23\/join-the-east-const-revolution\/","article:published_time":"2018-11-23T18:10:18+00:00","article:modified_time":"2018-11-26T10:04:04+00:00","twitter:card":"summary","twitter:title":"Join the East Const revolution!"},"aioseo_meta_data":{"post_id":"3201","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2021-03-18 21:04:15","updated":"2025-12-12 07:51:30","seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"author_meta":{"display_name":"Marius Bancila","author_link":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/"},"featured_img":null,"jetpack_publicize_connections":[],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Marius Bancila","author_link":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/"},"uagb_comment_info":11,"uagb_excerpt":"The C++ community has worked hard in the past decade and more to move the language forward, to enrich but also simplify it, and to adopt new paradigms and coding styles. Yet, a single topic, a simple matter of style is splitting the community, in a pure Swiftian manner: the use of the const qualifier&hellip;","coauthors":[],"tax_additional":{"categories":{"linked":["<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/\" class=\"advgb-post-tax-term\">C++<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">C++<\/span>"]},"tags":{"linked":["<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/\" class=\"advgb-post-tax-term\">C++<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/\" class=\"advgb-post-tax-term\">consistency<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/\" class=\"advgb-post-tax-term\">const<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/\" class=\"advgb-post-tax-term\">style<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">C++<\/span>","<span class=\"advgb-post-tax-term\">consistency<\/span>","<span class=\"advgb-post-tax-term\">const<\/span>","<span class=\"advgb-post-tax-term\">style<\/span>"]}},"comment_count":"11","relative_dates":{"created":"Posted 8 years ago","modified":"Updated 8 years ago"},"absolute_dates":{"created":"Posted on November 23, 2018","modified":"Updated on November 26, 2018"},"absolute_dates_time":{"created":"Posted on November 23, 2018 8:10 pm","modified":"Updated on November 26, 2018 12:04 pm"},"featured_img_caption":"","series_order":"","jetpack_shortlink":"https:\/\/wp.me\/pYNdv-PD","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/posts\/3201","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/comments?post=3201"}],"version-history":[{"count":41,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/posts\/3201\/revisions"}],"predecessor-version":[{"id":3245,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/posts\/3201\/revisions\/3245"}],"wp:attachment":[{"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/media?parent=3201"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/categories?post=3201"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/tags?post=3201"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}