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


Groups > comp.lang.c > #7108

Re: References in C

From pacman@kosh.dhis.org (Alan Curry)
Newsgroups comp.lang.c
Subject Re: References in C
Date 2011-06-27 22:21 +0000
Organization Aioe.org NNTP Server
Message-ID <iuavpt$5hl$1@speranza.aioe.org> (permalink)
References <iu1iku$4k9$1@speranza.aioe.org> <iu8g01$7nu$1@dont-email.me> <iu9aos$vjt$1@speranza.aioe.org> <iua9cs$isu$1@dont-email.me>

Show all headers | View raw


In article <iua9cs$isu$1@dont-email.me>,
Shao Miller  <sha0.miller@gmail.com> wrote:
>
>On 6/27/2011 03:16, Alan Curry wrote:
>> The use of the C++ reference didn't make testing for NULL unnecessary; it
>> merely made testing for NULL impossible.
>>
>
>What about with:
>
>   #include <assert.h>
>
>   int main(void) {
>       int * ip = 0;
>       int & i = *ip;
>       assert(&i);
>       return 0;
>     }
>
>Does the assertion check for a, let's say, "null reference"?

You're right. It's not impossible to check for a null reference. You just
have to think outside the box.

#include <stdio.h>

void foo(int &iref)
{
  if(&iref == NULL) {
    printf("&iref is null. How about that!\n");
    return;
  }
  iref = 42;
}

int main(void)
{
  int *whoops = 0;
  foo(*whoops);
  return 0;
}

I'm sure this is all formally undefined. But it shows that references are
purely an alternate syntax for pointers and don't provide any real
"protection" against unexpected NULLs. You're just depending on your caller
to have already done the check.

All functions depend on their callers being sane; new syntax won't change
that.

-- 
Alan Curry

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

