I am reading some article about embedded programming. there is an example about read only and write only data type. if you want to implement a read only type, you can use const as both in c and c++. however, if you want to implement a writeonly type, there is no way you can do it in C. but in C++, you can overload the type's operator=, and define this operator overloading as private function. then when you read an object with this type, compiler will report error, because you are calling a private function. this is just a very interesting example.