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


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

Re: Lets put it another way

From Ian Collins <ian-news@hotmail.com>
Newsgroups comp.lang.c++
Subject Re: Lets put it another way
Date 2011-05-26 09:57 +1200
Message-ID <945caiFn9oU3@mid.individual.net> (permalink)
References (6 earlier) <miUCp.16847$h35.2542@newsfe19.ams2> <942v9uFv4kU3@mid.individual.net> <yD4Dp.17105$h35.2097@newsfe19.ams2> <945a35Fn9oU1@mid.individual.net> <DGeDp.10286$2E6.2605@newsfe18.ams2>

Show all headers | View raw


On 05/26/11 09:39 AM, Paul wrote:
>
> "Ian Collins"<ian-news@hotmail.com>  wrote in message
> news:945a35Fn9oU1@mid.individual.net...
>> On 05/25/11 10:13 PM, Paul wrote:
>>>
>>> "Ian Collins"<ian-news@hotmail.com>   wrote in message
>>> news:942v9uFv4kU3@mid.individual.net...
>>>> On 05/25/11 08:11 AM, Paul wrote:
>>>>> "Ian Collins"<ian-news@hotmail.com>    wrote:
>>>>>> On 05/25/11 12:58 AM, Paul wrote:
>>>>>>>>
>>>>>>> You are not addressing the what stores the memory address.
>>>>>>
>>>>>> Because there isn't an address to store.  The typeid operator (like
>>>>>> sizeof) works with types, not values.  In a simple case such as this
>>>>>> the
>>>>>> operand is not evaluated.  Until you understand this you will be stuck
>>>>>> in
>>>>>> limbo.
>>>>>>
>>>>>> I could have simplified my simplification further by writing
>>>>>>
>>>>>> std::cout<<    typeid(int[3]).name()<<    std::endl;
>>>>>>
>>>>>> See?  No memory address just a type.
>>>>>>
>>>>>
>>>>> There is an address stored.
>>>>>
>>>>> Look at the code :
>>>>>
>>>>> int main(){
>>>>>     int (*pp)[3] = (int (*)[3])new int[3];
>>>>>     std::cout<<*pp;
>>>>> }
>>>>> If this does not output an address what the hell is it?
>>>>
>>>> The value returned by new.
>>>
>>> Which is an address value.
>>
>> Correct, an int*.
>>
>>>>>>> A memory address value is stored so there must be an object to store
>>>>>>> this
>>>>>>> value, you say there is no object so what is it that stores this
>>>>>>> value?
>>>>>>
>>>>>> There isn't an address.  Where's the address in typeid(int).name()?
>>>>>> Or
>>>>>> sizeof(int)?
>>>>>>
>>>>> The address is shown in my code above.
>>>>
>>>> The address in your code id the value return by new.  No amount of
>>>> casting
>>>> will change that.
>>>
>>> The value returned from new is a pointer value that is an address.
>>>
>>> Why do you think it is not an address?
>>
>> I don't.  You changed the context.  You originally posted
>>
>> std::cout<<   typeid(*p2).name();
>
> No I originally posted:
>   pparr p1 = (pparr)new int[3];
>   pparr p2= p1;
>   delete[] p1;
>   std::cout<<   *p2<<std::endl;

You conveniently omitted the last line:

  std::cout<< typeid(*p2).name();

> The code I posted output a memory address.

That is one possible outcome of UB.  It could also have output garbage, 
or if you have been using one of my specialised x86 debug allocators, 
aborted the process.

>> and asked "what is the object that stores the address and is interpreted
>> as an array type by the typeid expression?" and I explained that no object
>> is required for typeid because the type is known at compile time. Did you
>> understand that?
>>
> typeid does not require an object but when it is passed an object it gives
> us the type of that object.

It isn't passed an object. It gives us the *static* type of the 
expression it is applied to.  The exception is when the expression is 
polymorphic class type.

-- 
Ian Collins

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


