化简d代码方法

为了更好理解d最好化简代码,去掉各种名词概念.编译器在这方面是一致的:

struct Vector {
    float[] _elements;
    ref float opIndex(size_t i) scope return {
        return this._elements[i];
    }
}//待化简,化简成下面.
ref int test(ref scope return int* p)
  {
     return *p;
  }

其中,*替代了[],替代,不需要i了.
不要同重载操作符搞混了,用引用参数替换,使其为非成员函数,然后去掉这个包装器.
当前用-dip1000编译无误.
检查的表,里面有个[引用 中 型]和[域 值],所以应用至指针类型.所以,这是预期的,不是漏洞.
是的,很难推导,但理念是可仅用如下项来重写:

    int i;
    int* p;
    return i;
    return *p;
    return &i;
    return &p;

用这些来写例子,再加点引用/中/域.
构/类/本/[]/闭包等,还得再做些工作才能化简.

posted @   zjh6  阅读(28)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示