gpt4 book ai didi

c++ - 多词类型的旧样式转换

转载 作者:行者123 更新时间:2023-11-30 04:50:06 25 4
gpt4 key购买 nike

int(x) 这样的单词类型转换不会触发任何警告,但是对于像 unsigned long 这样的多词类型,我该如何以类似的方式编写,long long,还是 unsigned char

(unsigned long)(x) 之类的东西会触发旧式转换警告。

如果省略括号,如unsigned long(x),就是语法错误。

假设变量 x 只是一些本地类型,如 intlong 等。绝对是 x 的类型code> 不是类或结构。

最佳答案

您可以使用typedef:

typedef unsigned long ulong;

int i;
unsigned long x= ulong(i);

这不是旧式转换警告,因为那不是转换,您正在从 int 创建一个新的 unsigned long

你也可以使用static_cast:

unsigned long y= static_cast<unsigned long>(i);

这是一种新的风格。

关于c++ - 多词类型的旧样式转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55133681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com