一般来说现代C++最低语言标准是C++11
自动类型推断使用auto关键字,auto关键字曾有其他的意思,现在已被弃用。自动类型推断在声明变量的时候使用,编译器根据初始值确定变量的类型,变量类型确定后就不会再改变。
内联函数使用inline关键字声明,内联函数会在编译期间,用函数体替换掉函数调用,好处就是运行时不再需要函数寻址,速度更快,坏处是编译出的程序体积会更大。内联函数的特性决定了它不能递归。内联函数可以定义在头文件中,不会在链接时造成冲突。函数体直接定义在类声明内部的函数被认为是内联函数,不管有没有inline修饰符。
*.inl是inline函数文件:全是inline函数的头文件
断言使用assert关键字。
因为函数可以重载,所以特征符就是能将同名的重载函数区分开来的符号,包括参数列表和一些函数修饰符,const修饰符被认为是函数特征符的一部分,也就是说同名、同函数列表的常函数和非常函数被认为是不同的,可以同时存在。函数的返回值不能将函数区分开来,所以返回值不算特征符。
枚举类型、强枚举类型、枚举类
枚举类型就是由enum声明的普通枚举类型,其存在一个不安全的问题,就是所有的普通枚举类型都是由整数表示的,所以容易混淆,比如Atype::A==Btype::A;强枚举类型就是枚举类,其由enum class声明,在判等的时候,不光会检查整数值是否相等,还会检查是否属于同一个枚举类,比如Atype::A!=Btype::A,这样更安全
保证不会抛出异常
表明一个函数(等)的返回值是一个常量,用于编译器优化
// 以下代码由AI生成 for (元素类型 变量 : 容器) { // 在循环体中使用变量 } #include <iostream> int main() { int arr[] = {1, 2, 3, 4, 5}; for (int num : arr) { std::cout << num << " "; } return 0; }