<?xml-stylesheet type="text/xsl" href="https://community.element14.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>modern C++ modules</title><link>/technologies/code_exchange/b/blog/posts/modern-c-modules</link><description>Since C++20, a new feature is available: modules .
We&amp;#39;re all used to C++ header and source files. And we all know their pros and cons. Because I&amp;#39;m reviewing a new C++ alternative for them, I&amp;#39;ll focus on the cons of header files:

header file...</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: modern C++ modules</title><link>https://community.element14.com/technologies/code_exchange/b/blog/posts/modern-c-modules</link><pubDate>Wed, 06 Aug 2025 18:25:44 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:8e7b8dae-7829-4acc-98c7-f5ca755c713f</guid><dc:creator>Jan Cumps</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;ARM and RISCV developers: the latest ARM GCC release 14.2, and the latest Pico RISC release&amp;nbsp;RISCV_ZCB_RPI_2_1_1_3 have full support for this.&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=28574&amp;AppID=74&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: modern C++ modules</title><link>https://community.element14.com/technologies/code_exchange/b/blog/posts/modern-c-modules</link><pubDate>Mon, 02 Dec 2024 23:33:38 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:8e7b8dae-7829-4acc-98c7-f5ca755c713f</guid><dc:creator>vmate</dc:creator><slash:comments>2</slash:comments><description>&lt;blockquote&gt;
&lt;p&gt;header files&amp;nbsp;don&amp;#39;t know the C++ language. They are handled by the precompiler (before C++ analysis starts)&amp;nbsp;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Are you sure about this? Header files aren&amp;#39;t special in any way, we just call them that to signify their purpose. You can put your whole implementation in the header if you want to, which is quite common for simple libraries (&amp;quot;header only library&amp;quot;). &lt;br /&gt;&lt;br /&gt;Header inclusion order shouldn&amp;#39;t be an issue either with properly written code.&lt;br /&gt;&lt;br /&gt;The advantages seem to be about ease of use(not having to write separate headers), compilation speed, and proper isolation of modules.&lt;br /&gt;&lt;br /&gt;Also, CLion seems to have proper support for C++20 features, including modules, so try that out.&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=28574&amp;AppID=74&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item></channel></rss>