gpt4 book ai didi

c++ - 从其他变量“复制”变量类型

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

随着 c++11 中“auto”关键字的添加,我想知道是否可以“复制”另一个变量的类型或函数的返回类型。

例如,在这段代码中:

unsigned short x;
[...] // x is initialized with some value
for(auto i=0;i<x;i++)
{
[...]
}

i 将是一个int。是否可以为 i 提供与 x 相同的类型,而无需手动将其声明为 'unsigned short'

基本上,我正在寻找的是:

[...]
for(type(x) i=0;i<x;i++)
[...]

最佳答案

您正在寻找 decltype specifier ,从 c++11 开始支持。

Inspects the declared type of an entity or the type and value category of an expression.

你可以用它来声明同类型的另一个变量,

for(decltype(x) i=0;i<x;i++)

或来自函数的返回类型。

unsigned short f();
//...
for(decltype(f()) i=0;i<x;i++)

关于c++ - 从其他变量“复制”变量类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35242315/

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