Learn C++ Programming: Tutorials, Books & Notes for Beginners

  • Context: C/C++ 
  • Thread starter Thread starter rotphi
  • Start date Start date
  • Tags Tags
    C++
Click For Summary
SUMMARY

The discussion centers on resources for learning C++ programming, particularly for applications in numerical mathematics. Key recommendations include the C++ tutorial on cplusplus.com, the Standard Template Library (STL), and the BOOST library for advanced functionalities. Participants suggest "Accelerated C++" by Koenig and Moo for effective use of standard library containers, while cautioning against "Numerical Recipes in C++" by William H. Press due to its poor coding style. Additional resources mentioned include online materials for computational physics and a tutorial on gravitational simulations.

PREREQUISITES
  • Basic understanding of C++ programming concepts such as variables, control structures, and object-oriented programming.
  • Familiarity with the Standard Template Library (STL) for data structures and algorithms.
  • Knowledge of BOOST library functionalities for enhanced C++ capabilities.
  • Experience with numerical methods and simulations in programming.
NEXT STEPS
  • Explore the C++ tutorial on cplusplus.com for foundational knowledge.
  • Read "Accelerated C++" by Koenig and Moo to master standard library containers.
  • Investigate the GNU Scientific Library for numerical computations in C++.
  • Review online materials for computational physics, particularly those by Richard Fitzpatrick.
USEFUL FOR

This discussion is beneficial for undergraduate students in physics and computer science, aspiring C++ programmers, and anyone interested in numerical simulations and computational mathematics.

rotphi
Messages
4
Reaction score
0
Hello!
I just finished reading the C++ tutorial on cplusplus.com that is a very basic introduction into variables, constants, control structures, compound data types and some object-oriented elements. Now I want to go on and I am looking for some good tutorials, books or lecture notes.
I am a physics undergraduate student (3rd year) and want to do something like numerical mathematics with C++.
Any recommondations?

Thank you and have a good weekend,

rotphi

Link to the C++ tutorial on cplusplus.com:
http://www.cplusplus.com/doc/tutorial/"
 
Last edited by a moderator:
Technology news on Phys.org
Ask on stackoverflow.com (or better still search the answers)

I would say just use it, C++ is a very large language - too large to just sit down and learn before you start. You know the basics, there are a couple of other things you should know -look at the STL (for vectors, arrays, algorithms) and BOOST (for everythign not int he standard library)
A lot of new programmers ignore these because they are complicated 9they are but the tutorials on cplusplus help) but it's better to invest soem time in learnign them than waste months getting 'C' style arrays to work.
 
Thank you, this was really helpful.
I am now into "Numerical recipes on C++" by William H. Press but this book is very fast forward. I also read a bit about the GNU Scientific Library to get a better overview on this topic.
Are there any more suggestions?

rotphi
 
Get a c++ compiler and write little programs as you read. You will learn much faster that way. Free c++ compiler is in any Linux distribution.
 
rotphi said:
I am now into "Numerical recipes on C++" by William H. Press but this book is very fast forward
It's an ok cookbook for some numerical techniques (although a lot of scientific programmers hate it = it teach you just enough to be dangerous)
But it's a terrible example of c++ code, it's basically pascal transated to fortran then translated to c then translated to c++, the routines mostly work but it's not a good style to learn from
 
mgb_phys said:
it's basically pascal transated to fortran then translated to c then translated to c++

IIRC the Fortran version came first, then Pascal. I remember reading comments about the style being awkward for Pascal because they made as few changes as possible in "translating" from Fortran.
 
I'm a second year undergraduate in Physics and Computer Science, going into my third year. And like you, I have an interest in numerical simulations. I just posted a small tutorial on a basic numerical simulation of gravity.

If they haven't moved it yet, (I posted it in the wrong forum by accident), here's the link: https://www.physicsforums.com/showthread.php?t=402565

Otherwise, it should be under this sub forum as "Intro to Gravitational Simulations"

Hope its helpful!
 

Similar threads

Replies
69
Views
10K
  • · Replies 10 ·
Replies
10
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 16 ·
Replies
16
Views
3K
  • · Replies 8 ·
Replies
8
Views
14K
  • · Replies 25 ·
Replies
25
Views
916
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 15 ·
Replies
15
Views
3K
  • · Replies 8 ·
Replies
8
Views
3K
Replies
5
Views
8K