首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多精度库zkcm和sizeof()

多精度库zkcm和sizeof()
EN

Stack Overflow用户
提问于 2014-02-14 13:37:47
回答 2查看 74关注 0票数 3

我正在使用多精度复数库(zkcm),并希望比较一些结果使用complex<double>

有一次,我尝试使用sizeof()对变量的内存进行双重检查,但是无论我将变量分配到多大的内存,我都会得到相同的答案( 32 );也就是说,无论我在zkcm_set_default_prec()中使用什么,下面的代码片段都会打印32

代码语言:javascript
复制
zkcm_set_default_prec(128);
zkcm_class z;
cout << sizeof(z) << endl;

除了sizeof(),还有其他方法可以获得变量的内存大小吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-14 14:07:23

我无法测试它,而且文献资料有点模糊,但是有一个具有此签名的方法:

代码语言:javascript
复制
int zkcm class::get_prec ( void ) const;

描述如下:

获取对象的内部精度,即用于“此”复数每个部分的精度。

这可能会返回数字的数量,这应该与使用的内存量成正比。当然,确切的关系是实现细节。类本身可能只保存指向数字所在的堆分配缓冲区的指针和一些簿记信息。sizeof操作符(在C++中)是完全静态的,即在编译时计算.

票数 1
EN

Stack Overflow用户

发布于 2016-01-14 14:20:45

有一次,我尝试使用sizeof of ()对变量的内存进行双重检查,但是无论我将变量分配到多大的内存,我得到的答案都是相同的(32)

sizeof()是在编译时计算的,C++语言无法在运行时更改该值。可能有一些接口提供您需要的信息(无论是直接的还是间接的),但可能不是。但是sizeof()绝对不是实现你想要的东西的方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21780873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档