I'm in the process of designing a console personal/business finance package for Linux. It's easy to identify the advantages of data abstraction through classes, but I'm not inclined to become proficient with STL or containers. Exception handling may become a consideration, but definitely memory allocation via "new". My own implementation of a doubly linked list will also be part of this to facilitate my version of a relational database.

Logic dictates as "C" is a subset of "C++" there won't be a problem, but I would appreciate any opinions where my rationale might be flawed. GUI is also of no consequence.

There are times when C api's are appropriate in what is mostly a C++ application. Low level system and network programming often require C code. as for STL collections, strings, and such, they are VERY powerful and you would be well served to learn them. They can save you tonnes of coding and time, and be easier to read.

Recently I've been using GCC 5.2.0 and have been reasonably satisfied with the object code it emits. I've begun reading C++ Primer 5th edition and it is a fairly intense text, so hopefully I will glean from it what you are already aware.

I think this is the answer I was looking for.

Extracted from C++ Primer 5th edition.

Ordinarily, C++ programs should use the cname versions of headers and
not the name .h versions. That way names from the standard library are
consistently found in the std namespace. Using the .h headers puts the
burden on the programmer to remember which library names are inherited
from C and which are unique to C++.

This article has been dead for over six months. Start a new discussion instead.