当前位置:网站首页>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))
常
表示我不改
,不变
表示不会变
.
边栏推荐
- JDBC(详解)
- Typescript 严格模式有多严格?
- MySQL 8.0.29 设置和修改默认密码
- Automatically generate test modules using JUnit4 and JUnitGenerator V2.0 in IDEA
- About the data synchronization delay of MySQL master-slave replication
- ClickHouse 创建数据库建表视图字典 SQL
- 深入浅出富文本编辑器
- socket: Kernel initialization and detailed process of creating streams (files)
- Chrome 配置samesite=none方式
- The reason for not using bs4 is that the name is too long?Crawl lottery lottery information
猜你喜欢
DistSQL 深度解析:打造动态化的分布式数据库
MySql创建数据表
基于ABP实现DDD--领域逻辑和应用逻辑
MySQL 有这一篇就够(呕心狂敲37k字,只为博君一点赞!!!)
MySQL 8.0.29 解压版安装教程(亲测有效)
Automatically generate test modules using JUnit4 and JUnitGenerator V2.0 in IDEA
WinDbg实践--入门篇
CISP-PTE Zhenti Demonstration
cookie和session区别
navicat连接MySQL报错:1045 - Access denied for user ‘root‘@‘localhost‘ (using password YES)
随机推荐
Day 16 of HCIP
Be careful with your dictionaries and boilerplate code
Navigation Bar----Personal Center Dropdown
Teach you how to build a permanently running personal server
数据质量提升
JS中获取元素属性的8大方法
go语言慢速入门——流程控制语句
(7/29)基础板子最小生成树prim+kruskal
ClickHouse 数据插入、更新与删除操作 SQL
你需要知道的ES6—ES13开发技巧
小心你的字典和样板代码
【网络安全专栏目录】--企鹅专栏导航
@RequestBody、 @RequestParam 、 @PathVariable 和 @Vaild 注解
基于ABP实现DDD--实体创建和更新
【Summary】机器人方法汇总
MySQL 灵魂 16 问,你能撑到第几问?
大家都在用的plm项目管理软件有哪些
Collapse legacy apps
MySQL compressed package installation, fool teaching
1064 Complete Binary Search Tree