- 博客(4)
- 收藏
- 关注
原创 C++ 20 协程学习(二)
在计算机科学中,Promise概念用于描述一个未知值的对象,生产者可以通过Promise对象提供一个值,而消费者通过对应的Future来获取将来的值,形成promise 与 future 对例如:在C++协程中,也提供了Promise概念,用户可以为Future类型提供对应的Promise类,后者除了能够存储待提供的值外,还能定制协程的调用、返回值的行为,以及co_await和co_yield行为。由于协程是一个可恢复的函数,除了它的函数体至少需要出现三个关键字co_return、
2023-08-03 17:25:51
279
原创 C+ lambda 使用
在这个例子中,[ ] 表示捕获列表为空,int a, int b 是参数列表,-> int 表示返回类型为 int,return a + b;在这个例子中,a 是通过值传递捕获的,b 是通过引用传递捕获的。可以通过捕获列表来控制变量的传递方式,从而使 Lambda 表达式更加灵活。在这个例子中,Lambda 表达式被传递给 std::sort,用于比较两个整数的大小。Lambda 表达式是 C++11 引入的一种语言特性,它可以用于在代码中定义匿名函数,从而使代码更加简洁和易于阅读。
2023-08-03 11:44:01
42
1
原创 C++20 协程学习(一)
这是一个斐波那契数列的生成器,可以看到fib()函数返回类型为 fibonacci_generator ,由mian函数调用,当执行到 co_yield 协程挂起,并带出返回值 current,执行权回到main()函数,在打印current的值,通过move_next()来判断协程状态,若是挂起状态则执行resume()恢复,执行权回到协程函数fib(), 如此往复循环。协程可以理解为拥有挂起状态和恢复状态的特殊函数,函数只有两个行为,调用和返回,调用时,栈上分配空间,进行操作。
2023-08-03 09:46:48
202
2
转载 static用法小结
static用法小结一、局部静态变量二、外部静态变量/函数三、静态数据成员/成员函数(C++特有)static关键字是C, C++中都存在的关键字, 它主要有三种使用方式,其中前两种只指在C语言中使用, 第三种在C++中使用(C,C++中具体细微操作不尽相同,本文以C++为准).下面就这三种使用方式及注意事项分别说明一、局部静态变量在C/C++中, 局部变量按照存储形式可分为三种auto, static, register(<C语言程序设计(第二版)>谭浩强, 第174-175页)与a
2021-01-25 13:28:02
67
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人