C++ like C
Bob Martin
rmartin at clear.com
Wed Jan 9 02:13:58 AEST 1991
In article <2840 at cirrusl.UUCP> dhesi%cirrusl at oliveb.ATC.olivetti.com (Rahul Dhesi) writes:
>Now to the point of this long discourse: I don't think there is
>anything wrong with global variables, if they truly contain global
>data. In a C environment, a possible problem with global variables is
>that they can be *too* global, being visible even to modules that don't
>need them. A possible solution is to declare a variable "static" in a
>file, and have all modules that need to access that variable be in the
>same file. I don't program in C++, but I don't think C++ has a better
>solution to this.
>--
>Rahul Dhesi <dhesi%cirrusl at oliveb.ATC.olivetti.com>
>UUCP: oliveb!cirrusl!dhesi
eau contrair! (sp?)
C++ has the ability to declare variables which are known to a set
of functions (be they in the same module, or be they not). This
set is known as a class and embodies all the knowledge about a
certain aspect of the problem.
This is like being able to say in C that functions X, Y, QQ and P
should know about this global variable since they deal with
similar concepts, but the rest of the functions should not. In C++
knowledge scopes like this can overlap. A variable x can be known
to function A, B and C. A variable y can be known to A, B and D.
But C doesn't know y and D doesn't know x!!
--
+-Robert C. Martin-----+:RRR:::CCC:M:::::M:| Nobody is responsible for |
| rmartin at clear.com |:R::R:C::::M:M:M:M:| my words but me. I want |
| uunet!clrcom!rmartin |:RRR::C::::M::M::M:| all the credit, and all |
+----------------------+:R::R::CCC:M:::::M:| the blame. So there. |
More information about the Comp.lang.c
mailing list