Op 24-7-2013 9:29, Mandeep Sandhu schreef:
On Wed, Jul 24, 2013 at 12:20 PM, André Somers <[email protected] <mailto:[email protected]>> wrote:

    Op 23-7-2013 13:34, Giuseppe D'Angelo schreef:
    > On 23 July 2013 13:25, Bill Crocker <[email protected]
    <mailto:[email protected]>> wrote:
    >> Hi all:
    >>
    >> The QMap class states that all member functons are reentrant, but
    >> if I populate a map at program start-up (with QStrings, let's
    say) and I
    >> do not change its contents from then on... I should be able to
    treat the
    >> member function ::contains() and any other member function
    which does not
    >> modify the map as thread-safe.
    >>
    >> Is true?
    > Probably yes, although totally undocumented. (There has been some
    > discussion before the release of 5.0 -- about whether we should make
    > it official that using only "const" methods on containers makes them
    > thread safe, but I don't remember the outcome...)
    >
    > HTH,
    Well, if I understood Herb Sutters talk[1] on this correctly, that
    basically *is* the meaning of const nowadays...

    André

    [1]
    
http://channel9.msdn.com/posts/C-and-Beyond-2012-Herb-Sutter-You-dont-know-blank-and-blank


Thanks for sharing this link. It was very informative. (BTW, this applies only to C++11)
It does, but because Qt is supposed to work well with C++11, I think it probably applies to all of Qt, no matter if C++11 is actually used or not.

Also, doesn't a "const" (old sense of the word) member function mean - "I'm not going to alter the state of the object" ?
No, it means that you're not going to change the *observable* state of the object. If you do things like lazy evaluation, your internals may change even though the observable state does not. That's what mutable is helping you do.

André

--
You like Qt?
I am looking for collegues to join me at i-Optics!

_______________________________________________
Interest mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to