Home >Backend Development >C++ >How to Properly Initialize Constant Static String Variables in C Classes?
Initialization of Static Variables in C Classes
In C , static class variables can only be initialized outside of the class definition. However, this can pose a challenge when dealing with string variables that should remain constant within the class. To address this issue, we can initialize these variables outside the class in a source file:
// Inside the class header file (.h) class Thing { static const string RE_ANY; static const string RE_ANY_RELUCTANT; }; // In the source file (.cpp) const string Thing::RE_ANY = "([^\n]*)"; const string Thing::RE_ANY_RELUCTANT = "([^\n]*?)";
One important note is that if the variables are intended to be constant and should not be modified by class methods, it is recommended to use the const keyword instead of making them static. Static variables are shared among all instances of the class, while const variables can still be accessed by non-const methods but cannot be modified.
The above is the detailed content of How to Properly Initialize Constant Static String Variables in C Classes?. For more information, please follow other related articles on the PHP Chinese website!