数组地址不可见
Array address not visible
参考下面的代码:
#include <iostream>
class Boy {
char name[10];
public:
void show() {
*name = 0;
std::cout << "n" << &name[0];
}
};
int main() {
Boy b;
b.show();
}
在这里,为什么我们看不到名称[0]的地址。我也尝试了name
,它本身就是地址。
这是因为您使用char*
重载operator<<
,它将指针视为指向c-string的指针。将指针转换为void*
以打印它。
std::cout << "n" << static_cast<void*>(&name[0]);
相关文章:
- 输出没有重复元素的动态数组(收缩数组)C++
- 将值从另一个数组写入数组,不包括不需要的值 C++
- 将字符串转换为无符号字符数组/字节数组
- 如何使用 ROS 从 yaml 文件中读取带有元组的数组?
- 对数组中子数组的引用
- 检查彩虹数组(检查数组的反向样式是否与自身匹配)
- 如何创建对齐的数组 c++ 数组?
- 查找数组中数组元素的重复出现?
- C++释放带有子数组的数组的内存分配
- 合并两个数组后数组大小不正确
- 返回一个数组,该数组包含数组中的数量,该数组数量较小或等于给定数组中的元素
- 通过键盘输入字符串数组和 int 数组的数组大小
- 如何在C 中创建类似于Python的Numpy数组的数组
- 无法获取数组内数组的总和
- C4838 警告,包含常量字符* 数组的数组初始化
- 连接数组,数组 1 内存消失C++
- 地址数组,带有枚举的返回值
- 如何在C++中创建二维数组的数组
- Q:std::元组/std::数组
- MPI_Send发送数组或数组内容的地址