Thursday 9 June 2011

Why copy-semantics of stream classes from Standard Library are disabled?

C++ Standard IO Library defines several  stream classes, such as std::istream, std::ostream, std::iostream, std::ifstream, std::ofstream, std::fstream, std::istringstream, std::ostringstream, std::stringstream, and their wide-character counterparts.  Copy-semantic of all these streams has been disabled by having made the copy constructor and copy-assignment private, which means one cannot make a copy of stream object:

Tuesday 7 June 2011

Religion of C

Taken from here
Oh Ken, thou who art the Root of Roots, hallowed be thy name. May you this day grant me my daily malloc. May my functions never return errors, and my error handlers all be perfect. Let us walk in the light, the light of C. Amen.

In the Truth of C, there are no segmentation faults. Only those programs who stray from the Path of C may enter the land of darkness, where Undefined Behaviour dwells and Demons do fly out of Noses.

Yeah, though I walk through the cluster of exceptions, I shall not prematurely optimize, and will live forever in blissful ignorance of the tail recursion optimization I do not need.

The Path is Narrow and Winding, and lo, it is Hard to Follow, for you will travel at great speed. Many are those who have strayed, and few are those who have kept to the Path. Hallowed be their names, for they will live in the Light of C forever!