- C was the C++ predecessor. As its name implies, alot of C remains in C++. Although not actually being more powerful than C, C++ allows the programmer to more easily manage and operate with Objects, using an OOP (Object Oriented Programming) concept.
- C++ allows the programmer to create classes, which are somewhat similar to C structures. However, to a class can be assigned methods, functions associated to it, of various prototypes, which can access and operate within the class, somewhat like C functions often operate on a supplied handler pointer.
- Although it is possible to implement anything which C++ could implement in C, C++ aids to standardize a way in which objects are created and managed, whereas the C programmer who implements the same system has alot of liberty on how to actually implement the internals, and style among programmers will vary alot on the design choices made.
- In C, some will prefer the handler-type, where a main function initializes a handler, and that handler can be supplied to other functions of the library as an object to operate on/through. Others will even want to have that handler link all the related function pointers within it which then must be called using a convention closer to C++.
- In C, there's only one major memory allocation function: malloc. You use it to allocate both single elements and arrays. In C++, however, memory allocation for arrays is somewhat different than for single objects; you use the new[] operator, and you must match calls to new[] with calls to delete[] (rather than to delete).
- C++ applications are generally slower at runtime, and are much slower to compile than C programs. The low-level infrastructure for C++ binary execution is also larger. For these reasons C is always commonly used even if C++ has alot of popularity, and will probably continue to be used in projects where size and speed are primary concerns, and portable code still required (assembly would be unsuitable then).
- In C++, you are free to leave off the statement 'return 0;' at the end of main; it will be provided automatically but in C, you must manually add it.
- A function can be declared in C as int fun( );. This means that fun( ) is a function without any argument or any number of arguments. But in C++, this means that the function with no argument at all.
- C++ support operator overloading but c doesn't support operator overloading.
What is the Main Difference Between C and C++?
|
Go4Expert Member
|
|
| 20Mar2010,14:14 | #1 |
|
|
|
Skilled contributor
|
![]() |
| 20Mar2010,14:41 | #2 |
|
nice info...it wud have been better if u had explained it with examples... newbies wud love to know about this....
krazytechno
likes this
|
|
Pro contributor
|
|
| 23Mar2010,21:46 | #3 |
|
Yeah, this is good stuff. The examples would've been very helpful as well.
|
|
Go4Expert Member
|
|
| 25Mar2010,07:46 | #4 |
|
yeah by the next time i will try to include that one as well.
|

