C 中的 'auto' 关键字的含义是什么?
C 中的 'auto' 关键字是一个类型说明符,在 C 11 标准中引入。它允许编译器自动从变量的初始值设定项推断出变量的类型。
“auto”如何工作?
当您使用“auto”声明变量时,编译器检查初始值设定项并根据初始值设定项的类型推断变量的类型。例如:
<code class="cpp">auto x = 42; // x is deduced to be an int auto y = std::string("hello"); // y is deduced to be a std::string</code>
“auto”关键字可以在通常必须显式指定变量类型的情况下简化代码,例如使用迭代器时:
<code class="cpp">auto it = container.begin(); // Type of it is automatically deduced</code>
“auto”的历史
在 C 11 之前,“auto”是一个存储类说明符,几乎没有实际用途。作为 C 11 改进类型推导努力的一部分,添加了“auto”推导类型的能力。
“auto”的可移植性
“auto”现在是受到现代 C 编译器的广泛支持。如果您使用的是较旧的编译器,则可能会遇到“auto”无法识别的问题。然而,它通常被认为可以跨现代编译器移植。
'auto' 中的附加功能
在 C 14 中,'auto' 可用于 a 的类型lambda 参数:
<code class="cpp">[](auto s) { return s + 1; }</code>
在 C 20 中,'auto' 可用于函数参数的类型:
<code class="cpp">void func(auto a) { ... }</code>
结论
C 中的“auto”关键字是一个强大的工具,可以让您简化代码并减少需要显式指定的类型信息量。它得到了广泛支持,并在最近的 C 标准中得到了进一步扩展。
以上是以下是一些适合您文章内容的问题式标题: * **C \'auto\' 关键字:它是什么以及它如何工作?** * **使用'auto”关键字简化 C 代码:A Compre的详细内容。更多信息请关注PHP中文网其他相关文章!