首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由C++ auto推断的类型

由C++ auto推断的类型
EN

Stack Overflow用户
提问于 2021-01-05 15:24:03
回答 2查看 132关注 0票数 3

auto循环的情况下,C++的for是如何推断数据类型的--从初始化到条件?

代码语言:javascript
复制
long long n;
cin>>n;
for(auto i=1; i<=n; i++)
    cout << ((i * i) * ((i * i) - 1)) / 2 - 2 * (2 * (i - 1) * (i - 2)) << "\n";

在这里,i会是long long的整数吗?当我使用auto和使用long long时,我的代码失败(可能是由于输出中的溢出负值,n= 10000)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-05 15:29:26

对于更简单的语句

代码语言:javascript
复制
auto i = 1;

很明显,iint类型,因为1int类型的文字。它传递到for循环中的声明。C++是非常自我一致的.

停止条件i <= n的类型是一个bool,所以这对您没有多大用处。

如果希望索引类型与n相同,则使用

代码语言:javascript
复制
for (decltype(n) i = 1;

在循环开始的时候。

票数 6
EN

Stack Overflow用户

发布于 2021-01-05 15:30:50

C++在for循环情况下如何自动推断数据类型

与所有推导的变量相同:从初始化项。

这里的

,我会是一个长的整数吗?

这将是int

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65581727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档