Home >Backend Development >C++ >How to Properly Initialize Constant Static String Variables in C Classes?

How to Properly Initialize Constant Static String Variables in C Classes?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-05 02:42:13932browse

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn