I'm a fan of C++ (there is no such language as "C/C++"), but...
Memory leaks are programmer error, not language error. C/C++ don't just randomly leak out memory. In fact most programs WITH garbage collectors often have more problems with memory than C/C++ ever run into.
The entire problem with C and C++ is that they make it difficult to properly manage memory. C++ is better than C, IMO (at least you can use RAII), but adds plenty of its own twists. Learning how to manually manage memory is great, and it'd be nice if all programmers had that knowledge, but C++ simply is not a good first language.
Undefined behavior.. Umm, EVERY language has SOME undefined behavior. The fact is, you're code has to look REALLY crappy before you hit the corner case of undefined behavior with C/C++. You'll almost never run into that case, and if you do, throwing in a few parentheses will almost always fix the problem.
Um, define "really crappy code"?
Doesn't look crappy to me. Totally undefined.
Code:
int* array = new int[10];
...
delete array;
Doesn't look crappy to me. Totally undefined.
You could go on, and on...