Jump to content

  • Log In with Google      Sign In   
  • Create Account


Good C++11 resources for advanced programmer


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
14 replies to this topic

#1 ATC   Members   -  Reputation: 551

Like
4Likes
Like

Posted 18 October 2012 - 04:07 PM

Hey guys,

I'm wanting some learning resources for C++11 oriented toward advanced programmers. I already know C and C++ quite fluently. But since I haven't used either in a couple years for any serious/commercial work, I'm a bit rusty in certain areas. Some of the things I need to brush up on:
  • "const correctness"
  • the various cast operators and when and when not to use each
  • all of the stuff available in the 11 standard libraries and how to use them (I'm prone to reinvent wheels)
  • proper C++ software design practices and conventions
  • general best practices and pitfalls
  • proper template class design
In the past when I normally used C and C++ it was for actual systems programming, where often no implementation of the full standard libs and runtimes even existed (often had to roll my own malloc and free implementations). So while I know the syntax through-and-through, have intimate knowledge of pointers and memory and know how the language works/runs, I'm prone to "reinvent the wheel" in many situations because I didn't know the stdlibs already implemented the thing I needed. I also need to brush up on "const correctness", referencing, etc. And anything to help me better design classes, polymorphic interfaces, templates, operators, and software in general would also be very helpful. And I don't want to waste my time with beginners' books talking about variables being storage space for numbers. Posted Image

I'm not really doing this for any important project or commercial work... we're using C# for our projects. But I invested a lot of time (and money) in the past into my programming skills, which included C and C++. It's not an art I want to lose. And since I now have Visual Studio 2012 and C++11 is out and taking the programming world by storm I don't want to end up behind the times; I've got to keep up with the rest of the world.

I'm looking for any online references/materials, articles, tutorials, books, videos and anything and everything that can be helpful to me in re-mastering C++ and learning about the new C++11 standard.

Thanks,

--ATC--
_______________________________________________________________________________
CEO & Lead Developer at ATCWARE™
"Project X-1"; a 100% managed, platform-agnostic game & simulation engine


Please visit our new forums and help us test them and break the ice!
___________________________________________________________________________________

Sponsor:

#2 AlexB.hpp   Members   -  Reputation: 201

Like
3Likes
Like

Posted 18 October 2012 - 04:56 PM

First of all look at this link, then you can read all interesting you proposals by clicking it.

What about books... It will be written sometime but probably after > 0.5 year. IMHO.

Read some cool guy's blogs. Just like that one is

Edited by AlexB.hpp, 18 October 2012 - 04:59 PM.

C x 2 C x o C x C f nice C x C s C x C c

#3 Matt-D   Crossbones+   -  Reputation: 1405

Like
3Likes
Like

Posted 18 October 2012 - 05:18 PM

Sorted roughly in tutorial-to-reference order:

http://www.pearsoned...100000000389209
http://www.artima.co..._of_the_new_cpp
http://www.cppstdlib.com/

// BTW, it's "class template", not "template class". As in, there are two kinds of templates ("families") -- class templates and function templates. A simple way to remember this is to just substitute "family" for "template" (which it is) and read this like an ordinary English phrase -- "class family" (as in: family of classes) sounds just right, "family class" doesn't really make much sense (class of families? Posted Image ).

Edited by Matt-D, 18 October 2012 - 05:29 PM.


#4 mrbastard   Members   -  Reputation: 1568

Like
9Likes
Like

Posted 18 October 2012 - 06:14 PM

+1 for the Meyers ebook and the new edition of the Josuttis std library book. For a bit more depth on the c++11 std threading stuff, William's book is very good. On templates the Josuttis/Vandevoorde book is very good.

For const correctness and casting, you can see the c++faqlite

Microsoft's channel9 has some excellent videos - look out especially for Stephan T Lavevej's series and Herb Sutter's stuff on C++11. All the GoingNative and C++AndBeyond stuff is well worth a watch too. A good starting point might be Bjarne's Stroustrup's talk on C++11 style.

Edited by mrbastard, 18 October 2012 - 06:17 PM.



#5 Bregma   Crossbones+   -  Reputation: 4361

Like
4Likes
Like

Posted 18 October 2012 - 07:33 PM

I'd strongly recommend, for your level of knowledge and what you're asking, "The C++ Programming Language" by Bjarne Stroustrup. It does not (yet) address C++11 features, but most of what you listed is not C++ but just the basic language as it's been since about 1992. There is no better reference for the fundamental language, and he writes clearly and concisely and covers almost everything you mentioned, including the reasoning behind language features and idioms.
Stephen M. Webb
Professional Free Software Developer

#6 MikeBMcL   Members   -  Reputation: 172

Like
3Likes
Like

Posted 19 October 2012 - 12:41 AM

Over the summer I wrote a free (reg-ware) eBook for SyncFusion targeted at C# developers aiming to learn modern C++. You might find it helpful as it covers const-correctness, the cast operators and their use cases, references, the ins and outs of all the constructors and assignment operators, namespaces (something I think is important in modern C++ but which is easy for people coming back to it to overlook or ignore), RAII and the Standard Library's smart pointers (unique_ptr, shared_ptr, the make_shared function) and (for Windows) ComPtr, strings (much better than they used to be but they could be better still), lambdas, some basic idioms, and some of the other important features of the C++ Standard Library (std::vector and other containers, iterators in general, and some miscellany suggestions for things to look into further).

It's not as strong on the Standard Library as it could be, but the design goal was approximately 100 pages with a focus on practical examples (there are ~20 sample programs with full code). Link here: http://www.syncfusion.com/resources/techportal/ebooks/cplusplus ; intro/overview here: http://channel9.msdn.com/coding4fun/blog/C-for-C-Developers-with-C-Succinctly . Comes in PDF and MOBI and the code samples are available on bitbucket: https://bitbucket.org/syncfusion/cpp_succinctly .

(I've already been paid for it and don't get any bonuses for downloads or anything so I'm recommending it purely on a "you may find it useful" basis, without any ulterior motives. If you download it and it helps you, great! If you skip it, that's fine too.)

Ultimately when the next edition of The C++ Programming Language comes out in March, that'll definitely be the book to get.

#7 kloffy   Members   -  Reputation: 825

Like
2Likes
Like

Posted 19 October 2012 - 05:40 AM

As mentioned by mrbastard and MikeBMcL, channel9 is pretty great.

Since you asked about C++11: This is the best explanation of rvalue references that I have heard so far:

http://channel9.msdn...rences-in-Cpp11

Edited by kloffy, 19 October 2012 - 05:41 AM.


#8 ATC   Members   -  Reputation: 551

Like
0Likes
Like

Posted 19 October 2012 - 09:49 AM

Thank you everyone! Lots of great materials! Keep it coming if anyone has more! :)

