I don't get why ISO don't include VLAs in C++ standard. C++ is supposed to be a C extension, and C99 clearly supports VLAs. It is not hard to implement and does not break any existing C++ code. It is useful for beginners, who do not yet know pointers, and may look more attractive for programmers from other high-level languages. Also, many compilers support it, even through it is not standard, so it creates more compatibility issues with C AND people who use it anyways with C++.
Some argue that it is "bad" because it allocated memory from stack (as opposed to dynamically allocating it from the heap) so it can overflow it, but why can't they just make it use the heap instead of a stack, and just make it short way of typing VarType *x = new VarType[VarSize]?
Edited 5 Years Ago by sergent: n/a