Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between C++0x and C++11?

Tags:

c++

c++11

I see mixed usage of these two terms here on SO.

Wikipedia says

C++11, also formerly known as C++0x ...

but I am not sure why.

  • Why was it first called C++0x and then C++11?
  • Also, what does the x stand for? My guess - like a variable?
like image 806
Lazer Avatar asked Mar 02 '12 18:03

Lazer


People also ask

What is C 0x?

C++0x is the working draft of the new C++ programming language standard. Note: C++0x is a new version of the C++ programming language standard. IBM continues to develop and implement the features of the new standard. The implementation of the language level is based on IBM's interpretation of the standard.

What is the difference between C++ and C++11?

C is a function driven language because C is a procedural programming language. C++ is an object driven language because it is an object oriented programming. Function and operator overloading is not supported in C. Function and operator overloading is supported by C++.

What is the difference between C++11 and C ++ 14?

C++11 allowed lambda functions to deduce the return type based on the type of the expression given to the return statement. C++14 provides this ability to all functions. It also extends these facilities to lambda functions, allowing return type deduction for functions that are not of the form return expression; .

What is-- std c++ 0x?

The old -std=c++0x is only needed for older compiler versions that did not support -std=c++11 and they chose that name to express the preliminary and unstable nature of features (and the ABI) of the then upcoming C++11 (and when it was still unclear whether that would eventually become C++10 or C++12 ).


1 Answers

C++ and C Standards are usually named after the year they are published in, which makes it easier to remember by.

For example, in C++, the original Standard was published in 1998, so we talk about C++98, and when we refer to its first correction, published in 2003, we talk about C++03.

It had been purported that the next Standard after would be done for 2008, but since it was uncertain, it was dubbed C++0x, where the x stood for either 8 or 9. In practice though, as we all know, the planning shifted and so we end-up with C++11.

Still, for the next version (C++1x), Bjarne Stroustrup stated his intent to do it in 5 years (so about 2016). For now, there are changes envisionned to the core language (concepts, modules and garbage collection), and the focus seems to be more on extending the library (filesystem for example), but it's still early so who knows!

like image 108
Matthieu M. Avatar answered Oct 12 '22 11:10

Matthieu M.