@ MikeBMcL:

I downloaded the book in PDF; sounds great! And I don't think the desire to make money would be an "ulterior motive". If it were then we'd all be a bunch of evil, shady bastards because we all have to eat. ;-)
_______________________________________________________________________________
CEO & Lead Developer at ATCWARE™
"Project X-1"; a 100% managed, platform-agnostic game & simulation engine


Please visit our new forums and help us test them and break the ice!
___________________________________________________________________________________

#9 gekko   Members   -  Reputation: 478

Like
3Likes
Like

Posted 19 October 2012 - 08:44 PM

If you want to learn about the 6 features Microsoft added in VS2010, the blog series STL wrote covers the topics in a lot of depth. I highly recommend you start there, because it doesn't skip over a lot of the details. It is a bit dated, but the stuff that is difference is pretty minimal, so it's still a good place to start.

http://blogs.msdn.co...c10-part-1.aspx
http://blogs.msdn.co...c10-part-2.aspx
http://blogs.msdn.co...c10-part-3.aspx
http://blogs.msdn.co...10-nullptr.aspx

Actually, the nullptr one wasn't by STL, but he did a video here: http://channel9.msdn...-about-nullptr/ .

After that, I also recommend Scott Meyer's PDF, Herb Sutter's Lambdas Lambdas Everywhere presentation, and the latest from Going Native 2012. There was one on the library changes, and Alexandrescu's variadic template presentation is quite good.

