Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How are you using C++11 today? [closed]

Can't guess how many are interested in the new C++0x and I am pretty sure that everyone who knows C++ and uses it is curious and eager for more news about it.

I started using everything new from C++0x as soon as it was implemented from g++. Still for small non portable projects. Why? - People constantly telling me to forget about c++ and switch totally to a scripting language to gain faster code developing and forget about memory management. However, my best experience and knowledge is in c++. I know RAII and use Boost library everyday. Now, the new features make me write much faster then before. Knowing that rvalues are here, pointers(even the smart) disappeared from the code. STL algorithms with lambdas just rock and initilizer lists make me so happy. Auto keyword is furious.

So, my primary reason to use C++0x now is speed of development.


I'm not using C++0x today, because it will lead to losing code portability. Because there is no C++0x Standard today.

Answer: No
Reason: code portability


No, because it's not fully implemented on the compilers I use.

When C++0x comes out, and Visual Studio 2010 is fully released, along with a "matching" g++, I will use C++0x when I can. This is likely because I frequently start new projects (I make games).

Although I have an existed code-base, it changes every time I figure out a way to do something better; change isn't an obstacle for me. Taking advantage of C++0x would just be another change.

You'll find different opinions with larger code-bases. Some places prefer code to look uniform, and that means spotty C++0x isn't an option: they'd either have to convert the entire thing to take advantage of C++0x, or not use it.

Other places might encourage the use of C++0x features, and in spare time try to fix up older code to match.

And other places, like me, might immediately want to take advantage of all C++0x has to offer.

The answer is: it depends.


No, but I would like to, especially for the lambda functionality.


No.

All my application software is developed in Java. All my quick-and-dirty code is done in Python. All my low-level work is done in C. I don't generally use C++ (hence it hasn't affected me).

If I did use C++, I'd treat c++0x like I'm treating C1x - I'm making sure my code won't break but I'm not going to use the new features until the standard is done and dusted.

As to whether I'll use new features as soon as the standard ratifies, no. The process will be a gradual one. As maintenance gets rolled out for my current applications, I may add it, depending on the likely benefit.

Even new applications that I write will require a need for the new language features before I consider using those feautures.