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


Groups > comp.lang.c > #151126

Re: Ways to avoid global variables

From Spiros Bousbouras <spibou@gmail.com>
Newsgroups comp.lang.c
Subject Re: Ways to avoid global variables
Message-ID <ssZzTvD3PmfqiLepdZ@bongo-ra.co> (permalink)
References (2 earlier) <r6er3n$6le$1@dont-email.me> <ch88ItrMgKg0uu64vp@bongo-ra.co> <e46183e0-cbd4-4ec0-a2b0-495584dd3a6b@googlegroups.com> <hai46oRQo9Gu4hMXqH@bongo-ra.co> <7bb46e39-8f29-4f8e-8368-fb35f88f2f69@googlegroups.com>
Organization virginmedia.com
Date 2020-04-06 10:50 +0000

Show all headers | View raw


On Mon, 6 Apr 2020 03:21:31 -0700 (PDT)
Malcolm McLean <malcolm.arthur.mclean@gmail.com> wrote:
> On Monday, 6 April 2020 11:16:57 UTC+1, Spiros Bousbouras  wrote:
> > On Mon, 6 Apr 2020 03:03:02 -0700 (PDT)
> > Malcolm McLean <malcolm.arthur.mclean@gmail.com> wrote:
> > > Say we've got this
> > > 
> > > static int numberbase = 10;
> > > 
> > > void setnumberbase(int base)
> > > {
> > >    if(base < 2)
> > >      numberbase = 2;
> > >    else if(base > 16)
> > >      numberbase = 16;
> > >    else
> > >      numberbase = base;
> > > }
> > > 
> > > int getnumberbase(void)
> > > {
> > >    return numberbase;
> > > }
> > > 
> > > Our variable is protected - it can't go out of range. But it's 
> > > globally visible. Anyone who includes our header can set the 
> > > numberbase for the whole program.
> > 
> > Function definitions should not go into headers. So you would put
> > in a header
> > 
> > void setnumberbase(int) ;
> > int getnumberbase(void) ;
> > 
> > and  #include  this in files which need to access  numberbase .So
> > what's the problem , what point were you trying to make ?

> We've got rid a global variable with external linkage. And we
> haven't achieved nothing, we've prevented numberbase from being set
> to a value we can't handle.

That really depends on what the rest of the code does with  numberbase .
Perhaps there are parts of the code which can't handle all values from
2 to 16.

> But have we really done anything 
> significant as far as addressing the problems of global variables
> goes?

Since I don't know what the problems of global variables are supposed
to be , I can't answer this.

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


Thread

Ways to avoid global variables Mehdi Amini <atorrses@gmail.com> - 2020-04-05 13:10 +0430
  Re: Ways to avoid global variables Mehdi Amini <atorrses@gmail.com> - 2020-04-05 13:23 +0430
  Re: Ways to avoid global variables felix@palmen-it.de (Felix Palmen) - 2020-04-05 11:11 +0200
  Re: Ways to avoid global variables Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2020-04-05 02:34 -0700
  Re: Ways to avoid global variables James Kuyper <jameskuyper@alumni.caltech.edu> - 2020-04-05 10:48 -0400
    Re: Ways to avoid global variables James Kuyper <jameskuyper@alumni.caltech.edu> - 2020-04-05 11:43 -0400
      Re: Ways to avoid global variables James Kuyper <jameskuyper@alumni.caltech.edu> - 2020-04-05 16:49 -0400
      Re: Ways to avoid global variables Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2020-04-05 16:12 -0700
    Re: Ways to avoid global variables James Kuyper <jameskuyper@alumni.caltech.edu> - 2020-04-05 11:49 -0400
      Re: Ways to avoid global variables Mehdi Amini <atorrses@gmail.com> - 2020-04-06 14:11 +0430
        Re: Ways to avoid global variables Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-04-06 12:08 +0100
  Re: Ways to avoid global variables David Brown <david.brown@hesbynett.no> - 2020-04-05 22:03 +0200
    Re: Ways to avoid global variables James Kuyper <jameskuyper@alumni.caltech.edu> - 2020-04-05 16:53 -0400
      Re: Ways to avoid global variables Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2020-04-05 14:11 -0700
      Ice cream (Was: Ways to avoid global variables) gazelle@shell.xmission.com (Kenny McCormack) - 2020-04-06 06:45 +0000
      Re: Ways to avoid global variables David Brown <david.brown@hesbynett.no> - 2020-04-06 09:19 +0200
    Re: Ways to avoid global variables Mehdi Amini <atorrses@gmail.com> - 2020-04-06 13:30 +0430
      Re: Ways to avoid global variables Spiros Bousbouras <spibou@gmail.com> - 2020-04-06 09:25 +0000
        Re: Ways to avoid global variables Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2020-04-06 03:03 -0700
          Re: Ways to avoid global variables Spiros Bousbouras <spibou@gmail.com> - 2020-04-06 10:16 +0000
            Re: Ways to avoid global variables Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2020-04-06 03:21 -0700
              Re: Ways to avoid global variables Spiros Bousbouras <spibou@gmail.com> - 2020-04-06 10:50 +0000
              Re: Ways to avoid global variables David Brown <david.brown@hesbynett.no> - 2020-04-06 13:46 +0200
  Re: Ways to avoid global variables scott@slp53.sl.home (Scott Lurndal) - 2020-04-06 18:05 +0000
    Re: Ways to avoid global variables Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-04-06 20:37 +0100

csiph-web