Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c++ > #44960

Re: best way to remove std::vector member

From Victor Bazarov <v.bazarov@comcast.invalid>
Newsgroups comp.lang.c++
Subject Re: best way to remove std::vector member
Date 2016-09-09 08:09 -0400
Organization A noiseless patient Spider
Message-ID <nqu8pr$13r$1@dont-email.me> (permalink)
References <nqkf55$fu4$1@dont-email.me> <nqrqqh$ehj$1@dont-email.me> <nqs84c$vpj$1@dont-email.me> <nqsfua$tvj$1@dont-email.me>

Show all headers | View raw


On 9/8/2016 3:59 PM, mark wrote:
> On 2016-09-08 19:45, Lynn McGuire wrote:
>> On 9/8/2016 8:58 AM, mark wrote:
>>> It doesn't sound like you are using vector functionality. So using a
>>> (unordered) set may be a better choice. It works perfectly fine
>>> with pointers.
>>
>> ????
>
> Your removeOwner invalidates vector indices. So I don't see you needing
> indexed access.

Indices cannot be "invalidated".  Iterators are invalidated, that's true,
but they are not used anyway.  The code as written, functionally sound,
albeit inefficient.

>
> ---------------------------------------
> std::unordered_set<DataGroup *> owners;
>
> int DataItem::removeOwner (DataGroup * ownerDG) {
>     // average complexity O(1)
>     owners.erase(ownerDG);
>     ...
> }
> ---------------------------------------
>
> If you need to support duplicate entries, there is multiset /
> unordered_multiset. What you do loose with set / multiset is the
> insertion order.

V
-- 
I do not respond to top-posted replies, please don't ask

Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

best way to remove std::vector member Lynn McGuire <lynnmcguire5@gmail.com> - 2016-09-05 13:56 -0500
  Re: best way to remove std::vector member Paavo Helde <myfirstname@osa.pri.ee> - 2016-09-05 22:43 +0300
  Re: best way to remove std::vector member Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-09-05 21:11 +0100
  Re: best way to remove std::vector member Vir Campestris <vir.campestris@invalid.invalid> - 2016-09-05 21:28 +0100
    Re: best way to remove std::vector member Marcel Mueller <news.5.maazl@spamgourmet.org> - 2016-09-05 23:17 +0200
      Re: best way to remove std::vector member Vir Campestris <vir.campestris@invalid.invalid> - 2016-09-07 20:55 +0100
  Re: best way to remove std::vector member Juha Nieminen <nospam@thanks.invalid> - 2016-09-06 06:14 +0000
  Re: best way to remove std::vector member Luca Risolia <luca.risolia@linux-projects.org> - 2016-09-06 11:16 +0200
    Re: best way to remove std::vector member Öö Tiib <ootiib@hot.ee> - 2016-09-06 07:16 -0700
      Re: best way to remove std::vector member Luca Risolia <luca.risolia@linux-projects.org> - 2016-09-23 14:38 +0200
    Re: best way to remove std::vector member Lynn McGuire <lynnmcguire5@gmail.com> - 2016-09-06 12:30 -0500
      Re: best way to remove std::vector member Paavo Helde <myfirstname@osa.pri.ee> - 2016-09-06 21:32 +0300
  Re: best way to remove std::vector member mark <mark@invalid.invalid> - 2016-09-08 15:58 +0200
    Re: best way to remove std::vector member Lynn McGuire <lynnmcguire5@gmail.com> - 2016-09-08 12:45 -0500
      Re: best way to remove std::vector member mark <mark@invalid.invalid> - 2016-09-08 21:59 +0200
        Re: best way to remove std::vector member Lynn McGuire <lynnmcguire5@gmail.com> - 2016-09-08 15:25 -0500
        Re: best way to remove std::vector member Victor Bazarov <v.bazarov@comcast.invalid> - 2016-09-09 08:09 -0400
          Re: best way to remove std::vector member mark <mark@invalid.invalid> - 2016-09-09 17:06 +0200
            Re: best way to remove std::vector member Victor Bazarov <v.bazarov@comcast.invalid> - 2016-09-09 11:22 -0400
              Re: best way to remove std::vector member mark <mark@invalid.invalid> - 2016-09-09 20:33 +0200
                Re: best way to remove std::vector member Victor Bazarov <v.bazarov@comcast.invalid> - 2016-09-09 16:07 -0400
  Re: best way to remove std::vector member Kan <fcantoro@nospam.it> - 2016-09-12 18:26 +0200

csiph-web