Re: Darwin: Weird call to structure constructor in formatter.h
Re: Darwin: Weird call to structure constructor in formatter.h
- Subject: Re: Darwin: Weird call to structure constructor in formatter.h
- From: Marshall Clow <email@hidden>
- Date: Sun, 4 Feb 2007 10:00:03 -0800
I am puzzled by this line in formatter.h in OS/X Darwin
( ie BSD Unix ) :
_M_parameters[_M_num_parameters++] = _Parameter(__value, __name);
Can anyone explain WHY ?????
Here, _Parameter(__value, __name) - far as I can tell - is one of many
structure constructors, and thus should NOT return any value !!!
When you call a constructor, an object gets created; that's what
constructors do.
That object is then assigned into the array.
When you write a constructor, you do not declare a return type -
the compiler knows what you are doing and does some behind the scenes work
to make this all happen.
The structure _Parameter{} is declared inside class _Error_formatter.
The complete code for the section concerned is:
const _Error_formatter&
_M_string(const char* __value, const char* __name = 0) const
{
if (_M_num_parameters < __max_parameters)
_M_parameters[_M_num_parameters++] = _Parameter(__value, __name);
return *this;
}
if _Parameter declares a public constructor that takes params of the form
( const char *, const char * )
then I see nothing wrong (nor unusual) here.
--
-- Marshall
Marshall Clow Idio Software <mailto:email@hidden>
It is by caffeine alone I set my mind in motion.
It is by the beans of Java that thoughts acquire speed,
the hands acquire shaking, the shaking becomes a warning.
It is by caffeine alone I set my mind in motion.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden