Advice on Computer Science as a Career

That’s cool, I really need to use STL more. That said it turns out I was partly wrong. MFC’s array isn’t quite that stupid.(Ok, I went back and double checked the code.) Under normal operation the MFC array will allocate in blocks. (Up to 1k) However I think what I mis-remembered was that he had an array of pointers. So he’d allocate one object and then add it to the array. (So for every one of his adds he did have an allocation.) It’s actually possible to force that array to allocate one item at a time but I’m thinking now he didn’t do that. (But it would be easy to do if you weren’t careful.)

I wouldn’t say “minor.” C++ and C# are fundamentally different languages with very little common ground. C# doesn’t have have RAII or templates, just to name two of C++'s most defining features; it also lacks const-checking, multiple inheritance, and the vast swaths of undefined behavior. :wink: On the other side, C++ doesn’t have reified generics or garbage collection or attributes or run-time binding or delegates or, even more importantly, a unified type system. All of these are fundamental features and principles that define the way programs are built in each language. The overlap between C++ and C# is small and largely superficial.

There is also a fairly wide gulf between C and C++, though they’re a lot closer to each other than either is to C#.

MFC? STL? Did I step in a time warp back to 1999? :smiley: