Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Darwin: Weird call to structure constructor in formatter.h



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:
http://lists.apple.com/mailman/options/xcode-users/email@hidden

This email sent to email@hidden
References: 
 >Darwin: Weird call to structure constructor in formatter.h (From: Daniel Stenning <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.