Thread

Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-24 02:14 +0100
  Re: Lets put it another way Ian Collins <ian-news@hotmail.com> - 2011-05-24 13:33 +1200
    Re: Lets put it another way Joshua Maurice <joshuamaurice@gmail.com> - 2011-05-23 18:39 -0700
      Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-24 10:42 +0100
        Re: Lets put it another way Joshua Maurice <joshuamaurice@gmail.com> - 2011-05-24 03:00 -0700
          Re: Lets put it another way Joshua Maurice <joshuamaurice@gmail.com> - 2011-05-24 03:03 -0700
            Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-24 14:54 +0100
              Re: Lets put it another way Joshua Maurice <joshuamaurice@gmail.com> - 2011-05-24 13:46 -0700
                Re: Lets put it another way Leigh Johnston <leigh@i42.co.uk> - 2011-05-24 21:49 +0100
                Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-24 23:56 +0100
                Re: Lets put it another way Joshua Maurice <joshuamaurice@gmail.com> - 2011-05-24 16:51 -0700
                Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-25 10:59 +0100
                Re: Lets put it another way Joshua Maurice <joshuamaurice@gmail.com> - 2011-05-25 03:51 -0700
                Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-25 12:49 +0100
                Re: Lets put it another way "Joel C. Salomon" <joelcsalomon@gmail.com> - 2011-05-25 12:32 -0700
                Re: Lets put it another way Joshua Maurice <joshuamaurice@gmail.com> - 2011-05-25 13:42 -0700
                Re: Lets put it another way Joshua Maurice <joshuamaurice@gmail.com> - 2011-05-25 13:48 -0700
                Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-25 21:55 +0100
                Re: Lets put it another way Joshua Maurice <joshuamaurice@gmail.com> - 2011-05-25 13:59 -0700
                Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-25 22:08 +0100
                Re: Lets put it another way Joshua Maurice <joshuamaurice@gmail.com> - 2011-05-25 14:29 -0700
                Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-25 22:56 +0100
                Re: Lets put it another way Joshua Maurice <joshuamaurice@gmail.com> - 2011-05-25 15:10 -0700
                Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-25 23:53 +0100
                Re: Lets put it another way "Joel C. Salomon" <joelcsalomon@gmail.com> - 2011-05-25 15:02 -0700
                Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-25 23:37 +0100
                Re: Lets put it another way Joshua Maurice <joshuamaurice@gmail.com> - 2011-05-25 16:03 -0700
                Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-26 00:19 +0100
                Re: Lets put it another way Leigh Johnston <leigh@i42.co.uk> - 2011-05-26 00:29 +0100
                Re: Lets put it another way Joshua Maurice <joshuamaurice@gmail.com> - 2011-05-25 16:30 -0700
                Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-26 00:58 +0100
                Re: Lets put it another way Joshua Maurice <joshuamaurice@gmail.com> - 2011-05-25 17:10 -0700
                Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-26 01:26 +0100
                Re: Lets put it another way Joshua Maurice <joshuamaurice@gmail.com> - 2011-05-25 17:54 -0700
                Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-26 10:42 +0100
                Re: Lets put it another way Joshua Maurice <joshuamaurice@gmail.com> - 2011-05-26 03:06 -0700
                Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-26 11:25 +0100
                Re: Lets put it another way Joshua Maurice <joshuamaurice@gmail.com> - 2011-05-26 03:33 -0700
                Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-26 12:56 +0100
                Re: Lets put it another way Vidar Hasfjord <vattilah-groups@yahoo.co.uk> - 2011-05-25 16:09 -0700
                Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-26 00:20 +0100
                Re: Lets put it another way "Joel C. Salomon" <joelcsalomon@gmail.com> - 2011-05-25 13:56 -0700
                Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-25 22:18 +0100
                Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-25 12:45 +0100
                Re: Lets put it another way Joshua Maurice <joshuamaurice@gmail.com> - 2011-05-25 13:47 -0700
                Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-25 22:03 +0100
          Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-24 14:32 +0100
            Re: Lets put it another way Joshua Maurice <joshuamaurice@gmail.com> - 2011-05-24 14:16 -0700
              Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-25 00:00 +0100
    Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-24 10:20 +0100
      Re: Lets put it another way Ian Collins <ian-news@hotmail.com> - 2011-05-24 22:27 +1200
        Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-24 13:58 +0100
          Re: Lets put it another way Ian Collins <ian-news@hotmail.com> - 2011-05-25 07:36 +1200
            Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-24 21:11 +0100
              Re: Lets put it another way Oliver Jackson <chexmofo@hotmail.com> - 2011-05-24 16:04 -0700
                Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-26 11:27 +0100
              Re: Lets put it another way Ian Collins <ian-news@hotmail.com> - 2011-05-25 12:03 +1200
                Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-25 11:13 +0100
                Re: Lets put it another way Ian Collins <ian-news@hotmail.com> - 2011-05-26 09:19 +1200
                Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-25 22:39 +0100
                Re: Lets put it another way Joshua Maurice <joshuamaurice@gmail.com> - 2011-05-25 14:45 -0700
                Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-25 23:01 +0100
                Re: Lets put it another way Leigh Johnston <leigh@i42.co.uk> - 2011-05-25 22:48 +0100
                Re: Lets put it another way Ian Collins <ian-news@hotmail.com> - 2011-05-26 09:57 +1200
                Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-25 23:09 +0100
                Re: Lets put it another way Ian Collins <ian-news@hotmail.com> - 2011-05-26 10:17 +1200
                Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-25 23:56 +0100
                Re: Lets put it another way Ian Collins <ian-news@hotmail.com> - 2011-05-26 13:04 +1200
                Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-26 10:47 +0100
                Re: Lets put it another way Joshua Maurice <joshuamaurice@gmail.com> - 2011-05-25 15:17 -0700
                Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-26 00:03 +0100
                Re: Lets put it another way Joshua Maurice <joshuamaurice@gmail.com> - 2011-05-25 16:14 -0700
                Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-26 00:32 +0100
                Re: Lets put it another way Joshua Maurice <joshuamaurice@gmail.com> - 2011-05-25 16:39 -0700
                Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-26 01:18 +0100
                Re: Lets put it another way Joshua Maurice <joshuamaurice@gmail.com> - 2011-05-25 17:52 -0700
                Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-26 10:53 +0100
  Re: Lets put it another way Vidar Hasfjord <vattilah-groups@yahoo.co.uk> - 2011-05-25 15:31 -0700
    Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-25 23:58 +0100
      Re: Lets put it another way Vidar Hasfjord <vattilah-groups@yahoo.co.uk> - 2011-05-25 16:54 -0700
        Re: Lets put it another way "Paul" <pchristor@yahoo.co.uk> - 2011-05-26 01:00 +0100

csiph-web