Click here to Skip to main content
11,576,993 members (60,259 online)
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C++
I came to see one class say CMyClass. There inside CMyClass.cpp is a global variable defined.
And probably also used somewhere else. I was curious what is the point of having this global variable inside class when one could also declare say a static member variable inside it? (what's the difference? they both enjoy class scope right? (by class scope I mean what is valid with static variables, e.g., one instance through all class objects) ).
Posted 21-May-13 20:47pm
Comments
Pravinda Ama. at 22-May-13 3:04am
   
"A Global variable inside a class", What do you mean ?

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

You cannot have a global variable inside a class (all the variables inside the class are class members).
Class static variables are often used instead of global variables (see, for instance, "What's a good coding standard for using global variables?"[^]).
  Permalink  
Comments
Dan page at 22-May-13 3:22am
   
hmmm. I see. Now, it seemed strange to me. Imagine there is a class Settings. Now inside the Settings.cpp I see a declaration: (just after includes) Settings _settings; Then elsewhere in another class I see _settings.someFun() - directly being used.
CPallini at 22-May-13 4:01am
   
Declared that way, _settings is a global variable.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Sergey Alexandrovich Kryukov 221
1 DamithSL 155
2 Abhinav S 130
3 OriginalGriff 95
4 Lucifier Rocks 85
0 OriginalGriff 715
1 Sergey Alexandrovich Kryukov 631
2 Abhinav S 528
3 F-ES Sitecore 420
4 Suvendu Shekhar Giri 365


Advertise | Privacy | Mobile
Web03 | 2.8.150603.1 | Last Updated 22 May 2013
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100