我是C ++的新手,正在尝试学习指针的概念。我已经声明了一个指针* pStart并将其初始化为等于' text'。当我试图打印出指针的值时,我希望它等于' text'相反,编译器存储了字符串' hello'。有人可以向我解释为什么会这样吗?
char text[] = "hello";
char *pStart = text;
cout << pStart << " + " << *pStart << " + " << &pStart << endl;
答案 0 :(得分:1)
此C ++功能称为operator overloading。根据输入值的类型,调用某种类型的流操作符。对于字符输入,查找&#34;插入字符&#34;在上面的链接或here。
试试这个:
std::cout << std::hex << reinterpret_cast<int>(pStart);