gpt4 book ai didi

"auto"整数类型的 c++ 安全向后计数为零

转载 作者:行者123 更新时间:2023-11-30 01:08:22 34 4
gpt4 key购买 nike

expression 是整数类型,在编译时已知,可能有符号,也可能没有符号。按照以下方式(假设表达式的实际值为非负数)向后计数到零是否安全?

for(auto i = expression; i!= static_cast<decltype(i)>(-1); --i) {
//something
}

最佳答案

很安全。但在我看来,它很难阅读,而且安全性/正确性不一定是直观的(毕竟,你为什么还要问)。我提议:

for(auto i = expression; i-- > 0;)

(也称为“转到”运算符,当格式不同时:i --> 0)。


编辑:如前所述,这与所讨论的循环的行为并不完全相同。 expression 的初始值不会被迭代,而是循环将从 expression - 1 开始(因此会有正好 expression 的迭代次数).

关于 "auto"整数类型的 c++ 安全向后计数为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42957315/

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