Skip to content

败犬日报 2025-04-22

1. span 为空时取 data() 得到什么

是 nullptr,这里的表格列了各种情况 https://zh.cppreference.com/w/cpp/container/span/span

重载构造后的 data()构造后的 size()
(1)nullptr​0​
.........

2. 一个线程在不断计数,另一个线程每隔 1s 读取一次(不需要精确),那么读可以不上锁吗

不加锁也不用原子变量,那这个就是未定义行为,不要这么做。虽然一些特定写法(例如 volatile)很难遇到错误,但是性能上也不会有明显优势,综合考虑还是别用。

可以用原子变量的 relaxed 内存序。

TODO:讲的可能不对,需要确认一下。