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


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

Re: template with STL container

From Victor Bazarov <v.bazarov@comcast.invalid>
Newsgroups comp.lang.c++
Subject Re: template with STL container
Date 2011-10-05 08:05 -0400
Organization A noiseless patient Spider
Message-ID <j6hh6c$6um$1@dont-email.me> (permalink)
References <j6f3eg$e4r$1@tdi.cu.mi.it> <j6f3kh$hd0$1@dont-email.me> <4E8B1520.80102@NOSPAMlibero.it> <pan.2011.10.05.08.52.07.605000@nowhere.com>

Show all headers | View raw


On 10/5/2011 4:51 AM, Nobody wrote:
> On Tue, 04 Oct 2011 16:16:00 +0200, softwareEngineer wrote:
>
>> Yes, but I need a vector of generic value (float, int, ecc.)
>
> In which case, the values need a common base class, e.g.:
>
> 	class MY_Value {
> 	...
> 	};
>
> 	template<typename T>
> 	class MY_Value_T : public MY_Value {
> 	...
> 	};
>
> 	std::vector<MY_Value*>  v;
>
> 	MyValue_T<int>  iV1 = 1;
> 	MyValue_T<float>  iV2 = 2.1;
> 	v[0] = static_cast<MY_Value*>(&iV1);
> 	v[1] = static_cast<MY_Value*>(&iV2);

There is no need for 'static_cast', the conversion from a pointer to 
derived to a pointer to base is implicit.

> Casting the vector elements back to their correct type is a bit more
> involved, as you need to know what their correct type is, either by
> using RTTI or by explicitly adding a tag field to the base class.
>

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

template with STL container softwareEngineer <ovNOSPAM@NOSPAMlibero.it> - 2011-10-04 16:00 +0200
  Re: template with STL container Victor Bazarov <v.bazarov@comcast.invalid> - 2011-10-04 10:01 -0400
    Re: template with STL container softwareEngineer <ovNOSPAM@NOSPAMlibero.it> - 2011-10-04 16:16 +0200
      Re: template with STL container Victor Bazarov <v.bazarov@comcast.invalid> - 2011-10-04 10:44 -0400
      Re: template with STL container Noah Roberts <roberts.noah@gmail.com> - 2011-10-04 07:48 -0700
      Re: template with STL container Juha Nieminen <nospam@thanks.invalid> - 2011-10-04 19:14 +0000
      Re: template with STL container Nobody <nobody@nowhere.com> - 2011-10-05 09:51 +0100
        Re: template with STL container Victor Bazarov <v.bazarov@comcast.invalid> - 2011-10-05 08:05 -0400
          Re: template with STL container Juha Nieminen <nospam@thanks.invalid> - 2011-10-05 15:17 +0000
        Re: template with STL container Gert-Jan de Vos <gert-jan.de.vos@onsneteindhoven.nl> - 2011-10-05 05:43 -0700
        Re: template with STL container "Paul" <pchrist<nospam>or@yahoo.co.uk> - 2011-10-05 20:08 +0100
          Re: template with STL container softwareEngineer <ovNOSPAM@NOSPAMlibero.it> - 2011-10-07 10:42 +0200

csiph-web