The C++ Standard Library, 2nd edition by Nicolai Josuttis. The Best-Selling Programmer Resource – Updated for C++ Also out: C++17 – The Complete. Programming with C++17 by Nicolai Josuttis. Although it is not as big a step as C++11, it contains a large number of small and valuable language and library. Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 A Tutorial and Reference (2nd Edition) by Nicolai M. Josuttis Hardcover $

Author: Morg Neran
Country: Belgium
Language: English (Spanish)
Genre: Travel
Published (Last): 20 March 2011
Pages: 45
PDF File Size: 1.54 Mb
ePub File Size: 16.64 Mb
ISBN: 326-9-32081-832-7
Downloads: 57040
Price: Free* [*Free Regsitration Required]
Uploader: Voodoogar

I believe the increased size of std:: The new stuff does add a lot of functionality, and that stuff is often damn useful, but sometimes you just want a function pointer. However, where it all falls down d in reality.

Horrible syntax, header files, compile times, many traps for a programmer to walk into and hundreds of weird corner cases. I thought it was usually the caret, but that still leaves this case ambiguous with bitwise XOR. Want to add to the discussion?

I completely agree that performance will always matter for some kinds of software. I think that new programming styles and new languages will start to overcome that barrier with time and experience.

I found that really weird. That is to say, x straight line optimizations will always have some value, but only if you can make everything efficient enough at the higher level first.


The point is resources are not infinite and they are not ‘free’. We already have desktop and laptop PCs with multiple cores today, and mobile devices and even embedded systems are starting to go that way as well. Use of this site constitutes acceptance of our User Agreement and Privacy Policy. You are absolutely correct.


Capturing variables – either by value or by reference – is absolutely equivalent to passing them to the constructor of a function object and jowuttis them accessible to operator as member variables. Function classes also come with some downsides. More importantly, I think the performance barrier itself will probably be different in a few years as well. In this respect, function objects are still a better choice. It’s not going to gain popularity by making incompatible changes, and I’ll take backwards compatibility and slight inconveniences over program-breaking changes to the standard for aesthetic purposes.

That is an extremely difficult theoretical problem and an active research area today, but then a few years ago we might have said something similar about just-in-time compilation, and a few years before that we talked about dropping out of C to write the performance-sensitive parts of our code in assembly language.

Welcome to Reddit, the front page of the internet. C is certainly less complex, but still has many shortcomings compared to modern languages.

  HCPL 7101 PDF

Nicolai M. Josuttis: The C++ Standard Library

Never underestimate the inventiveness of nature. I’m not advocating that we all learn about instruction pipelining and branch prediction but we certainly need to strike a better balance between expediency and reasonable use of resources.

There is a useful list of books on Stack Overflow. Apparently Visual Studio will ‘fix’ this by delaying the loading of a load of dlls – however this points to an alarming trend. The only difference is that you have to pass those variables at the place where you define the lambda. Frankly they chose to limit d’s scalability. Submit a new link. You are not pedantic. Stronger typing helps catch idiotic bugs, namespacing helps group things, operator overloading makes coded equations more readable, destructors allow for more relaible resource cleanup, etc Microsoft suggest moving to 64 bits to solve the problem!

It disqualifies ‘d’ for some very basic but very important applications. In particular, that includes just about anything that lives below application software in the stack OS, device drivers, network stack, etc. On my machine sizeof std:: And I won’t get you started on jsuttis pointer declarations.