<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	 xmlns:media="http://search.yahoo.com/mrss/" >

<channel>
	<title>Riccardo Ressi &#8211; Bitmovin</title>
	<atom:link href="https://bitmovin.com/author/ressi/feed" rel="self" type="application/rss+xml" />
	<link>https://bitmovin.com</link>
	<description>Bitmovin provides adaptive streaming infrastructure for video publishers and integrators. Fastest cloud encoding and HTML5 Player. Play Video Anywhere.</description>
	<lastBuildDate>Thu, 22 Dec 2022 14:32:53 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://bitmovin.com/wp-content/uploads/2023/11/bitmovin_favicon.svg</url>
	<title>Riccardo Ressi &#8211; Bitmovin</title>
	<link>https://bitmovin.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Celebrating C++: State of the Art Standards for All</title>
		<link>https://bitmovin.com/c-language-bitmovin-14-17-20</link>
		
		<dc:creator><![CDATA[Riccardo Ressi]]></dc:creator>
		<pubDate>Tue, 04 Feb 2020 16:10:09 +0000</pubDate>
				<category><![CDATA[Developers]]></category>
		<category><![CDATA[API]]></category>
		<guid isPermaLink="false">https://bitmovin.com/?p=84362</guid>

					<description><![CDATA[<p>With 2020 coming into full swing &#8211; it’s time for Bitmovin and our engineering teams to not only reflect on the past year but also to celebrate the growth of standards in the development industry for the past half-century. December 2019 was a historic month for computing &#8211; as it was the official month when...</p>
<p>The post <a rel="nofollow" href="https://bitmovin.com/c-language-bitmovin-14-17-20">Celebrating C++: State of the Art Standards for All</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><span style="font-weight: 400;">With 2020 coming into full swing &#8211; it’s time for Bitmovin and our engineering teams to not only reflect on the past </span><b>year</b><span style="font-weight: 400;"> but also to celebrate the growth of standards in the development industry for the past half-century. December 2019 was a historic month for computing &#8211; as it was the official month when the venerable coding language, C++, turned 40 years old. </span><br />
<span style="font-weight: 400;">At the very base, Engineers at Bitmovin use C++ for performance-critical parts of our</span><a href="https://bitmovin.com/video-encoding-data-sheet/"> <span style="font-weight: 400;">Encoding service</span></a><span style="font-weight: 400;">; but our usage extends to the rest of our teams as we are obsessed with state of the art code. We allow little-to-no leniency in our code for unnecessary computations, and yet, we’ve designed our code to remain expressive and easy to understand. This is one of the reasons behind the success of our products. In addition, using state of the art programming features enables speedy updates to satisfy any new features that our customers request from our products.</span></p>
<h2><img fetchpriority="high" decoding="async" class="alignnone size-full wp-image-94269" src="https://bitmovin.com/wp-content/uploads/2020/02/Partnership-CPP-1.png" alt="bitmovin-CPP" width="1080" height="540" /></h2>
<h2><span style="font-weight: 400;">Growth of C++ </span></h2>
<p><span style="font-weight: 400;">As C++ evolves and improves, our Bitmovers are keen to upgrade our code alongside the powerhouse language. To do so, we look forward to implementing C++20 once compilers reach maturity with related features. As we prepare for the coming year, this blog acts as an opportunity to review all the features that have been added to C++ in 2014 and 2017 (as well as the improvements and uses that Bitmovin has applied)</span></p>
<h2><span style="font-weight: 400;">About C++14</span></h2>
<p><span style="font-weight: 400;">With this evolutionary iteration of C++, lambda functions have been improved considerably.</span><br />
<span style="font-weight: 400;">We can use keyword </span><b>auto </b><span style="font-weight: 400;">to let the compiler infer the type of input parameters making lambda functions working as templates:</span><br />
<img decoding="async" class="aligncenter wp-image-84363 size-full" src="https://bitmovin.com/wp-content/uploads/2019/12/C-Post-Image-1.png" alt="C++ Auto Compiler" width="1248" height="362" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-1-300x87.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-1.png?size=384x111&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-1-768x223.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-1-1024x297.png?lossy=2&amp;strip=1&amp;webp=1 1024w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-1.png?size=1152x334&amp;lossy=2&amp;strip=1&amp;webp=1 1152w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-1.png?lossy=2&amp;strip=1&amp;webp=1 1248w" sizes="(max-width: 1248px) 100vw, 1248px" /><br />
<span style="font-weight: 400;">Capturing variables on lambda function also gained a lot of flexibility thanks to </span><i><span style="font-weight: 400;">generalized lambda capture</span></i><span style="font-weight: 400;">:</span><br />
<img decoding="async" class="size-full wp-image-84378 aligncenter" src="https://bitmovin.com/wp-content/uploads/2019/12/C-Post-Image-2.png" alt="Generalized lambda capture" width="1248" height="204" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-2-300x49.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-2.png?size=384x63&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-2-768x126.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-2-1024x167.png?lossy=2&amp;strip=1&amp;webp=1 1024w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-2.png?size=1152x188&amp;lossy=2&amp;strip=1&amp;webp=1 1152w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-2.png?lossy=2&amp;strip=1&amp;webp=1 1248w" sizes="(max-width: 1248px) 100vw, 1248px" /></p>
<h3><span style="font-weight: 400;">C++ contexpr</span></h3>
<p><span style="font-weight: 400;">It is possible to move more computation to compile time thanks to the fact that it is possible to write </span><b>constexpr</b><span style="font-weight: 400;"> functions made of multiple statements and with conditional blocks:</span><br />
<img loading="lazy" decoding="async" class="size-full wp-image-84377 aligncenter" src="https://bitmovin.com/wp-content/uploads/2019/12/C-Post-Image-3.png" alt="C++ contexpr keyword" width="1248" height="244" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-3-300x59.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-3.png?size=384x75&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-3-768x150.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-3-1024x200.png?lossy=2&amp;strip=1&amp;webp=1 1024w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-3.png?size=1152x225&amp;lossy=2&amp;strip=1&amp;webp=1 1152w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-3.png?lossy=2&amp;strip=1&amp;webp=1 1248w" sizes="(max-width: 1248px) 100vw, 1248px" /><br />
<span style="font-weight: 400;">Finally, it&#8217;s worth mentioning that a standard way to deprecate features has been introduced:</span><br />
<img loading="lazy" decoding="async" class="size-full wp-image-84376 aligncenter" src="https://bitmovin.com/wp-content/uploads/2019/12/C-Post-Image-4.png" alt="C++ Deprecation" width="1248" height="48" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-4-300x12.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-4.png?size=384x15&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-4-768x30.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-4-1024x39.png?lossy=2&amp;strip=1&amp;webp=1 1024w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-4.png?size=1152x44&amp;lossy=2&amp;strip=1&amp;webp=1 1152w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-4.png?lossy=2&amp;strip=1&amp;webp=1 1248w" sizes="(max-width: 1248px) 100vw, 1248px" /></p>
<h3><span style="font-weight: 400;">Coding with C++17</span></h3>
<p><span style="font-weight: 400;">Variadic templates are much easier to implement with this evolutionary iteration of C++ thanks to </span><i><span style="font-weight: 400;">folded expressions</span></i><span style="font-weight: 400;">:</span><br />
<img loading="lazy" decoding="async" class="size-full wp-image-84375 aligncenter" src="https://bitmovin.com/wp-content/uploads/2019/12/C-Post-Image-5.png" alt="C++ Folded Expressions" width="1248" height="204" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-5-300x49.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-5.png?size=384x63&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-5-768x126.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-5-1024x167.png?lossy=2&amp;strip=1&amp;webp=1 1024w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-5.png?size=1152x188&amp;lossy=2&amp;strip=1&amp;webp=1 1152w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-5.png?lossy=2&amp;strip=1&amp;webp=1 1248w" sizes="(max-width: 1248px) 100vw, 1248px" /><br />
<span style="font-weight: 400;">It is possible to have conditional blocks to be evaluated only at compile time as an alternative to function overloads:</span><br />
<img loading="lazy" decoding="async" class="size-full wp-image-84374 aligncenter" src="https://bitmovin.com/wp-content/uploads/2019/12/C-Post-Image-6.png" alt="C++ Conditional Blocks" width="1248" height="368" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-6-300x88.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-6.png?size=384x113&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-6-768x226.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-6-1024x302.png?lossy=2&amp;strip=1&amp;webp=1 1024w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-6.png?size=1152x340&amp;lossy=2&amp;strip=1&amp;webp=1 1152w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-6.png?lossy=2&amp;strip=1&amp;webp=1 1248w" sizes="(max-width: 1248px) 100vw, 1248px" /><br />
<span style="font-weight: 400;">Nested namespaces are less verbose:</span><br />
<img loading="lazy" decoding="async" class="size-full wp-image-84373 aligncenter" src="https://bitmovin.com/wp-content/uploads/2019/12/C-Post-Image-7.png" alt="C++ Nested namespace" width="1248" height="126" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-7-300x30.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-7.png?size=384x39&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-7-768x78.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-7-1024x103.png?lossy=2&amp;strip=1&amp;webp=1 1024w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-7.png?size=1152x116&amp;lossy=2&amp;strip=1&amp;webp=1 1152w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-7.png?lossy=2&amp;strip=1&amp;webp=1 1248w" sizes="(max-width: 1248px) 100vw, 1248px" /><br />
<span style="font-weight: 400;">We can tell the compiler that a returned value should not be ignored by the caller, thereby preventing bugs:</span><br />
<img loading="lazy" decoding="async" class="size-full wp-image-84372 aligncenter" src="https://bitmovin.com/wp-content/uploads/2019/12/C-Post-Image-8.png" alt="- Bitmovin" width="1248" height="46" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-8-300x11.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-8.png?size=384x14&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-8-768x28.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-8-1024x38.png?lossy=2&amp;strip=1&amp;webp=1 1024w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-8.png?size=1152x42&amp;lossy=2&amp;strip=1&amp;webp=1 1152w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-8.png?lossy=2&amp;strip=1&amp;webp=1 1248w" sizes="(max-width: 1248px) 100vw, 1248px" /><br />
<span style="font-weight: 400;">But the feature that we like most at Bitmovin is </span><i><span style="font-weight: 400;">structured binding</span></i><span style="font-weight: 400;">:</span><br />
<img loading="lazy" decoding="async" class="size-full wp-image-84379 aligncenter" src="https://bitmovin.com/wp-content/uploads/2019/12/Screenshot-2019-12-17-at-11.42.24.png" alt="C++ structured binding" width="1248" height="118" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/Screenshot-2019-12-17-at-11.42.24-300x28.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/Screenshot-2019-12-17-at-11.42.24.png?size=384x36&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/Screenshot-2019-12-17-at-11.42.24-768x73.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/Screenshot-2019-12-17-at-11.42.24-1024x97.png?lossy=2&amp;strip=1&amp;webp=1 1024w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/Screenshot-2019-12-17-at-11.42.24.png?size=1152x109&amp;lossy=2&amp;strip=1&amp;webp=1 1152w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/Screenshot-2019-12-17-at-11.42.24.png?lossy=2&amp;strip=1&amp;webp=1 1248w" sizes="(max-width: 1248px) 100vw, 1248px" /><br />
<span style="font-weight: 400;">That makes iterating maps much more expressive:</span><br />
<img loading="lazy" decoding="async" class="size-full wp-image-84369 aligncenter" src="https://bitmovin.com/wp-content/uploads/2019/12/C-Post-Image-11-1.png" alt="- Bitmovin" width="1248" height="164"><br />
<span style="font-weight: 400;">Very useful classes have been added to the standard library:</span><br />
<span style="font-weight: 400;">Template class </span><i><span style="font-weight: 400;">std::optional</span></i><span style="font-weight: 400;">:</span><br />
<img loading="lazy" decoding="async" class="size-full wp-image-84368 aligncenter" src="https://bitmovin.com/wp-content/uploads/2019/12/C-Post-Image-12.png" alt="C++ std::optional:" width="1248" height="524" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-12-300x126.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-12.png?size=384x161&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-12-768x322.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-12-1024x430.png?lossy=2&amp;strip=1&amp;webp=1 1024w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-12.png?size=1152x484&amp;lossy=2&amp;strip=1&amp;webp=1 1152w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-12.png?lossy=2&amp;strip=1&amp;webp=1 1248w" sizes="(max-width: 1248px) 100vw, 1248px" /><br />
<span style="font-weight: 400;">A non-mutable reference to a piece of text can be expressed with </span><i><span style="font-weight: 400;">std::string_view</span></i><span style="font-weight: 400;">:</span><br />
<img loading="lazy" decoding="async" class="size-full wp-image-84367 aligncenter" src="https://bitmovin.com/wp-content/uploads/2019/12/C-Post-Image-13.jpg" alt="C++ std::string_view:" width="1248" height="168" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-13-300x40.jpg?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-13.jpg?size=384x52&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-13-768x103.jpg?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-13-1024x138.jpg?lossy=2&amp;strip=1&amp;webp=1 1024w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-13.jpg?size=1152x155&amp;lossy=2&amp;strip=1&amp;webp=1 1152w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-13.jpg?lossy=2&amp;strip=1&amp;webp=1 1248w" sizes="(max-width: 1248px) 100vw, 1248px" /><br />
<span style="font-weight: 400;">Another template class </span><i><span style="font-weight: 400;">std::variant</span></i><span style="font-weight: 400;"> has been added to implement type-safe unions:</span><br />
<img loading="lazy" decoding="async" class="wp-image-84380 size-full aligncenter" src="https://bitmovin.com/wp-content/uploads/2019/12/Screenshot-2019-12-17-at-11.45.32.png" alt="C++ std::variant" width="1248" height="486" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/Screenshot-2019-12-17-at-11.45.32-300x117.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/Screenshot-2019-12-17-at-11.45.32.png?size=384x150&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/Screenshot-2019-12-17-at-11.45.32-768x299.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/Screenshot-2019-12-17-at-11.45.32-1024x399.png?lossy=2&amp;strip=1&amp;webp=1 1024w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/Screenshot-2019-12-17-at-11.45.32.png?size=1152x449&amp;lossy=2&amp;strip=1&amp;webp=1 1152w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/Screenshot-2019-12-17-at-11.45.32.png?lossy=2&amp;strip=1&amp;webp=1 1248w" sizes="(max-width: 1248px) 100vw, 1248px" /><br />
<span style="font-weight: 400;">With this evolutionary iteration C++ also gained standard support for file systems:</span><br />
<img loading="lazy" decoding="async" class="size-full wp-image-84364 aligncenter" src="https://bitmovin.com/wp-content/uploads/2019/12/C-Post-Image-16.png" alt="- Bitmovin" width="1248" height="84" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-16-300x20.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-16.png?size=384x26&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-16-768x52.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-16-1024x69.png?lossy=2&amp;strip=1&amp;webp=1 1024w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-16.png?size=1152x78&amp;lossy=2&amp;strip=1&amp;webp=1 1152w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2019/12/C-Post-Image-16.png?lossy=2&amp;strip=1&amp;webp=1 1248w" sizes="(max-width: 1248px) 100vw, 1248px" /></p>
<h1><span style="font-weight: 400;">Conclusion</span></h1>
<p><span style="font-weight: 400;">C++ is a powerful, efficient and wide-spread language, but to reach maximum effectiveness &#8211; it’s application requires developers to invest significant time in mastering the language and its diverse set of functions.</span><br />
<span style="font-weight: 400;">Us “Bitmovers” are </span><a href="https://bitmovin.com/bitmovin-q4-hackathon-summary/"><span style="font-weight: 400;">naturally curious people</span></a><span style="font-weight: 400;"> and are constantly driven to try or learn new things. So it’s a pleasure to discover new hidden features or more elegant coding patterns every week. </span><br />
<span style="font-weight: 400;">Did you enjoy this post? Then you may find the following blog posts interesting as well!</span></p>
<ul>
<li style="font-weight: 400;"><a href="https://bitmovin.com/bitmovin-developers-in-action-epic-teams/"><span style="font-weight: 400;">Bitmovin Developers in Action: Epic Teams</span></a></li>
<li style="font-weight: 400;"><a href="https://bitmovin.com/custom-adaptive-bitrate-logic-html5-video-player/"><span style="font-weight: 400;">Custom Adaptation Logic in your HTML5 Video Player</span></a></li>
<li style="font-weight: 400;"><a href="https://bitmovin.com/c-video-streaming-encoding-api-net/"><span style="font-weight: 400;">Bitmovin C# API Client for .NET – The New Kid on the Block</span></a></li>
<li style="font-weight: 400;"><a href="https://bitmovin.com/openapi-journey-standardized-sdks/"><span style="font-weight: 400;">Our OpenAPI journey with Standardizing SDKs</span></a></li>
</ul>
<p>The post <a rel="nofollow" href="https://bitmovin.com/c-language-bitmovin-14-17-20">Celebrating C++: State of the Art Standards for All</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
