oplagring klasser i c + +

, oplagring, klasse defineres anvendelsesområdet (synlighed) og levetid af variabler og /eller funktioner inden for en c + + - program.disse specifikatorer forud for den type, som de ændrer.der er efter oplagring, klasser, der kan anvendes i en c + + program, auto,,, register,,, statisk,,,,, ustadigt. mener,,,,,,, - oplagring klasse, auto -, oplagrings - klasse er misligholdelse oplagring klasse for alle lokale variabler (int mount.; auto int måned;}, f.eks. ovenfor, defineres to variabler med samme oplagring klasse, automatisk kan kun anvendes inden for funktioner, dvs. lokale variabler.det register, oplagring, klasse, registrering, opbevaring klasse anvendes til at definere de variabler, der skal opbevares i et register, i stedet for at ram.det betyder, at den variable har en maksimal størrelse svarer til registret størrelse (normalt et ord) og kan ikke have unary "&" operatør, der anvendes til det (som ikke har en hukommelse beliggenhed). {register int km;}, registret, bør kun anvendes for de variabler, der kræver hurtig adgang, f.eks. hylder.det bør også bemærkes, at definitionen af "register" betyder ikke, at den variable vil blive opbevaret i et register.det betyder, at det kan opbevares i et register, afhængigt af hardware og gennemførelsen af restriktioner. den statiske oplagring klasse, klasse, statisk, oplagring, pålægger den ansvarlige for at holde en lokal variabel, der findes i levetiden for det program, i stedet for at skabe og ødelægge den, hver gang den kommer ind og går ud af rækkevidde.derfor, at lokale variabler statisk giver dem mulighed for at bevare deres værdier mellem funktion opfordrer., statisk transformer kan også anvendes til globale variabler.When this is done, it causes that variable's scope to be restricted to the file in which it is declared.,In C++, when static is used on a class data member, it causes only one copy of that member to be shared by all objects of its class., #include <iostream> //Function declaration void func(void); static int count = 10; /* Global variable */ main() { while(count--) { func(); } return 0; } //Function definition void func( void ) { static int i = 5; //local static variable i++; std::cout << "i is " << i; std::cout << " and count is " << count << std::endl; } ,When the above code is compiled and executed, it produces the following result:, i is 6 and count is9. jeg er 7 og tælle 8 jeg er otte år, og tallet er 7 - 9 og tæl er 6 - 10 og tæl er 5 - 11 og tæl er 4 jeg er 12, og tallet er 3 jeg er 13 og med 2, jeg er 14 og tælle er 1. jeg er 15, og tallet er 0 de mener, oplagring, klasse, mener, oplagring, klasse anvendes til at give en henvisning til en global variable, som er synlige for alle programmet filer.når du bruger "mener" variabel kan ikke være i brug, som det er den variable navn til et oplagringssted, der tidligere er blevet defineret, når du har flere filer og fastlægge en global variable eller funktion, som vil blive anvendt i andre sager, så mener, vil blive anvendt i en anden fil at give henvisning af defineret variabel eller funktion.kun for forståelse, mener, anvendes til at erklære en global variable eller funktion i en anden fil. de mener transformer er mest almindeligt anvendte, når der er to eller flere filer, deler de samme globale variabler eller funktioner, som forklaret nedenfor, første fil: main.cpp,&#omfatter < iostream > int. mener tæller. ugyldige write_extern(); main() {tæller = 5, write_extern();}, anden fil: support.cpp,&#omfatter < iostream > mener, int regne; tomrum write_extern (annulleret) (std: cout < < "med" < < tæller < < std: endl.;}, her mener, nøgleord, bruges til at erklære tæller i en anden fil.nu samle disse to filer som følger: $g + main.cpp support.cpp - o skrive, dette vil medføre, at skrive, eksekverbar program, forsøger at gennemføre, skrive og se resultatet som følger: $. skriv 5, ustadigt oplagring klasse, ustadigt, specifier gælder kun for klasse objekter der behandles senere i denne forelæsning.det gør det muligt for et medlem af et objekt til at tilsidesætte constness.det er et ustadigt medlem kan ændres med et medlem af denne funktion.



Previous:
Next Page: