【发布时间】:2020-07-13 11:44:14
【问题描述】:
有人可以在 C++ 中澄清一下
1- 在下面的代码中,打印char* 显示为一堆随机字符,但打印string* 只是一个整数地址?为什么会这样?
int * intptr;
char * charptr;
std::string * stringptr;
float * floatptr;
//printing
std::cout << intptr << " , " << charptr << " , " << stringptr << " , " << floatptr << "\n";
输出:
0x7ffeea2f1a60 , ���� , 0x7ffeea2f1a48 , 0x1092d13d4
2- charptr 是一个指针变量,指向包含字符的部分内存。只是为了好奇,你如何打印charptr的地址?
3- 在阅读不同的资料时,我发现:“不同的打印是因为 (i.e. a const char *) 函数将内存视为字符序列”。有人可以用上面的代码扩展这个答案吗?
【问题讨论】:
标签: c++ pointers char memory-address