相关疑难解决方法(0)

"STL"和"C++标准库"之间有什么区别?

有人把这篇文章给我的注意,声称(我意译)的STL长期被误指整个C++标准库,而不是从SGI STL中采取的部分.

(...)它指的是"STL",尽管很少有人仍然使用STL(在SGI设计).

C++标准库的一部分基于STL的一部分,正是这些部分,许多人(包括几位作者和臭名昭着的错误记录的cplusplus.com)仍然称为"STL".但是,这是不准确的; 事实上,C++标准从未提及"STL",两者之间存在内容差异.

(...)"STL"很少用于指代恰好基于SGI STL的stdlib的位.人们认为这是整个标准库.它被放在简历上.这是误导.

我几乎不了解C++的历史,所以我不能判断文章的正确性.我应该避免使用术语STL吗?或者这是一个孤立的意见?

c++ stl std c++-faq c++-standard-library

432
推荐指数
5
解决办法
9万
查看次数

std :: map和std :: vector线程安全吗?

我正在开发一个多线程应用程序,每个线程将从一组地图和向量中读取(不会修改结构).任何人都可以建议,因为线程只是从这些结构中读取,是否有必要在读取这些结构的代码块周围实现可共享的互斥锁?

c++ multithreading stdmap std stdvector

6
推荐指数
1
解决办法
2458
查看次数

对Vector的多线程,只读访问.复制还是锁定?

想知道我是否可以在这种情况下了解我应该做些什么.

假设我有4到8个线程,并且我有一个永远不会写入的值向量,只能由线程读取.

我可以选择为每个线程创建一个向量副本,然后在线程之间没有线程锁定,尝试访问共享副本.或者,我可以锁定向量的一个副本并使所有线程访问它.

与复制向量相比,线程锁的延迟是多少?向量必须有多大,才能使锁的开销比复制向量更快?

c++ performance multithreading vector

5
推荐指数
2
解决办法
2182
查看次数