3 ms·
You do realise that STL containers fundamentally rely on templates, right? We use loads of template classes at where I work. Our code would not be maintainable
by 72deluxe 10y ago
You do realise that STL containers fundamentally rely on templates, right?
We use loads of template classes at where I work. Our code would not be maintainable without them.
- jokoon 10y agoI know, but that doesn't change the fact that other languages don't have templates and still have containers, meaning maps, vectors, etc.
- jimktrains2 10y agoSure, and those without templates, or at least generics, aren't type-safe.
- pjmlp 10y agoThey have simplified templates, aka generics. The biggest difference is that templates are more expressive, allowing for compile time meta-programming.
- pkolaczk 10y agoI'd rather say templates are a hack to get generics in C++, because C++ lacks real generics contrary to eg. Java, C#, Haskell or Scala. Templates used as generics are limited in a way that the typechecker can't reason about generic types, only concrete types, which leads to horrendeous error messages and makes it impossible to prove generic library code type-safety. Type templates are templates, not types. On the other hand templates used as a metaprogramming tool fall behind any modern macro system.
- fjrieiekd 10y agoRust is getting there but still lacks type-level integers, and macros are waiting for macros 2.0. It would also be neat to have the ability to run any function at compile time, but I don't think that's in the cards.
- pjmlp 10y agoTrue, but as someone that spends the majority of his programming time between Java and C#, with C++ only when required, I do miss their power. Also it is way better with latest standard improvements.