C++ for Python Programmers: a Cheatsheet

A fellow prof here at MSU, Rich Enbody, whipped up the following cheat-sheet for new programmers transitioning from Python (CSE 231) to C++ (CSE 232). He welcomes comments. Here's the link:

http://web.cse.msu.edu/~cse231/python2Cpp.html

Paranthetically, he and his cohort in crime, Bill Punch, will be giving a talk about using Python as the intro CS programming language at PyCon '09. They have some interesting stats on the effects of a mixed Python-C++ curriculum vs a C++-C++ course base for the first year of programming.

And folks... remember, this is for intro programmers who don't know C++ yet!

--titus


Legacy Comments

Posted by Evan on 2009-01-07 at 18:59.

Pretty nice. I already know C++ pretty well but I'm going to share
this with some of my friends who are Python-specific.

Posted by Fabien on 2009-01-07 at 19:27.

A few problems in that first draft, mostly due to the author's C
background:      1/ In contrast to C, in C++, declaring variables at
the beginning of the block is a bad habit at best, and quite often
impossible.      C code:    int a, b;  a =3;  ++a;  b= 4;    C++
equivalent:    int a= 3;  ++a;  int b= 4;        2/ "File Input and
Output": I'm not 100% sure the code won't work, but this one is far
better and more canonical:    int main()  {    string line;
ifstream InStream ("Data.txt");      while (getline (InStream,line))
{    cout << line << endl;  // output the line    }  }
3/ Arrays.    C-style arrays are only used if you need to put some
hard-coded values. And they're not even proper arrays -- they're
nearly pointers (which pretty much means, lots of headaches).    In
C++, the canonical type for an array is vector<>. It's a real
array, whose size can change whenever you wish, and that you can copy.
vector<int> a (10);  vector<int> b= a;  vector<int>
c;  c= b;

Comments !

(Please check out the comments policy before commenting.)