美文网首页
c++新特性

c++新特性

作者: 陈成_Adam | 来源:发表于2021-01-30 17:41 被阅读0次

一元作用域解析运算符

局部变量名与全局变量名相同时,可使用 ::访问全局变量,::这个运算符被称为一元作用域解析运算符。

int v1 = 10;
int main() {
    int v1 = 5;
    std::cout << "local variable v1 is "  << v1   << std::endl;
    std::cout << "global variable v1 is " << ::v1 << std::endl;
    return 0;
}

趋向运算符

#include <iostream>

int main(int argc, char *argv[]) {
    auto i = int{3};
    while (i --> 0) {
        std::cout << i << std::endl; // 输出: 2 1 0
    }
    return EXIT_SUCCESS;
}

等价于:

    auto i = int{3};
    while (i >= 0) {
        std::cout << --i << std::endl; // 输出: 2 1 0
    }

还有另外一种写法:

    auto i = int{3};
    while (0 <-- i) {
        std::cout << i << std::endl; // 输出: 2 1
    }

等价于:

    auto i = int{3};
    while (i > 0) {
        std::cout << --i << std::endl; // 输出: 2 1
    }

switch范围判断

#include <iostream>

int main(int argc, char *argv[]) {
    auto i = uint32_t{2};
    switch (i) {
    case 0 ... 3: // 之前写法:case 0: case 1: case 2: case 3:
        std::cout << "0-3" << std::endl;
        break;
    default:
        break;
    }
    return EXIT_SUCCESS;
}

相关文章

  • C++新特性

    异常处理 运行时刻类型识别(RTTI) 名字空间 内置布尔数据类型 新的强制转换方式

  • C++ 新特性

    内联函数(inline) 内联函数其实是声明,只能放在头文件里,不能放在实现(定义)里。类在头文件里声明函数时直接...

  • C++ 新特性

    lamda C/C++:lambda_无聊科技-CSDN博客[https://blog.csdn.net/qq_2...

  • c++新特性

    一元作用域解析运算符 局部变量名与全局变量名相同时,可使用 ::访问全局变量,::这个运算符被称为一元作用域解析运...

  • C++新特性

    1.auto类型推导 编译器在编译期间通过初始值推导出变量的类型,auto定义的变量必须有初始值。 ❗ 编译器推导...

  • C++ 11 语言特性介绍

    C++ 11 语言特性 新特性说明nullptr,autoNAfor-each区间迭代shared_ptr uni...

  • c语言和c++的纠葛,你需要知道哦

    C++ 读作“C加加”,是“C Plus Plus”的简称。顾名思义,C++是在C语言的基础上增加新特性,玩出了新...

  • 学C++之前要先学C语言吗?

    C++ 读作“C加加”,是“C Plus Plus”的简称。顾名思义,C++是在C语言的基础上增加新特性,玩出了新...

  • C++从入门到大神的过程!

    C++ 读作”C加加“,是”C Plus Plus“的简称。顾名思义,C++是在C语言的基础上增加新特性,玩出了新...

  • 学C++之前要先学C语言吗?程序员反问:你有胆子直接学C++?

    C++ 读作“C加加”,是“C Plus Plus”的简称。顾名思义,C++是在C语言的基础上增加新特性,玩出了新...

网友评论

      本文标题:c++新特性

      本文链接:https://www.haomeiwen.com/subject/fmdktltx.html