gpt4 book ai didi

c++ - 在 while 条件中声明变量的一些方法?

转载 作者:太空狗 更新时间:2023-10-29 23:33:01 25 4
gpt4 key购买 nike

在 C++ 中你可以这样做:

for (int i = 0 ; i < 10 ; i++) {
/* ... */
}

然后变量 i 只存在于 for 语句的内部。是否存在某种方法可以使用 while 语句执行此操作?例如,做这样的事情会很好:

while ( (int c = fgetc(file)) != EOF ) {
/* ... */
}

显然这是行不通的。但是存在一些语法技巧来有效地做到这一点(变量在 while 条件中使用并且只在 while 语句的内部可见)?

最佳答案

你可以使用:

{
int c = fgetc(file); /* c should only be in scope for a limited time */
while (c != EOF) {
/* Do your stuff */
c = fgetc(file);
}
} /* c goes out of scope */

但是它很困惑,而且作为一个嵌入式 C 程序员,我个人更喜欢在类或函数开头声明的变量。

真正的答案是,如果您担心将变量的范围限制在给定的代码块中,那么它是一个很好的指标,表明该代码块应该是一个单独的函数/类成员,那么您没有担心局部变量的范围。

关于c++ - 在 while 条件中声明变量的一些方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24715127/

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