Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c++ > #7668
| From | Ian Collins <ian-news@hotmail.com> |
|---|---|
| Newsgroups | comp.lang.c++ |
| Subject | Re: mutable vs const_cast, which is better to modify field from const function? |
| Date | 2011-07-09 19:28 +1200 |
| Message-ID | <97qea4F6tmU2@mid.individual.net> (permalink) |
| References | <iv8s22$2sp$1@speranza.aioe.org> |
On 07/ 9/11 06:19 PM, Qi wrote:
> It's not rare to lazy initialize member field in getter functions which
> are const function.
>
> class SomeClass {
> public:
> MyObject * getMyObject() const {
> if(! this->myObject) {
> this->myObject = create the object;
> }
>
> return this->myObject;
> }
You don't need all those "this->".
> private:
> MyObject * myObject;
> };
>
> To be able to modify myObject in the getter function, we can
> either,
> 1, Use mutable on myObject.
> mutable MyObject * myObject;
> or
> 2, Use const_cast to cast away constness from "this".
> const_cast<SomeClass *>(this)->myObject = create the object;
>
> Both methods have their own pros and cons, that's why I can't
> decide which is better.
How about:
struct SomeClass
{
SomeClass() {}
MyObject* getMyObject() const
{
static MyObject* myObject;
if(!myObject)
{
myObject = new MyObject;
}
return myObject;
}
};
--
Ian Collins
Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
mutable vs const_cast, which is better to modify field from const function? Qi <no@no.com> - 2011-07-09 14:19 +0800
Re: mutable vs const_cast, which is better to modify field from const function? Narinder <narinder.claire@gmail.com> - 2011-07-09 00:20 -0700
Re: mutable vs const_cast, which is better to modify field from const function? Qi <no@no.com> - 2011-07-09 15:50 +0800
Re: mutable vs const_cast, which is better to modify field from const function? Narinder <narinder.claire@gmail.com> - 2011-07-09 01:36 -0700
Re: mutable vs const_cast, which is better to modify field from const function? Ian Collins <ian-news@hotmail.com> - 2011-07-09 19:28 +1200
Re: mutable vs const_cast, which is better to modify field from const function? Qi <no@no.com> - 2011-07-09 15:56 +0800
Re: mutable vs const_cast, which is better to modify field from const function? Ian Collins <ian-news@hotmail.com> - 2011-07-09 20:04 +1200
Re: mutable vs const_cast, which is better to modify field from const function? Narinder <narinder.claire@gmail.com> - 2011-07-12 15:41 -0700
Re: mutable vs const_cast, which is better to modify field from const function? SG <s.gesemann@gmail.com> - 2011-07-09 01:25 -0700
Re: mutable vs const_cast, which is better to modify field from const function? Werner Erasmus <werasm@gmail.com> - 2011-07-10 22:25 +0200
Re: mutable vs const_cast, which is better to modify field from const function? Qi <no@no.no> - 2011-07-11 09:54 +0800
Re: mutable vs const_cast, which is better to modify field from const function? Werner Erasmus <werasm@gmail.com> - 2011-07-11 09:08 +0200
Re: mutable vs const_cast, which is better to modify field from const function? Paavo Helde <myfirstname@osa.pri.ee> - 2011-07-09 03:31 -0500
Re: mutable vs const_cast, which is better to modify field from const function? "Balog Pal" <pasa@lib.hu> - 2011-07-09 10:47 +0200
Re: mutable vs const_cast, which is better to modify field from const function? Qi <no@no.com> - 2011-07-09 16:54 +0800
csiph-web