References in C jacob navia <jacob@spamsink.net> - 2011-06-24 10:42 +0200
  Re: References in C BGB <cr88192@hotmail.com> - 2011-06-24 02:53 -0700
    Re: References in C Ian Collins <ian-news@hotmail.com> - 2011-06-24 22:10 +1200
  Re: References in C "BartC" <bc@freeuk.com> - 2011-06-24 11:14 +0100
    Re: References in C jacob navia <jacob@spamsink.net> - 2011-06-24 16:59 +0200
  Re: References in C Shao Miller <sha0.miller@gmail.com> - 2011-06-24 09:26 -0400
    Re: References in C jacob navia <jacob@spamsink.net> - 2011-06-24 20:08 +0200
      Re: References in C Keith Thompson <kst-u@mib.org> - 2011-06-24 11:40 -0700
      Re: References in C Shao Miller <sha0.miller@gmail.com> - 2011-06-24 14:53 -0400
      Re: References in C jt@toerring.de (Jens Thoms Toerring) - 2011-06-24 20:44 +0000
        Re: References in C jacob navia <jacob@spamsink.net> - 2011-06-24 23:09 +0200
          Re: References in C Joe Wright <joewwright@comcast.net> - 2011-06-24 17:38 -0400
            Re: References in C "BartC" <bc@freeuk.com> - 2011-06-24 22:58 +0100
            Re: References in C Ian Collins <ian-news@hotmail.com> - 2011-06-25 10:11 +1200
              Re: References in C Shao Miller <sha0.miller@gmail.com> - 2011-06-26 17:00 -0500
                Re: References in C "BartC" <bc@freeuk.com> - 2011-06-26 22:55 +0100
                Re: References in C Shao Miller <sha0.miller@gmail.com> - 2011-06-26 18:25 -0500
                Re: References in C "BartC" <bc@freeuk.com> - 2011-06-26 23:38 +0100
                Re: References in C Shao Miller <sha0.miller@gmail.com> - 2011-06-26 19:19 -0500
                Re: References in C jacob navia <jacob@spamsink.net> - 2011-06-27 01:27 +0200
                Re: References in C Keith Thompson <kst-u@mib.org> - 2011-06-26 19:13 -0700
                Re: References in C Ian Collins <ian-news@hotmail.com> - 2011-06-27 16:50 +1200
                Re: References in C jacob navia <jacob@spamsink.net> - 2011-06-27 06:55 +0200
                Re: References in C Ian Collins <ian-news@hotmail.com> - 2011-06-27 17:10 +1200
                Re: References in C lawrence.jones@siemens.com - 2011-06-27 10:04 -0400
                Re: References in C jt@toerring.de (Jens Thoms Toerring) - 2011-06-26 22:54 +0000
                Re: References in C jacob navia <jacob@spamsink.net> - 2011-06-27 01:29 +0200
                Re: References in C Shao Miller <sha0.miller@gmail.com> - 2011-06-26 19:39 -0500
                Re: References in C pacman@kosh.dhis.org (Alan Curry) - 2011-06-27 07:16 +0000
                Re: References in C jacob navia <jacob@spamsink.net> - 2011-06-27 09:46 +0200
                Re: References in C Shao Miller <sha0.miller@gmail.com> - 2011-06-27 12:03 -0400
                Re: References in C Stephen Sprunk <stephen@sprunk.org> - 2011-06-27 12:09 -0500
                Re: References in C pacman@kosh.dhis.org (Alan Curry) - 2011-06-27 22:16 +0000
                Re: References in C Shao Miller <sha0.miller@gmail.com> - 2011-06-27 11:57 -0400
                Re: References in C pacman@kosh.dhis.org (Alan Curry) - 2011-06-27 22:21 +0000
                Re: References in C Ian Collins <ian-news@hotmail.com> - 2011-06-28 13:59 +1200
                Re: References in C Ike Naar <ike@iceland.freeshell.org> - 2011-06-27 07:05 +0000
                Re: References in C jt@toerring.de (Jens Thoms Toerring) - 2011-06-27 20:10 +0000
                Re: References in C Stephen Sprunk <stephen@sprunk.org> - 2011-06-27 16:39 -0500
                Re: References in C Keith Thompson <kst-u@mib.org> - 2011-06-26 15:23 -0700
                Re: References in C Shao Miller <sha0.miller@gmail.com> - 2011-06-26 18:57 -0500
                Re: References in C Keith Thompson <kst-u@mib.org> - 2011-06-26 19:21 -0700
                Re: References in C Shao Miller <sha0.miller@gmail.com> - 2011-06-27 09:40 -0400
                Re: References in C Keith Thompson <kst-u@mib.org> - 2011-06-27 09:00 -0700
                Re: References in C pacman@kosh.dhis.org (Alan Curry) - 2011-06-27 23:15 +0000
                Re: References in C Keith Thompson <kst-u@mib.org> - 2011-06-28 22:50 -0700
                Re: References in C Seebs <usenet-nospam@seebs.net> - 2011-06-29 17:46 +0000
                Re: References in C Dr Nick <3-nospam@temporary-address.org.uk> - 2011-06-29 20:23 +0100
                Re: References in C pacman@kosh.dhis.org (Alan Curry) - 2011-06-29 22:35 +0000
                Re: References in C Keith Thompson <kst-u@mib.org> - 2011-06-29 16:52 -0700
                Re: References in C Phil Carmody <thefatphil_demunged@yahoo.co.uk> - 2011-07-03 01:31 +0300
                Re: References in C Chad <cdalten@gmail.com> - 2011-07-02 17:20 -0700
                Re: References in C Shao Miller <sha0.miller@gmail.com> - 2011-06-29 18:54 -0500
                Re: References in C Michael Press <rubrum@pacbell.net> - 2011-06-30 10:32 -0700
                Re: References in C "io_x" <a@b.c.invalid> - 2011-07-01 10:19 +0200
                Re: References in C pacman@kosh.dhis.org (Alan Curry) - 2011-07-01 19:21 +0000
                Re: References in C Keith Thompson <kst-u@mib.org> - 2011-07-01 12:31 -0700
                Re: References in C pacman@kosh.dhis.org (Alan Curry) - 2011-07-01 19:32 +0000
                Re: References in C Keith Thompson <kst-u@mib.org> - 2011-07-01 13:05 -0700
                Re: References in C Seebs <usenet-nospam@seebs.net> - 2011-07-01 23:58 +0000
                Re: References in C Shao Miller <sha0.miller@gmail.com> - 2011-07-01 20:13 -0500
                Re: References in C Michael Press <rubrum@pacbell.net> - 2011-07-01 12:44 -0700
                Re: References in C Shao Miller <sha0.miller@gmail.com> - 2011-07-01 15:57 -0500
                Re: References in C Tim Rentsch <txr@alumni.caltech.edu> - 2011-07-03 14:54 -0700
                Re: References in C Michael Press <rubrum@pacbell.net> - 2011-07-03 20:29 -0700
                Re: References in C Tim Rentsch <txr@alumni.caltech.edu> - 2011-07-04 16:05 -0700
                Re: References in C Michael Press <rubrum@pacbell.net> - 2011-07-05 08:32 -0700
                Re: References in C Lowell Gilbert <lgusenet@be-well.ilk.org> - 2011-07-05 15:34 -0400
                Re: References in C Tim Rentsch <txr@alumni.caltech.edu> - 2011-07-06 15:30 -0700
                Re: References in C Ian Collins <ian-news@hotmail.com> - 2011-06-27 13:27 +1200
                Re: References in C Shao Miller <sha0.miller@gmail.com> - 2011-06-27 09:02 -0400
              Re: References in C "Joel C. Salomon" <joelcsalomon@gmail.com> - 2011-06-26 18:35 -0400
                Re: References in C James Kuyper <jameskuyper@verizon.net> - 2011-06-26 19:11 -0400
                Re: References in C "Joel C. Salomon" <joelcsalomon@gmail.com> - 2011-06-28 00:52 -0400
                Re: References in C James Kuyper <jameskuyper@verizon.net> - 2011-06-28 07:56 -0400
          Re: References in C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-06-24 22:52 +0100
          Re: References in C jt@toerring.de (Jens Thoms Toerring) - 2011-06-24 23:58 +0000
  Re: References in C Tom St Denis <tom@iahu.ca> - 2011-06-24 06:48 -0700
    Re: References in C David Resnick <lndresnick@gmail.com> - 2011-06-24 07:14 -0700
      Re: References in C jacob navia <jacob@spamsink.net> - 2011-06-24 16:58 +0200
        Re: References in C Tom St Denis <tom@iahu.ca> - 2011-06-24 09:08 -0700
          Re: References in C Stephen Sprunk <stephen@sprunk.org> - 2011-06-24 11:33 -0500
          Re: References in C gazelle@shell.xmission.com (Kenny McCormack) - 2011-06-24 17:47 +0000
            Re: References in C JG <jgrove24@hotmail.com> - 2011-07-01 14:24 -0700
          Re: References in C Nick Keighley <nick_keighley_nospam@hotmail.com> - 2011-06-25 04:39 -0700
            Re: References in C BGB <cr88192@hotmail.com> - 2011-06-25 16:15 -0700
              Re: References in C Ian Collins <ian-news@hotmail.com> - 2011-06-26 11:27 +1200
                Re: References in C BGB <cr88192@hotmail.com> - 2011-06-25 19:13 -0700
                Re: References in C cri@tiac.net (Richard Harter) - 2011-06-26 04:22 +0000
                Re: References in C Robert Wessel <robertwessel2@yahoo.com> - 2011-06-26 01:31 -0500
                Re: References in C BGB <cr88192@hotmail.com> - 2011-06-26 00:03 -0700
                Re: References in C Shao Miller <sha0.miller@gmail.com> - 2011-06-26 13:54 -0500
                Re: References in C luser- -droog <mijoryx@yahoo.com> - 2011-07-07 11:19 -0700
            Re: References in C Dr Nick <3-nospam@temporary-address.org.uk> - 2011-06-26 08:15 +0100
    Re: References in C Ike Naar <ike@sverige.freeshell.org> - 2011-06-24 16:08 +0000
      Re: References in C Tom St Denis <tom@iahu.ca> - 2011-06-24 11:12 -0700
        Re: References in C Ike Naar <ike@iceland.freeshell.org> - 2011-06-24 21:42 +0000
  Re: References in C Stephen Sprunk <stephen@sprunk.org> - 2011-06-24 11:49 -0500
  Re: References in C Keith Thompson <kst-u@mib.org> - 2011-06-24 13:17 -0700
    Re: References in C Shao Miller <sha0.miller@gmail.com> - 2011-06-24 16:46 -0400
      Re: References in C Keith Thompson <kst-u@mib.org> - 2011-06-24 14:32 -0700
        Re: References in C Gareth Owen <gwowen@gmail.com> - 2011-06-25 09:39 +0100
          Re: References in C Shao Miller <sha0.miller@gmail.com> - 2011-07-04 17:38 -0400
  Re: References in C Shao Miller <sha0.miller@gmail.com> - 2011-06-24 16:33 -0400
    Re: References in C jacob navia <jacob@spamsink.net> - 2011-06-24 23:04 +0200
  Re: References in C Tim Rentsch <txr@alumni.caltech.edu> - 2011-06-26 17:53 -0700
    Re: References in C Ian Collins <ian-news@hotmail.com> - 2011-06-27 17:04 +1200
      Re: References in C Tim Rentsch <txr@alumni.caltech.edu> - 2011-06-27 14:28 -0700
        Re: References in C Ian Collins <ian-news@hotmail.com> - 2011-06-28 14:11 +1200
          Re: References in C Tim Rentsch <txr@alumni.caltech.edu> - 2011-06-28 16:27 -0700
          Re: References in C Michael Press <rubrum@pacbell.net> - 2011-06-29 13:41 -0700
            Re: References in C Seebs <usenet-nospam@seebs.net> - 2011-06-29 21:15 +0000
              Re: References in C Michael Press <rubrum@pacbell.net> - 2011-06-30 09:26 -0700
                Re: References in C Seebs <usenet-nospam@seebs.net> - 2011-06-30 20:55 +0000
                Re: References in C Michael Press <rubrum@pacbell.net> - 2011-06-30 16:20 -0700
                Re: References in C Seebs <usenet-nospam@seebs.net> - 2011-06-30 23:45 +0000
                Re: References in C James Kuyper <jameskuyper@verizon.net> - 2011-07-01 07:58 -0400
    Re: References in C jacob navia <jacob@spamsink.net> - 2011-06-27 10:43 +0200
      Re: References in C Keith Thompson <kst-u@mib.org> - 2011-06-27 08:32 -0700
      Re: References in C Tim Rentsch <txr@alumni.caltech.edu> - 2011-06-28 11:01 -0700
        Re: References in C jacob navia <jacob@spamsink.net> - 2011-06-28 22:17 +0200
          Re: References in C Ian Collins <ian-news@hotmail.com> - 2011-06-29 09:05 +1200
          Re: References in C Keith Thompson <kst-u@mib.org> - 2011-06-28 22:24 -0700
          Re: References in C Tim Rentsch <txr@alumni.caltech.edu> - 2011-06-29 01:07 -0700
            Re: References in C Ian Collins <ian-news@hotmail.com> - 2011-06-29 21:16 +1200
              Re: References in C Seebs <usenet-nospam@seebs.net> - 2011-06-29 17:46 +0000
              Re: References in C Tim Rentsch <txr@alumni.caltech.edu> - 2011-06-29 12:19 -0700
          Re: References in C sandeep <nospam@nospam.com> - 2011-07-03 20:53 +0000
            Re: References in C Chad <cdalten@gmail.com> - 2011-07-03 14:02 -0700
            Re: References in C Keith Thompson <kst-u@mib.org> - 2011-07-03 14:33 -0700
              Re: References in C jacob navia <jacob@spamsink.net> - 2011-07-04 00:22 +0200
                Re: References in C Keith Thompson <kst-u@mib.org> - 2011-07-04 13:41 -0700
              Re: References in C gazelle@shell.xmission.com (Kenny McCormack) - 2011-07-04 00:00 +0000
              Re: References in C Seebs <usenet-nospam@seebs.net> - 2011-07-04 00:20 +0000
      Re: References in C Shao Miller <sha0.miller@gmail.com> - 2011-07-04 17:43 -0400

csiph-web