当前位置:网站首页>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分页查询的5种方法
(7/29)基础板子最小生成树prim+kruskal
About the data synchronization delay of MySQL master-slave replication
ArrayList扩容机制分析
MySql 5.7.38下载安装教程 ,并实现在Navicat操作MySql
8 ways to get element attributes in JS
mysql deadlock
TransGAN代码复现—九天毕昇平台
3分钟带你了解微信小程序开发
JDBC (detailed explanation)
Google Earth Engine ——ee.List.sequence函数的使用
ML.NET相关资源整理
基于ABP实现DDD--领域逻辑和应用逻辑
Niu Ke Xiaobaiyue Race 53 A-E
Navicat连接MySQL时弹出:1045:Access denied for user ‘root’@’localhost’
OpenCV笔记(二十):滤波函数——filter2D
cmd (command line) to operate or connect to the mysql database, and to create databases and tables
【Network Security Column Directory】--Penguin Column Navigation
不用bs4的原因居然是名字太长?爬取彩票开奖信息
JS中获取元素属性的8大方法