- Game Development Patterns and Best Practices
- John P. Doran Matt Casanova
- 235字
- 2021-07-02 23:43:45
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.
- 騰訊iOS測試實踐
- Learning ArcGIS Pro 2
- Windows Server 2016 Automation with PowerShell Cookbook(Second Edition)
- Instant Ext.NET Application Development
- PHP 7+MySQL 8動態網站開發從入門到精通(視頻教學版)
- Advanced Express Web Application Development
- Spring Boot+MVC實戰指南
- 物聯網系統架構設計與邊緣計算(原書第2版)
- Clojure High Performance Programming(Second Edition)
- Learning Concurrency in Python
- AI自動化測試:技術原理、平臺搭建與工程實踐
- 安卓工程師教你玩轉Android
- JavaScript設計模式與開發實踐
- JSP編程教程
- Java Web開發系統項目教程