首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Excel VBA解读(139): 用户定义函数计算了多次

写在开头的话:本系列从第133篇开始的22篇文章,都是翻译改编自fastexcel.wordpress.com的Making your VBA UDFs Efficient系列,可能有点高深晦涩,但确实都是好的VBA用户自定义函数编程细节技巧和经验。对于大多数人来说,你可以略过这些内容,因为我们只需懂得基础的VBA用户自定义函数知识就足够了。对于想深入研究VBA的人来说,还是值得研究和试验的。我刚开始看到这些文章的时候,一是水平有限,看不大懂,也觉得没有什么必要,所以一直收藏着。然而,随着自已研究VBA的深入,不由得佩服老外对VBA研究的深入,此时刚好Excel VBA解读系列又写到自定义函数这里,正好拿出来,边研究并翻译分享给大家。如果对这些内容没有兴趣的朋友,可以略过,免得浪费时间。

03

数据结构之数组

在 java的API 里面有封装好的容器,那就是ArrayList,那么容器和数组比的话谁更有优势呢? 容器 也就是将数组的细节操作还有数据类型封装起来,还有就是它内部是可以动态扩容的(每次动态扩容的大小为其原来的1.5倍)说到动态扩容会涉及到内存的申请所一说在创建容器数组的时候可以固定给一个值(在知道最大的纯储量的的时候且符合业务场景) 那么如果直接使用数组的话肯定会规避掉一些很细节的问题比如说使用容器内存浪费,还有就是容器是不能为存储值类型的如int,long等 在看专栏的时候有一个问题也就是为什么数组下标的起始值为 0而不为1 ? 数组的计算公式为 a[i]_adress =base_adress +i*date_type_size 从数组的内存模型来看其下标也就是其偏移(offset) 如果用a来表示数组的首地址,那么a[0]也就是偏移量 那么也就是a[k]表示k 个 type_size的位置 ,那么如果从1开始那么还得减1 那么计算地址公式就得多算一步,对于底层来说这一步是很浪费性能的。所以说是从0开始的 写到这个想到数据库的分页也不就是这个理吗?这个得想想。。。。。。

02

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券