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

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.

主站蜘蛛池模板: 奉贤区| 桑植县| 陆河县| 通河县| 宕昌县| 卓资县| 广河县| 泽库县| 海原县| 万宁市| 广丰县| 朝阳市| 绥滨县| 新乡县| 抚顺市| 额尔古纳市| 宁陵县| 从化市| 汤阴县| 庆安县| 大埔区| 宁都县| 襄汾县| 马尔康县| 湘乡市| 怀来县| 黔西县| 孝义市| 安仁县| 富平县| 东平县| 会泽县| 西城区| 炎陵县| 手机| 平定县| 运城市| 德安县| 黄陵县| 加查县| 巴彦县|