http://channel9.msdn.com/Events/PDC/PDC10/FT13
http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Variadic-Templates-are-Funadic
http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/STL11-Magic-Secrets

Edited by gekko, 19 October 2012 - 08:47 PM.

-- gekko

#10 lride   Members   -  Reputation: 633

Like
0Likes
Like

Posted 19 October 2012 - 09:55 PM

Not sure if this got mentioned, but The C++ Standard Library: A tutorial and reference (2012)
http://www.amazon.co...tandard library
this is an awesome book. PDF version's out there if you don't want to spend some money on this.

Edited by lride, 19 October 2012 - 10:19 PM.

An invisible text.

#11 joew   Crossbones+   -  Reputation: 3162

Like
0Likes
Like

Posted 19 October 2012 - 10:47 PM

this is an awesome book. PDF version's out there if you don't want to spend some money on this.

There is no free version unless you download it illegally which is stealing.

#12 ATC   Members   -  Reputation: 551

Like
0Likes
Like

Posted 19 October 2012 - 11:31 PM

There is no free version unless you download it illegally which is stealing.


Tell me... "friend"... When did Saruman the Wise abandon reason for madness?!

http://www.youtube.com/watch?v=7gqvFgo-sS0

Lol, sorry, couldn't resist! Posted Image But true dat... true dat...

I have bee considering buying that book though because it looks great, like something I could really use.

Edited by ATC, 19 October 2012 - 11:34 PM.

_______________________________________________________________________________
CEO & Lead Developer at ATCWARE™
"Project X-1"; a 100% managed, platform-agnostic game & simulation engine


Please visit our new forums and help us test them and break the ice!
___________________________________________________________________________________

#13 EddieV223   Members   -  Reputation: 1267

Like
0Likes
Like

Posted 20 October 2012 - 01:51 PM

Not free but probably the best c++11 reference available.

http://www.amazon.co...&keywords=c 11

The first couple chapters are just showing you the big new features. The rest of the book continues showing how to use c++11 including the smaller new features. This is what you want I think.


And yes VS2012 is really good IDE for c++, far better than vs2010. However there are some other free IDE's that are just as good like, QTCreator and Eclipse, QTCreator being the easiest to setup, learn, and get running. Eclipse being the opposite harder to setup and learn but more features than QTCreator or VS2012, ( has a side effect of being hard to learn ) .

So I would suggest VS2012 for windows only projects and QTCreator for cross platform. Both support c++11 compilers (microsoft's and GNU). But neither compiler is completely c++11 standard compliant. It will will be some time until compiler support catches up. However both compilers support the "Big" new features such as memory classes, for each loop, nullptr, ect....

Edited by EddieV223, 20 October 2012 - 02:01 PM.

If this post or signature was helpful and/or constructive please give rep.

 

// C++ Video tutorials

http://www.youtube.com/watch?v=Wo60USYV9Ik

 

// Easy to learn 2D Game Library c++

SFML2.1 Download http://www.sfml-dev.org/download.php

SFML2.1 Tutorials http://www.sfml-dev.org/tutorials/2.1/

 

// SFML 2 book

http://www.amazon.com/gp/product/1849696845/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=1849696845&linkCode=as2&tag=gamer2creator-20

 


#14 iMalc   Crossbones+   -  Reputation: 2176

Like
0Likes
Like

Posted 21 October 2012 - 02:29 AM

There's a lot of really good info here:

http://en.wikipedia.org/wiki/C%2B%2B11

Lots of concise introductions and useful examples.
"In order to understand recursion, you must first understand recursion."
My website dedicated to sorting algorithms

#15 mrbastard   Members   -  Reputation: 1568

Like
1Likes
Like

Posted 21 October 2012 - 10:35 AM

From Scott Meyer's blog: the publisher of his Effective series, several Stroustrup books, and the Josuttis books has a 30-40% sale on c++ titles until 30th october.

Probably a good time to invest... Posted Image

Edited by mrbastard, 21 October 2012 - 10:39 AM.






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS