您好,欢迎来到12图资源库!分享精神,快乐你我!我们只是素材的搬运工!!
  • 首 页
  • 当前位置:首页 > 开发 > WEB开发 >
    解读C++行将迎来的严重更新:C++20的四大新特性(3)
    时间:2020-03-06 21:22 来源:网络整理 作者:网络 浏览:收藏 挑错 推荐 打印

        for (int i = 0; i <= 10; ++i) { 

     

            gen.next();               // 2 

     

            std::cout << " " << gen.getValue();                   

     

        } 

     

        std::cout << "nn"

     

        std::cout << "getNext(100, -10):"

     

        auto gen2 = getNext(100, -10); 

     

        for (int i = 0; i <= 20; ++i) { 

     

            gen2.next();             // 3 

     

            std::cout << " " << gen2.getValue(); 

     

        } 

     

        std::cout << std::endl; 

     

    必须补充几句。这段代码只是一个代码段。函数 getNext 是一个协程,由于它运用了关键字 co_yield。getNext 有一个有限的循环,其会在 co_yield 之后前往 value。调用 next()(注释的 第 2、3 行)会继续这个协程,接上去的 getValue 调用会获取这个值。在 getNext 调用之后,这个协程再一次暂停。其暂停会不断继续到下一次调用 next()。我的这个示例中有一个很大的未知,即 getNext 函数的前往值 Generator<int>。这部分外容很复杂,前面我在写协程的文章中更详细地引见。

    运用 Wandbox 在线编译器,我可以向你展现这个顺序的输入:

    解读C++行将迎来的严重更新:C++20的四大新特性

    模块(Module)

    模块部分复杂引见一下就好。模块承诺可以完成:

    更快的编译时间;

    宏的隔离;

    表达代码的逻辑结构;

    不必再运用头文件(header file);

    摆脱漂亮的宏办法。

    【编辑引荐】

    网友点赞 微软推出新工具:打击网上对儿童损害

    腾讯开源云效劳器操作系统 Tencent Linux

    天下苦Vim久矣!硬核顺序员教你如何花式参加Vim,一周播种2400星

    AI阿凡达来临CES! 三星Neon聊天机器人居然会学习、能退化、有记忆!

    Linux 的 18 个装 B 命令,记得全部搂一遍!

    (责任编辑:admin)