官术网_书友最值得收藏!

Static keyword inside a function

The first one, being used inside of a function, basically means that once the variable has been initialized, it will stay in the computer's memory until the end of the program, keeping the value that it has through multiple runs of the function. A simple example would be something like this:

#include <string> 

class StaticExamples
{
public:
void InFunction()
{
static int enemyCount = 0;

// Increase the value of enemyCount
enemyCount += 10;

std::string toDisplay = "\n Value of enemyCount: " +
std::to_string(enemyCount);

printf(toDisplay.c_str());
}
};

Now if we were to call this, it would look something like the following:

  StaticExamples se; 

se.InFunction();
se.InFunction();

And when we call it, the following would be displayed:

As you can see, the value continues to exist, and we can access and/or modify its contents as we see fit in the function. This could be used for a number of things, such as maybe needing to know what happened the last time that you called this function, or to store any kind of data between any calls. It's also worth noting that static variables are shared by all instances of the class, and due to that, if we had two variables of type StaticExamples, they would both display the same enemyCount. We will utilize the fact that, if an object is created this way, it will always be available later on in this chapter.

主站蜘蛛池模板: 忻州市| 湘乡市| 曲松县| 化州市| 遵义市| 沅陵县| 贵南县| 颍上县| 新河县| 伊宁市| 临澧县| 民县| 上栗县| 满城县| 江山市| 嵊州市| 旬邑县| 炉霍县| 治县。| 汉源县| 富顺县| 沈阳市| 天长市| 三明市| 吉木萨尔县| 淮南市| 鄂尔多斯市| 洪江市| 临潭县| 泗洪县| 油尖旺区| 鄂温| 台江县| 中方县| 将乐县| 亚东县| 綦江县| 河东区| 揭东县| 灵台县| 资兴市|