What features make C++ so powerful?
2011
What features make C++ so powerful?
Answer: D. All of these — Concept. The power of a general-purpose programming language is judged on three independent axes: how directly a programmer can express and implement an…
- A.
Easy implementation
- B.
Reusing old code
- C.
Easy memory management
- D.
All of these
Attempted by 3 students.
Show answer & explanation
Correct answer: D
Concept. The power of a general-purpose programming language is judged on three independent axes: how directly a programmer can express and implement an algorithm on the machine, how much already-written code the language lets a program reuse instead of rewriting, and how much control the programmer keeps over resources such as memory. These axes are not alternatives — a hybrid language that layers high-level abstractions on top of a low-level core can satisfy all three at once, and that simultaneous coverage is exactly what “powerful” means for such a language.
Application. C++ was designed as precisely such a hybrid (it began as “C with Classes”), so each axis maps onto a concrete C++ mechanism:
Characteristic | Mechanism C++ provides for it |
|---|---|
Ease of implementation | Familiar C syntax that mainstream implementations compile ahead of time to native machine code, plus classes, operator overloading and templates so structured code still maps onto efficient instructions. |
Reuse of old code | Inheritance, class and function templates, the Standard Library, and |
Memory management |
|
Cross-check. Test each listed characteristic against the language independently:
Implementation — mainstream C++ toolchains compile ahead of time to native machine code with no interpreter or virtual machine needed at run time (the standard does not mandate this, but it is how the usual implementations work), so the route from source to machine is direct.
Reuse — a C++ program can inherit from existing classes and link C object code unchanged, so earlier work is carried forward.
Memory — allocation and release are fixed by the program rather than by a garbage collector, and a destructor runs at a defined point; “easy” here means predictable and explicit control, not effortless.
All three hold, and each describes a different axis, so none of them excludes the others. A single feature would describe only one axis of the design, so the complete answer is All of these.