ddip1000按引用返回问题

原文

alias VErr = char*;

@safe:

ref char* front_p(return scope char** p) { return *p; }

__gshared char* g;

void main()
{
    char* _errors;
    g = front_p(&_errors);
 //错误:赋值较长生命期的`"g"`变量,为`"_errors"`的变量的地址.
}

错误不正确.在赋值给'g'之前,返回值间接的,所以'_errors'的地址未赋值给'g',而是把'_errors'指向的地址赋值给了'g'.
可注释掉"@safe:",编译它并查看汇编程序而知道.

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