Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Home » Tip Bank » C++
Language: C++
Expertise: Beginner
Apr 22, 1998



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Performance—C vs C++

What are the performance tradeoffs of using C++ instead of C? Are there any ways of overcoming these tradeoffs?

In general, C++ is every bit as efficient as C is.

The problem (if you want to call it that) is that C++ can do a lot of things for you automatically. For example, a C++ string class can simplify a lot of functionality for you. When you declare a string object and assign a string to it, the class must allocate and copy memory, and when the object is deleted or goes out of scope, the destructor will probably need to release that memory.

Obviously, this takes more time than simply declaring an array in C. Virtual functions can also require additional overhead.

The simple answer is that you need to be aware of what's going on under the surface if you plan to write very optimized programs.

If you want to avoid the overhead normally associated with C++, don't use any rich C++ class library with all sorts of functionality at the ready. Instead, write some of your own C++ classes, step through them with the debugger, and work to keep them efficient.

DevX Pro
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date