gpt4 book ai didi

c++ sizeof operator - 指向double的指针

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:11:19 24 4
gpt4 key购买 nike

我在使用 sizeof 运算符 (C++) 时得到了意想不到的结果。在主课中,我有这些行

 double * arguments_ = new double();
*arguments_ = 2.1;
*(arguments_+1) = 3.45;
cout << (sizeof arguments_) << ' ' << (sizeof arguments_[0]) << ' '<< (sizeof arguments_)/(sizeof arguments_[0]);

这给我输出4 8 0

Double size是8个字节,而且(sizeof arguments_[0]) = 8。但是,为什么(sizeof arguments_)也不是用字节表示的(2*8 = 16)? sizeof运算符是否适用

最佳答案

两个值都以相同的单位表示。你有一个 32 位系统,所以地址的大小是 32 位,或 4 个字节。在你的系统上 double 的大小是 8 个字节。整数除法 4/8 的结果为零。

关于c++ sizeof operator - 指向double的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9481345/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com