> cin.clear() clears the error flag on cin?
Yes. It clears the failed state of cin
> Does flag means you change something from true to false or false
The stream object maintains error state via a set of flags - good, fail, eof and bad
http://en.cppreference.com/w/cpp/io/ios_base/iostate
clear()
without arguments clears the state flags indicating failure
http://en.cppreference.com/w/cpp/io/basic_ios/clear
> Is the input has been thrown to dustbin
Yes. everything in the input buffer up to and including the first new line is extracted and thrown away.
> and the name array has been reset to blank?
No.
cin.ignore()
knows nothing about the array.
> Does numeric_limits<streamsize>::max() has limit?
It is the theoretical maximum number of characters that can be possibly present in a stream buffer.
http://en.cppreference.com/w/cpp/types/numeric_limits/max
In practice, we could just write
cin.ignore( 10000, '\n');
because we do not expect the user to have typed in 10000 characters first and then a new line.