Skip to main content
GameDev.net gamedev.net
🔒 Locked

Intermediate C++ books

Started by dolphins87 Dec 28, 2007 at 1:14 AM 9 replies 2.2k views
Original Post
dolphins87
dolphins87
I have been through C++ in 24 hours, some tutorials online and C++ Game Progamming by Dawson and I have learned alot but I want to understand more and get more in depth. I have been doing some research. I am also made a simple text based game with polymorphism, memory allocation etc.. so I can use so of the techniques. I have recently just started on SDL as my first API to try something to learn graphics but not something extremly complex so I get so worn down and frustrated. But since looking online and different books in stores I have heard good things abouts Effective C++ and More Effective C++. I don't really have any experience with STL or templates. I have worked with vectors a little bit in Dawson's book but thats about all I have seen and I was wondering what would be some good choice. I have really had the chance to look at Effective STL but I dont have any experience with STL so would it be better to learn STL then get into Effective STL? I am planning on making my first graphics game Tic-Tac-Toe with SDL so I can learn the basics of SDL and handle some mouse inputs etc... to a program with some graphics under my belt then move on to something like tetris. But any input would be grealy appericated.
MassacrerAL
MassacrerAL
well i know thats not what you were asking for but ill tell you my opinion. consider learning c# and .net instead of more advanced c++ and stl. once you know that much in c++ then learning c# is a breeze and .net base libraries are imho far better choice then stl. i dont know if sdl runs in .net though.
daviangel
daviangel
Get this book
or
the book by the creator of the language
since they cover 100% of the technical details you will need to program in C++.

They are the only 2 C++ books I own and I have alot that actually cover the problem with trying to create a class inside a switch case statement like this and explains why it doesn't work:
void
A::foo(int c)
{
switch(c) {
case FOOBAR_1:
XyzClass buf(100);
// stuff
break;
}
}
[size="2"]Don't talk about writing games, don't write design docs, don't spend your time on web boards. Sit in your house write 20 games when you complete them you will either want to do it the rest of your life or not * Andre Lamothe
Great_White
Great_White
you can also try Bruce Eckel's books: "Thinking in C++ vol. 1-2". I think they are an excellent resource in this subject.
"A human being is a part of a whole, called by us,universe, a part limited in time and space. He experiences himself, his thoughts and feelings as something separated from the rest... a kind of optical delusion of his consciousness. This delusion is a kind of prison for us, restricting us to our personal desires and to affection for a few persons nearest to us. Our task must be to free ourselves from this prison by widening our circle of compassion to embrace all living creatures and the whole o
Hylas
Hylas
Quote:
Original post by MassacrerAL
well i know thats not what you were asking for but ill tell you my opinion. consider learning c# and .net instead of more advanced c++ and stl. once you know that much in c++ then learning c# is a breeze and .net base libraries are imho far better choice then stl. i dont know if sdl runs in .net though.


If you're going to try and be a nazi C# convert at least know what you are talking about.
yaustar
yaustar
Code Complete is a damn good book to read for any programmer. It covers general programmer practises and thought processes rather then language.

Effective C++ is a must read for any C++ programmer as it deals with some of the more obscure areas and common gotchas of the C++ language as well as common idioms.

Thinking in C++ Vol 1 and 2 can be downloaded legally for free from the author's site. Vol 1 is about the C++ language and Vol 2 covers the Standard Library.

If you are interested in SDL resources then Lazy Foo's site is one of the best.
Steven Yau
[Blog] [Portfolio]
dmreichard
dmreichard
Quote:
Original post by Hylas
Quote:
Original post by MassacrerAL
well i know thats not what you were asking for but ill tell you my opinion. consider learning c# and .net instead of more advanced c++ and stl. once you know that much in c++ then learning c# is a breeze and .net base libraries are imho far better choice then stl. i dont know if sdl runs in .net though.


If you're going to try and be a nazi C# convert at least know what you are talking about.


Agreed

Hippie Geek
Hippie Geek
After the basics, which books you pick really depends on which direction you'd like to focus on. You may want to grab a book like "Introduction to 3d game programming with directx" or "Beginning OpenGL game programming" or even "Focus on SDL" if you'd like a change from the console monotony. You can probably handle most everything those books throw at you, and they will probably be more fun.

As most intro books leave a lot out I really would suggest giving the "C++ Programming Language" book by Stroustrup a once over.. At the point where it mostly all makes sense, I think one can safely say they're at an intermediate level. However Intermediate to advanced books I recommend that will improve your overall coding practices and C++ ability are.

The C++ Programming Language
Effective C++
More Effective C++
Code Complete
C++ Coding Standards: 101 Rules, Guidelines, and Best Practices
The C++ Standard Library: A Tutorial and Reference
Effective STL
Exceptional C++
More Exceptional C++
Exceptional C++ style
C++ Templates The complete guide
C++ Cookbook

There are really way to many good books to list, especially once you've got the basics down but those are a few that I think are helpful, just be sure not to burn yourself out.

[Edited by - Hippie Geek on December 28, 2007 2:19:31 PM]
dolphins87
dolphins87
thanks for all the suggestions I've picked up Effective C++ today and gonna go through it and read it. I am using lazy foo's website for SDL right now and am about half way through the tutorials. With C++ what i am worried about and saw a little bit of it when I went through Dawson's book was that it has alot of C++ stuff in it and since I had aldery went through C++ in 24 hours alot of the things in Dawson's book went over stuff I aldery knew but I also learned alot of stuff dont get me wrong. But I got bored with stuff that I aldery knew and had to motivate myself to get through those sections but I loved going through stuff I didnt know. I dont want to pick up a book thats a good size and start at the beginning again but is that the best way to do it go through everything again or skip the basic stuff in a book and go to the stuff you want to better understand?
daviangel
daviangel
Quote:
Original post by dolphins87
thanks for all the suggestions I've picked up Effective C++ today and gonna go through it and read it. I am using lazy foo's website for SDL right now and am about half way through the tutorials. With C++ what i am worried about and saw a little bit of it when I went through Dawson's book was that it has alot of C++ stuff in it and since I had aldery went through C++ in 24 hours alot of the things in Dawson's book went over stuff I aldery knew but I also learned alot of stuff dont get me wrong. But I got bored with stuff that I aldery knew and had to motivate myself to get through those sections but I loved going through stuff I didnt know. I dont want to pick up a book thats a good size and start at the beginning again but is that the best way to do it go through everything again or skip the basic stuff in a book and go to the stuff you want to better understand?

Start writing some long and tough C++ programs. That's the only way you are gonna get any better at it--not by reading more books.
I don't remember how many C++ books I read until that epiphany really sunk into my brain?


[size="2"]Don't talk about writing games, don't write design docs, don't spend your time on web boards. Sit in your house write 20 games when you complete them you will either want to do it the rest of your life or not * Andre Lamothe
dolphins87
dolphins87
that definatley makes alot of sense if u dont apply the stuff you have learn you can never truly understand it. But if there ever a sense of going to far and getting in over your head or should I just start off small with something like Tic-Tac-Toe, then tetris and then mabye a side scroller all with SDL.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.