I am going to have a lecture about C++ for experienced Java programmers. Because C++ is a big language and I have just one lecture, I want to point out the most important "gotchas" and C++ features when migrating from Java to C++.
I myself went the opposite way (C++ -> Java) and therefore I would like to hear different opinions on this topic. What would you mention if you were me?
The to-mention list I have so far:
- Use cases for C++ (when to use C++ instead of Java)
- Compiler stages (preprocessor, compiler, linker)
- Differences in data types (atomic data types, arrays, structs, classes, unions, enums), automatic conversion
- Pointers and memory management, difference between pointers and references, stack vs. heap allocations
- Interfaces and inheritance in C++ (multiple inheritance, virtual functions and the need of virtual keyword, pure virtual functions)
- Rewriting generics to templates
- STL (thanks Péter)
- Operator overloading
- Basics of macros
EDIT: added suggestions from the answers