Non-Profit, International

Spirit unsterblich.

  • Contracts

    字数统计:1475
    最近 C++ 标准委员会的线下会议上通过了契约(本文译法,有的地方也翻译成合同),可以说是 C++26 最重要的一个特性,因此还是非常有必要单独拿出来讲一讲。其本身设计涵盖语言的各个方面,就结果而言,契约本身设计还是非常简单而且轻量的,使用起来并不会太困难。
  • #embed

    字数统计:1680
    C23 和 C++26 添加了一个全新的预处理指令 #embed,用于在程序中高效的嵌入二进制内容。典型用途包括嵌入图像/音频/数据资源、预编译的着色器和用于复杂计算的预生成数据表等。
  • C++ 协程 - 任务

    字数统计:5886
    编写协程的 Task 实际上就是解决 4 个问题:协程生存期、异常传播、协程同步和结果发布。实际使用中,Promise 负责存储,Task 负责和外部进行交互。
  • C++ 协程 - 协程理论

    字数统计:5500
    协程中最主要的两个概念是 Awaiter 和 Promise,Awaiter 用于协程切换,而 Promise 用于储存用户定义的协程状态信息以及结果。此外,协程还需要一个用于管理协程以及获得协程结果的 Task。
  • C++ 协程 - 线程池

    字数统计:3898
    线程池总体分为 3 部分:工作线程,定时器线程以及任务派发线程,每种线程都有对应的锁,队列和信号量。
  • C++ 协程 - 并发原语

    字数统计:2136
    本节内容主要介绍了实现线程池所用的并发原语:原子操作、互斥锁、条件变量以及信号量。
  • C++ 协程 - 综述

    字数统计:1455
    协程是 C++ 20 标准中新添加的一个重要语言特性,包含了一些新语法和协程支持库,然而,如何使用协程进行编程还是一片蓝海。