首页 > 试题广场 >

C++11新加入的关键字是什么,用于定义能够自动推断变量类型

[单选题]
C++11新加入的关键字是什么,用于定义能够自动推断变量类型的变量?
  • auto
  • static
  • constexpr
  • decltype

选项 A:auto

在 C++11 中引入了auto关键字,其作用是让编译器根据初始化表达式自动推断变量的类型。使用auto可以简化代码,尤其是在处理复杂类型时,比如迭代器类型。示例如下:

cpp
#include <iostream> #include <vector> int main() { auto num = 10; // 编译器自动推断num为int类型 std::vector<int> vec = {1, 2, 3}; for (auto it = vec.begin(); it != vec.end(); ++it) { std::cout << *it << " "; // 编译器自动推断it为std::vector<int>::iterator类型 } return 0; } 


选项 B:static

static关键字在 C++ 中并不是 C++11 新引入的,它有多种用途,比如在函数内部声明静态变量,使变量在函数调用结束后不会销毁;在类中声明静态成员变量和静态成员函数,这些静态成员属于类而不是类的某个对象。它不能用于自动推断变量类型。

选项 C:constexpr

constexpr是 C++11 引入的关键字,用于声明常量表达式,表明该表达式或函数在编译时就能计算出结果,以提高程序的性能。它主要用于编译时的常量计算,而不是自动推断变量类型。

选项 D:decltype

decltype也是 C++11 引入的关键字,它用于在编译时推导表达式的类型,和auto不同的是,decltype是根据已有的表达式来确定类型,而不是根据初始化值自动推断
发表于 2025-05-02 22:13:46 回复(0)