一段时间以来,我一直想在C++中使用延迟语句或C++,但直到最近,我一直认为C++没有它。然而,那时我发现了std::experimental::scope_exit,但是它有一个问题,那就是它没有在我使用的任何编译器中实现。因此,我决定实施它。#ifndef SCOPE_SCOPE_HH#include <new>{
template<typename EF
考虑以下两行代码:std::atomic_flag a = ATOMIC_FLAG_INIT; // Until C++20
在C++20中,第一行将a初始化为clear状态,但如果在C++17中使用它,则a将初始化为未指定的状态。第二行在C++20中不被推荐,但在C++ 17中,它将a初始化为清除状态。我怎么能把它们都写在密码里呢?我想我应该使用宏,但是那个宏到底是什么?
使用C++20协程,作为一个简单的例子,我认为可以很容易地编写一个协程,它在co_returning之前返回一个睡眠s a task<T>。看起来Folly可以做到这一点?我意识到C++20协程是一个原始的编译器特性,目前还没有标准库。cppcoro支持等待睡眠吗?如果没有,我可以在Compiler Explorer上使用其他库(或者有一页的库)吗?