当前位置:网站首页>d违反常了吗
d违反常了吗
2022-07-30 21:46:00 【fqbqrr】
import std;
struct S
{
string s;
void delegate(string s) update;
}
void func(const S* s)
{
//函数接收S常引用,它不能修改S
writeln(*s);
s.update("func");//函数调用闭包的可变引用,来修改.相当于`两层`间接.
writeln(*s);
}
void main()
{
auto s = S("test");
s.update = (_) {
s.s = _; };
//闭包可以修改数据.它持有`可变`引用
writeln(s);
func(&s);
writeln(s);
}
//输出是:
S("test", void delegate(string))
const(S)("test", void delegate(string))
const(S)("func", void delegate(string))
S("func", void delegate(string))
常表示我不改,不变表示不会变.
边栏推荐
猜你喜欢
随机推荐
MySQL 灵魂 16 问,你能撑到第几问?
Chrome 配置samesite=none方式
基于ABP实现DDD--领域逻辑和应用逻辑
使用LVS和Keepalived搭建高可用负载均衡服务器集群
MySQL user authorization
Uni-app 小程序 App 的广告变现之路:激励视频广告
Google Earth Engine ——快速实现MODIS影像NDVI动画的在线加载并导出
【翻译】作为混沌网的LFX门徒的经验
系统结构考点之并行计算霍纳法则
MySQL 8.0.29 decompressed version installation tutorial (valid for personal testing)
MYSQL JDBC图书管理系统
CISP-PTE真题演示
How strict Typescript strict mode?
The mysql time field is set to the current time by default
MySQL 5.7 detailed download, installation and configuration tutorial
小心你的字典和样板代码
IDEA2021.2安装与配置(持续更新)
IDEA 连接 数据库
About the data synchronization delay of MySQL master-slave replication
qt使用动态库(DLL)









