about c++ cast operation