conversion-operator相关内容

C++ 中的类型转换/铸造混淆

什么是类型转换,什么是类型转换? 我应该什么时候使用它们? 详细信息:对不起,如果这是一个明显的问题;我是 C++ 新手,来自 ruby​​ 背景,习惯于 to_s 和 to_i 等. 解决方案 转换是当一个值,嗯,转换为不同的类型.结果是目标类型的值,并且对于从什么输入(源类型)产生什么输出值有规则. 例如: int i = 3;无符号整数 j;j = 我;//“i" ..
发布时间:2022-01-13 00:07:11 C/C++开发

C++ 中的类型转换/强制转换混淆

什么是类型转换,什么是类型转换? 我应该什么时候使用它们? 细节:对不起,如果这是一个明显的问题;我是 C++ 新手,来自 ruby​​ 背景并习惯于 to_s 和 to_i 等. 解决方案 转换 是将值转换为不同的类型.结果是目标类型的值,对于什么输出值来自什么输入(源类型)有规则. 例如: int i = 3;无符号整数 j;j = i;//"i" 的值被转换为 " ..
发布时间:2021-12-31 22:06:42 C/C++开发

多个转换运算符导致赋值运算符不明确

我正在使用一些旧代码,以前的开发人员之一在其中创建了一个Guid(全局唯一IDentifier)类,该类使用Microsoft的GUID结构作为成员变量(下面的成员"MS").为了便于在两者之间进行转换,在Guid.h中定义了以下两个转换/广播运算符: /// Returns a GUID structure operator GUID() const { return MS; } ..
发布时间:2020-09-13 04:29:48 C/C++开发

因为有两种方法在C ++中定义转换,当同一转换有两种可能性时,它们如何交互?

在C ++中,你可以说类型A应该以两种不同的方式隐式转换为类型B. 如果你是A的作者,你可以这样添加到A: 运算子B(){ // code } 如果您是B的作者,您可以在B中添加如下内容: B(const A& a){ // code } 如果我理解正确,那么将允许A隐式转换为B.因此,如果两者都定义了哪一个被使用?这是允许的吗? ..
发布时间:2016-10-23 12:20:15 C/C++开发

C ++隐式转换运算符优先级

编辑:按照Mike Seymour的注释,我替换运算符std :: string()const; code>并相应地更改了实现。这允许隐式转换,但是,由于某种原因,unsigned long int运算符优先于char *运算符,这是不正确的...此外,我不想暴露讨厌的C的东西,如char *外面类,当我有std :: string。我有一个希望,我的CustomizedInt类需要继承一些东西, ..
发布时间:2016-10-19 20:12:11 C/C++开发

通过初始标准转换序列区分用户定义的转换序列

标准似乎提供了两个规则,用于区分涉及用户定义的转换运算符的隐式转换序列: c ++ 11 13.3.3最佳可行函数[over.match.best] [...]是一个比另一个可行函数更好的函数 F2 if [...] 定义的转换(见8.5,13.3.1.5和13.3.1.6)和从返回类型F1到目标类型(即正在初始化的 实体的类型)的 标准转换序列是比标准转换序列更好的 ..