c++ - 关于 sizeof 运算符的困惑

标签 c++ arrays macos sizeof

我在 Mac OSX Lion 上使用 C++,我创建了以下代码:

float* floatArray = new float[10];

for(int i = 0; i < 10; i++)
{
    floatArray[i] = 0.0 ;
}

std::cout<< "Test size of a float " << sizeof(floatArray[0]) << std::endl;
// The value is 4 byte which is what I would expect.

std::cout<< "Test the size of the whole array" << sizeof(floatArray) <<std::endl;
// the value is 8. I would have expected the value to be 40 bytes.

我不明白什么?

提前致谢

最佳答案

表达式 sizeof(floatArray) 返回指针的大小,而不是它指向的内容。

关于c++ - 关于 sizeof 运算符的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12201409/

相关文章:

macos - Fluid.app 将控制台日志放在哪里?

macos - 带有OpenCV Mac的CMake(小牛)

XCode 4 无法打开旧项目

c++ - 如何获取给定文件夹中具有特定扩展名的文件列表?

python - 从数组python中选择最大值

c++ - 复制构造函数中的 "Template typedef"不起作用

php - 翻转多维数组的更好方法?

arrays - GO:数组/slice 到常规字符串

使用 lambda 对函数模板进行 C++ 类型删除

c++ - 在类外设置 const int 成员变量 (C++)