败犬日报 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:讲的可能不对,需要确认一下。