zoukankan      html  css  js  c++  java
  • 关于OpenCASCADE数组序列的起始值

    C/C++的数组是从0开始计算的,5个值的数组则下标会对应 0, 1, 2, 3, 4。

    在数学上可能不这么数,我所知道的 Mathematica 内的 List 是从 1 开始作为下标的。

    OpenCASCADE对数组下标的设计早期更靠近数学的理念,从1开始,这明显与C/C++语言标准不同,所以对每一个数组都得重新设计,然后为了兼容又给数组类定义了一个 Lower下标,Upper下标;数组下标应该是从 Lower 至 Upper (边界都取值)。

    兼容Lower,Upper 下标使得在使用时得时时刻刻提神,而且可以看到里边有很多地方的代码,会假定数组是从1开始算下标的,看样子很难全部没有修改过来,所以如果将 Lower 设定为0 开始计数,虽然做到了与C/C++的等同,但使用起来就等同了埋地雷,指不定什么时候就给你来一个指针越界,要不要试试

    话又说回来,真不习惯数组从1开始计算下标;画蛇添足地搞个Lower, Upper下标,弄出不必要的复杂度,感觉这是OpenCASCADE不够贴近语言使用,鸡肋的设计。

  • 相关阅读:
    JSP学习-10-EL表达式
    深入浅出Mybatis(一)
    第10章—开启事务
    第09章—使用Lombok插件
    第08章—整合Spring Data JPA
    第06章—热部署
    第05章—Swagger2打造在线接口文档
    第03章—打造RESTful风格API
    第04章—整合Mybatis
    第01章—快速构建
  • 原文地址:https://www.cnblogs.com/bitbybit3d/p/11946595.html
Copyright © 2011-2022 走看看