c++ - 类自己的指针指向的数组的大小是多少?
问题描述
class Size_of_dataVariable
{
public:
int array[50];
};
现在,如果我使用指针为此类创建一个对象,例如
Size_of_dataVariable *point = new Size_of_dataVariable;
Size_of_dataVariable
并尝试使用来获取类的数据成员的大小
sizeof(point->array)
那么它会打印200,还是指针的大小?
解决方案
50 和指针的大小都不正确。 point->array
是固定数组,不是指针。虽然指针和数组之间存在关系,但它们并不相同。
由于point->array
是一个固定数组,因此sizeof
在其上使用运算符将为您提供完整数组的大小(以字节为单位),特别是50 * sizeof(int)
.
因此,假设 anint
的大小为 4 个字节,则为sizeof(point->array)
200。
推荐阅读
- mongodb - mongo db查询中的嵌套查找
- python - 散景在同一个图上重复值?
- java - 在字符串数组中搜索下一个可用的空白空间,然后将空间标记为已占用
- python - 为什么 multiprocessing 会打开多个 pygame 窗口,尽管没有处理任何与 pygame 相关的内容?
- django - Django 'CharField' 对象没有属性拆分
- angular - 在Angular中循环自定义组件时如何使用trackby?
- node.js - 如何在 Material-UI 中的 React 中将“功能组件”转换为“类组件”
- python - 将形状(矩形)内的区域保存为来自多个 powerpoint 幻灯片的图像
- vba - 如何从文本框输入填充用户表单列表框/组合框数组/列表?
- java - 如何在 ArrayList 上编写 for 循环以找到最大值