附录一
stl::map<std::string, Foo> myMap;
以下职能是否安全?
myMap["xyz"] ?
页: 1 我想把这一巨大的读写地图分给许多座右铭,但我不知道,即便是搜索,还是安全。
一切都首先写成。
之后,从中读到多个读物。
我试图避免锁锁,使之成为尽可能的fa。 (我知道,亚于可能过早优化)
附录一
stl::map<std::string, Foo> myMap;
以下职能是否安全?
myMap["xyz"] ?
页: 1 我想把这一巨大的读写地图分给许多座右铭,但我不知道,即便是搜索,还是安全。
一切都首先写成。
之后,从中读到多个读物。
我试图避免锁锁,使之成为尽可能的fa。 (我知道,亚于可能过早优化)
从理论上讲,没有任何STL集装箱可穿透。 在实践中,如果不同时修改集装箱,读书是安全的。 也就是说,标准没有说明胎面。 下一版标准意愿和第二版准则将保证安全阅读的行为。
如果你真的担心,就使用一种双轨搜索的分体。
C++11要求被宣布为const
的所有成员职能为多个读者的阅读安全。
Calling myMap["xyz"]
is not thread-safe, as std::map::operator[]
isn t declared as const
.
Calling myMap.at("xyz")
is thread-safe though, as std::map::at
is declared as const
.
至少在Microsoft的安装中,从集装箱的读物是read-安全()。
但是,<代码>std:map:operator[] 可修改数据,不宣布const
。 您应使用<代码>std:map:find , 即const
,以获得const_iterator
并注明。
从理论上讲,光读的数据结构和功能并不要求任何24小时的翻新安全。 它是内在的。 共有没有数据竞赛。 然而,你必须保证安全开端。
As S. 指出,主要实施如下图中的一项内容:www.roc.map[`xyz'] :_t_p.htm 如果是,那是安全的。 但是,你必须再次保证,除了最初的阶段外,没有改变结构的线索。
STL收集器是铁 t,但很简单,可以把安全添加到一起。
你们的最好灯塔是围绕有关藏书建立一个read子。
这是一个老的问题,但由于所有现有答案——特别是被接受的答复——都不正确,我补充说另一个答案(担心,没有足够的回馈来发表意见)。
由于《任择议定书》明确提到只读取(“大读地图”),因此实际上不应使用<代码>[]的操作者,因为它可以形成一个插入点。 <>代码>at或find
方法为合适的替代方法。
一些非最基本的职能在阅读安全方面被视为<编码>const。 at
and find
are such pseudo-const functions (这一点在another question 上作了非常清楚的解释。 详情见cppvis.com。 以及“阅读安全”一节。 最后,见C++11 standard 23.2.2.1 。
只要在集装箱内只使用<条码>const操作,则执行便可操作。 当你在从其他路面读取大地图之前,一(其后不作修改)就开始绘制大地图时,你是安全的!
I m getting this linker error. I know a way around it, but it s bugging me because another part of the project s linking fine and it s designed almost identically. First, I have namespace LCD. Then I ...
I have been searching for sample code creating iterator for my own container, but I haven t really found a good example. I know this been asked before (Creating my own Iterators) but didn t see any ...
Is there an equivalent to tidy for HTML code for C++? I have searched on the internet, but I find nothing but C++ wrappers for tidy, etc... I think the keyword tidy is what has me hung up. I am ...
I m new to C++ and am wondering how much time I should invest in learning how to implement template classes. Are they widely used in industry, or is this something I should move through quickly?
Given a 10 digit Telephone Number, we have to print all possible strings created from that. The mapping of the numbers is the one as exactly on a phone s keypad. i.e. for 1,0-> No Letter for 2->...
Why is it when i do the following i get errors when relating to with wchar_t? namespace Foo { typedef std::wstring String; } Now i declare all my strings as Foo::String through out the program, ...
I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...
Is it possible to check with the means of pure X11/Xlib only whether the given window is iconified/minimized, and, if it is, how?