关于强制类型转换的问题
《C++ Primer》的习题5.33,我编了一个验证答案的程序, 其中有一个我试了所有的转化类型都不正确,网上的答案也有点问题。也许是我的问题吧, 请同仁指正:
#include <iostream>
#include <string>
using std::cout;
using std::endl;
using std::string;
int main()
{
int ival;
double dval;
const string *ps;
char *pc; void *pv; void *qv;
pv = (void*)ps;
ival = int(*pc);
qv = &dval;
pc = (char*)pv;
void *pv1 = static_cast<void*>(const_cast<string*>(ps));
int ival1 = static_cast<int> (*pc);
void *qv1 = static_cast<void*>(&dval);
char *pc1 = static_cast<char*>(pv);
if (pv == pv1) cout << '1' << endl;
if (ival == ival1) cout << '2' << endl;
if (qv == qv1) cout << '3' << endl;
if (pc == pc1) cout << '4' << endl;
return 0;
}