Friday, June 4, 2010

DiffERENCE BETWEEN c/c++


DIFFERENCE b/w C and C++
1.) 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.

2.) 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.

3.) 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.

4.) 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++.

5.) 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).

6.) 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).

7.) 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.

8.) 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.

9.) C++ support operator overloading but c doesn't support
operator overloading.

No comments:

Post a Comment