static - Chapel 中的静态类字段
问题描述
Chapel 是否具有等效于 C++/Java 静态类字段,其值在类对象之间共享?如果没有,应该怎么办?
解决方案
Chapel 不支持等效的静态类字段。但是,它确实支持等效的静态类方法,在 Chapel中称为类型方法。
如果需要 Chapel 中的静态类字段,他们可以使用无括号的方法返回一个全局定义的变量以获得类似的效果,例如
var globalValue = 42;
class C {
var a = 1;
proc b {
return globalValue;
}
}
var c1 = new owned C(1);
var c2 = new owned C(2);
writeln(c1.a);
writeln(c1.b);
writeln(c2.a);
writeln(c2.b);
globalValue += 1;
writeln(c1.a);
writeln(c1.b);
writeln(c2.a);
writeln(c2.b);
输出:
1
42
2
42
1
43
2
43
推荐阅读
- javascript - 如何在gentelella模板中初始化离子范围滑块功能
- json - 使用 Axios 和 NodeJS Express 解析 JSON 数据(匹配 mongoose 的模式)
- python - 如何连接数据帧以便将缺失值设置为 NaN
- leaflet - 将 minZoom 与 map.fitBounds 一起使用而不会出错
- python - Python - 向时间序列数据集添加行
- java - GetterAndSetter 返回空的 ArrayList
- ios - 关于重用 UITouch 和 UIEvent 对象
- rx-java - 如果 RxJava 失败,如何恢复映射列表
- regex - 具有前瞻模式的 grep 命令不选择任何内容
- html - 文本换行时元素占用 100% 的宽度(flexbox)