# Other Languages > C and C++ >  Advantages of C++

## jackwilson10001

Hi every one, Can any one tell me some advantages of C++ rather than C language..

----------


## FunkyDexter

I've moved your thread to the C and C++ section.  The code bank is for posting code snippets and examples so you probably wouldn't have got many responses in there.

----------


## KGComputers

I'm no C++ expert or experienced one. However, based on my understanding C++ supports Object Oriented Programming while C doesn't. 

KGC

----------


## AceInfinity

Here's my list from my experience:

1. OOP
2. Smart pointers & RAII with the STL
3. Templates (Macro's in C can be harder to deal with)
4. Better type safety
5. References

That's a good starting list.

----------


## 2kaud

- classes (OOP)
- templates
- exceptions
- containers (lists, maps, vectors, sets etc)
- iterators
- i/o streams
- operator overloading
- function overloading
- algorithms (sort, merge, search etc)
- strings
- multi-threading (C++11)
- references
- improved type safety
- Lambda Expressions (C++11)
- Regular Expressions
- rvalue references
.
.
.

----------


## AceInfinity

> - classes (OOP)
> - templates
> - exceptions
> - containers (lists, maps, vectors, sets etc)
> - iterators
> *- i/o streams*
> - operator overloading
> - function overloading
> *- algorithms (sort, merge, search etc)*
> ...


I'm curious on clarification of the highlighted parts above? C has sorting algorithms (http://www.cplusplus.com/reference/cstdlib/qsort/). But the I/O objects std::cout, etc.. for C++ are all synchronized with stdin, stdout, stderr, used by C. There's definitely a lot I missed, yet I have a biased view since I use C++ more than I use C... C++ I/O is subjective however. This is because C style I/O can integrate more easily with localisation, as the whole string to localise is not broken up in smaller strings as with C++ I/O stream objects, and with some strategies, the localizer can reorder the order of the inserted value, move them around in the string, etc... In some cases, because it's less bulky too, C I/O is faster than a standard C++ I/O implementation. You can also still multi-thread in C; it is possible.

----------

