What's a “Polymorphic method”?It can actually be both things depending on the language, feature and technology used. Runtime polymorphism is based on virtual methods, static polymorphism (like CRTP) is based on template parameters and template functions (something yo ueven don't mention). Some languages distinguish classes and interface, some other don't (and admit abstract mthods to be intermixed with implemented ones) ...

Without C++-like destructors, how do we return resources that aren't managed by garbage collector in Java?Of course, you can always call by a natural language standpoint whatever type a class and whatever variable an object. I can rewrite whatever programming language grammar by using that terminology (touring equivalence exist for whatever finite state machine, an compilers are as such as well). The fact that C specs talk about "objects" doesn't make it "oriented to them". It has them, but doesn't offer any primitive to handle them (there is no polymorphic behavior and resource management). But it seems to me I'm just touching some religion dogma.

In C++ Good reasons for NOT using symmetrical memory management (i.e. new and delete)@metamaker: That can make sense for C, not C++. All the "so called C++ GC" are in fact "C unreachable memory disposers". But a C++ unreachable object is not just a bounch of bit to be freed: is a object of a class whose destructor has to be called. That requires some information about allocated object to be stored in auxiliary structures of the collectors, that must be C++ aware and not become new / delete global replacement (since C++ containers have to continue to use symmetrical allocation internally).

Can I change operator precedence and associativity in C++?@gbjbaanb: yes, that's how things technically go, but how have them been sold till now? "We did not have them, because they are bad" (in fact they din't do them because they where too complicated to manage, being themselves "inter-class" (not intraclass, like methods are: C++ allows global methods...) and being natural "dual dispatch origins". Something Java don't have and C++ may have only in limited way (not that the visitor pattern is only a surrogate, in this matter: C++ dual dispatch is mostly related to template specializations) But that's a far long OT aspect.

Is using `continue`, `break` in non-`switch` loops and `?:` bad practice?Loop1 avoids one level of nesting, resulting -on non-optimizing compiler- in less "jump" instruction once the code is translated. May be not "beautiful", but that 's how many STL implementation are written. If performance is important, solve the most frequent case first, with shortest jump is what makes the processor less "heated".