<?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/"
	>

<channel>
	<title>C++ Source &#187; design</title>
	<atom:link href="http://cppsource.com/tag/design/feed/" rel="self" type="application/rss+xml" />
	<link>http://cppsource.com</link>
	<description>Your Source for C++ Information</description>
	<lastBuildDate>Wed, 05 Jan 2011 17:12:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Some features of the C++0x standard</title>
		<link>http://cppsource.com/2009/04/some-features-of-the-c0x-standard/</link>
		<comments>http://cppsource.com/2009/04/some-features-of-the-c0x-standard/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 04:25:26 +0000</pubDate>
		<dc:creator>carlos</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[standard]]></category>

		<guid isPermaLink="false">http://cppsource.com/?p=17</guid>
		<description><![CDATA[C++ is growing and changing. As has been the case for the last 20 years, C++ has been developing new features as a response to the changes in computing. The latest trend of changes in the C++ language is due to the update of the Standard. A work that has taken many years, the new [...]]]></description>
			<content:encoded><![CDATA[<p>C++ is growing and changing. As has been the case for the last 20 years, C++ has been developing new features as a response to the changes in computing.<br />
The latest trend of changes in the C++ language is due to the update of the Standard.</p>
<p>A work that has taken many years, the new standard that is by now only known as C++0x (where x will be probably 9) will add many features that will change the way we develop software in C++.</p>
<h2>Improved Templates</h2>
<p>Templates are the feature in C++ that was used to create reusable containers for any object. Thanks to templates we have now a powerful standard library, with  containers (such as vectors, lists, trees, and strings), and algorithms that operate on these containers.</p>
<p>On the new standard, templates will be improved by providing information on the types that can be used to specialize a template. This is a form of type inference that will make templates much more useful (and with better error codes).</p>
<p>Another nice feature is the addition of auto detection of variable types. Since the type system of C++ is very sophisticated, it makes sense to have a feature in the language to allow types to be automatically detected. The language will use the keyword <strong>auto</strong> to determine that a variable has the same type as the right hand side on an assignment. So, something as</p>
<p>auto a = new MyObject(); </p>
<p>is sufficient to create a variable of the type MyObject. Notice that we just need to write MyObject once (while nowadays we needed to repeat the type name before the variable name).</p>
<h2>Other Features</h2>
<p>The new standard has also several provisions that will improve programming in many ways. Examples include new types of constants, improved initialization of objects, among others. I plan to write about some of these features in the future &#8212; stay tuned.</p>
<h2><strong>Related Articles</strong></h2>
<ul>
<li>Check my review of a book on the <a href="http://cppsource.com/2009/04/book-review-large-scale-c-software-design/">development of large-scale systems in C++</a>.</li>
<li>A discussion of <a href="http://in4mationflow.com/Cplusplus/Articles/Challenges-of-Large-Scale-C-Programming">issues in large scale C++ development</a>.</li>
</ul>
<div>
<a href="http://www.basecampHQ.com/?referrer=CARLOSOLIVEIRA"><img alt="Basecamp" border="0" height="125" src="https://affiliate.37signals.com/images/products/basecamp/banner-270x125.png" width="270" /></a>
</div>
]]></content:encoded>
			<wfw:commentRss>http://cppsource.com/2009/04/some-features-of-the-c0x-standard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

