问题标签 [implicit-conversion]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 为什么在这种情况下,朋友重载运算符优于转换运算符
嗨我有这样的代码,我认为朋友重载运算符和转换运算符都有类似的功能。但是,为什么在这种情况下会调用友元重载运算符呢?有什么规则?
非常感谢!
c++ - C++,如何确定隐式转换/构造函数?
C++ 如何确定几层深的对象的隐式转换/构造?例如:
它是否创建所有可能转换的树并选择适当的终端?还有什么?谢谢
c++ - 隐式转换整数计算以在 C++ 中浮动
是否有任何编译器具有将整数计算强制转换为隐式浮点的指令或参数。例如:
“f”是“0”,因为计算的常量(1、3、10)是整数。我想用编译器指令或参数转换整数计算。我的意思是,我不会像这样使用显式转换或“.f”前缀:
或者
你知道任何 c/c++ 编译器有任何参数来执行这个过程而无需显式转换或“.f”吗?
c# - 当 B 可以类型转换为 A 时,我如何将 A 转换为 A 类的对象?
基本上我想这样做。aa 导致错误的强制转换异常。
注意:o 可以是任何东西。它可能不是 B,它可以是 C、D、E、F 等。但只要 o 是一个可以类型转换为 A 的类(B 就是这样一个类。它使用隐式运算符重载),这应该可以工作
c# - 为什么 C# 中的这种隐式类型转换会失败?
背景:
假设我有以下课程:
如您所见,它为T
→提供了一个隐式类型转换运算符Wrapped<T>
。最终,我希望能够按如下方式使用此类:
问题:
但是,上述using
子句中的类型转换失败。虽然我可以将 anew X()
直接分配给wrappedIX
,但我不能给它分配任何类型IX
的东西。编译器将抱怨以下错误:
编译器错误 CS0266:无法将类型“IX”隐式转换为“Wrapped<IX>”。存在显式反转(您是否缺少演员表?)
我不明白这一点。这里有什么问题?
c# - c#中关于隐式运算符重载的问题
有什么办法可以让这段代码工作吗?我知道通过隐式运算符重载你可以得到相反的工作:
谢谢
c# - C# 中强制转换/转换 int/double 的解释
我编写了一些计算的东西(我在下面复制了一个非常简化的例子),比如 CASE2 并得到了不好的结果。像 CASE1 一样重构代码并且工作正常。我知道 CASE 2 中存在隐式转换,但不确定全部原因。任何人都可以向我解释下面到底发生了什么?
我的猜测是 CASE2 中的 /2 将 (5 + 6) 转换为 int 并导致除法轮数为 5,然后再次转换为 double 并转换为 5.0。
CASE3 和 CASE 4 也解决了这个问题。
scala - 为什么 Option 不直接扩展 Iterable 特征?
Option
可以隐式转换为Iterable
- 但为什么它不只是直接实现Iterable
:
编辑: 事实上它甚至比这更复杂,因为在 2.8Option
中确实声明了一个iterator
方法:
vb.net - VB.NET 中的隐式转换
这个问题是为懒惰的 VB 程序员准备的。请。
在 vb 中我可以做到,而且不会出现任何错误。
示例 1
示例 2
示例 3
示例 4
如果我确实知道预期的运行时类型,这是否“禁止”依赖于 vb 语言内置转换?我什么时候可以依靠?