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

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.

主站蜘蛛池模板: 渭源县| 巴彦淖尔市| 永丰县| 普兰县| 哈巴河县| 明溪县| 延庆县| 仁怀市| 盱眙县| 青海省| 石城县| 镇康县| 哈尔滨市| 江津市| 班戈县| 沁阳市| 会理县| 乌拉特中旗| 肇庆市| 晋州市| 芮城县| 阳谷县| 信丰县| 福建省| 浦县| 白水县| 伊宁县| 大港区| 乌鲁木齐市| 巴里| 南通市| 西昌市| 衡东县| 云霄县| 大洼县| 年辖:市辖区| 海兴县| 湘西| 西安市| 城固县| 剑河县|