【发布时间】:2019-02-05 16:22:51
【问题描述】:
在 Dart 的一些代码示例中看到了波浪号。我已经看到它在 C++ 中用作析构函数,可以调用它来删除对象的实例 它在 Dart 中具有相同的功能吗? Java中是否有等价符号?
【问题讨论】:
标签: dart
在 Dart 的一些代码示例中看到了波浪号。我已经看到它在 C++ 中用作析构函数,可以调用它来删除对象的实例 它在 Dart 中具有相同的功能吗? Java中是否有等价符号?
【问题讨论】:
标签: dart
~ 运算符是 Dart 对象上的可重载运算符,因此它可以表示任何你想要的意思。在平台库中,唯一的用途是 int.operator~,它执行按位求反(类似于 C、Java 和 JavaScript 中的整数运算符)。
正如 Günther Zöchbauer 所提到的,~ 也出现在可重载的 ~/ 运算符中,平台库将其用作整数除法 num.operator~/。默认情况下,~ 或 ~/ 运算符之间没有关系。
所以,这并不意味着“破坏”。 Dart 不允许显式销毁或任何销毁 - 语言规范没有说明对象何时死亡。 (实现垃圾收集用户代码再也看不到的对象,以保留内存)。
【讨论】:
Dart 不支持析构函数
https://www.dartlang.org/guides/language/language-tour#operators
~目前仅用于
~/除,返回整数结果
和~/= 整数除法和赋值。
在 Java 中没有真正的等价物。
在 Java 中,如果将结果分配给整数变量,则结果是整数(但不确定,不是 Java 开发人员)
【讨论】:
int a = 2; int b = 3; 和 a/b => 0 如果您不想丢失精度,请将其中一个数字转换为浮点数或双精度数:(double)a/b => 0.66....