gpt4 book ai didi

c++ - static_cast<类型>() 与类型 ()

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

<分区>

在“编程:使用 C++ 的原则和实践”的“第 8.5.7 节参数检查和转换”中,给出了以下示例作为如何正确转换类型的证据,但从未清楚地解释为什么要使用 int()对比static_cast<int>()double 转换到int .但是,我仍然不清楚 static_cast<int>() 的好处对比int() .

void ff(int x);

void gg(double y) {
ff(y); // how would you know if this makes sense?
int x=y; //how would you know if this makes sense?
}
void ggg(double x) {
int x1 = x; // truncate x
int x2 = int(x);
int x3 = static_cast<int>(x); // very explicit conversion (17.8)

ff(x1);
ff(x2);
ff(x3);

ff(x); // truncate x
ff(int(x));
ff(static_cast<int>(x)); // very explicit conversion (17.8)
}

我检查了第 17.8 节,但仍然没有明确说明这个主题。有人可以帮忙吗?我正在寻找一种将 static_cast 与函数样式转换进行比较的解决方案。

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