File tree Expand file tree Collapse file tree 2 files changed +2
-2
lines changed Expand file tree Collapse file tree 2 files changed +2
-2
lines changed Original file line number Diff line number Diff line change @@ -347,7 +347,7 @@ void f(){
347
347
>
348
348
> 你是否觉得这样也可以?也没问题?简单的[测试](https://godbolt.org/z/Wo7Tj95Tz)运行的确没问题。
349
349
>
350
- > **但是这是不对的**,你要注意我们的注释:“**一些当前线程可能抛出异常的代码**”,而不是 `f2()`,我们的 `try` `catch` 只是为了让线程对象关联的线程得以正确执行完毕,以及线程对象正确析构。并没有处理什么其他的东西,不掩盖错误,try` 块中的代码抛出了异常, `catch` 接住了,我们理所应当再次抛出。
350
+ > **但是这是不对的**,你要注意我们的注释:“**一些当前线程可能抛出异常的代码**”,而不是 `f2()`,我们的 `try` `catch` 只是为了让线程对象关联的线程得以正确执行完毕,以及线程对象正确析构。并没有处理什么其他的东西,不掩盖错误,` try` 块中的代码抛出了异常, `catch` 接住了,我们理所应当再次抛出。
351
351
352
352
### RAII
353
353
Original file line number Diff line number Diff line change @@ -330,7 +330,7 @@ b = false;
330
330
```cpp
331
331
std::atomic<bool>b {true};
332
332
auto& ref = (b = false); // 假设返回 atomic 引用
333
- bool flag = ref.load(); // 必须显式调用 load() 加载
333
+ bool flag = ref.load(); // 那就必须显式调用 load() 加载
334
334
```
335
335
336
336
通过返回非原子值进行赋值,可以避免多余的加载(load)过程,得到实际存储的值。
You can’t perform that action at this time.
0 commit comments