C, C++ and other programming related links.
This is a collection of some of the best, high quality, programming related links I've found online.
The C++ Resources Network
Documentation, FAQ's, tutorials, STL references and much much more. A really great site that any C++ programmer should know about.
C++ FAQ Lite
Marshall Cline's excellent C++ FAQ Lite document. You'll find answers to most common C++ questions here.
Stroustrup: C++
Bjarne Stroustrup's page about C++. Bjarne is the inventor of C++ and his page contains a huge amount of useful information about the language.
libsigc++ - The Typesafe Callback Framework for C++
libsigc++ is a great library that implements a typesafe callback system for standard C++. There are other signal/slots libraries out there, but I personally prefer this one. It is simple and easy to use, well designed, very robust and is licensed under the LGPL.
Simple DirectMedia Layer
SDL is a cross-platform C multimedia library that gives you easy access to keyboard, mouse, joystick, audio, video (2D & 3D), cd-rom and more. It is extremely easy to use, very fast and a great choice for games. It works on any platform you care about and is very well documented. There are also a large amount of add-on libraries that extend its core functionality.
Boost C++ Libraries
Boost is a great (and huge) collection of free C++ libraries that are portable and work well with standard C++. Many of the libraries are aiming for standardization.
Qt
Qt is (mainly) a widget toolkit for building cross-platform GUI applications in C++. In my oppinion, although it is not perfect, it is currently the best toolkit out there - it's certainly a hell of a lot better than crap like GTK+ or wxWidgets.
Lua
If you've ever found yourself in need of adding a scripting language to
your project, then you should definately consider Lua. It's a real gem.
It's cross platform (runs on tons of UNIX flavours, Windows, lots of
embedded OS's and more). The interpreter is fast, it's designed to be
embedded and contains bindings to a large list of languages, including
(but not limited to) C, C++, Java, C#, Perl and Ruby. It's also very
small, the interpreter and libraries take up just a few hundred kilobytes
of memory. The license is the MIT license, so you can use it
in both open source and commercial applications.
Thinking in C++ 2nd Edition
Thinking in C++ 2nd Edition by Bruce Eckel is a free electronic book for beginning C++ programmers. It is aimed at people new to C++ and with specific tips for people comming from a C background. It's a good read and it's free - what more can you ask for?
Wine
Wine Is Not an Emulator was the original name for this project. These days it is simply known as Wine. It's both a library that allows you to port Windows applications to other (POSIX compliant) operating systems easily with very few modifications and also a program that allows you to run many Windows programs unmodified on other operating systems. Neat and quite useful.