«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как инициализировать статические элементы данных const std::string в C++?

Как инициализировать статические элементы данных const std::string в C++?

Опубликовано 21 декабря 2024 г.
Просматривать:655

How to Initialize Static `const std::string` Data Members in C  ?

Объявление статических элементов данных типа const std::string

В C инициализация статического элемента данных типа const std::string непосредственно в определении класса не разрешено. Вместо этого есть два варианта определения таких членов данных:

Встроенные переменные (C 17 или более поздние версии)

Используйте встроенную переменную, которая определяет и инициализирует статический элемент в определении класса:

class A {
private:
  inline static const string RECTANGLE = "rectangle";
};

Внешнее определение

Определите статический член вне определения класса и предоставьте инициализатор в отдельном файле реализации:

Заголовочный файл

class A {
private:
  static const string RECTANGLE;
};

Файл реализации

const string A::RECTANGLE = "rectangle";

Ограничения инициализации внутри класса

Синтаксис инициализации статических элементов данных в определении класса поддерживается только для целочисленных типов и типов перечислений. Для нецелых типов, таких как const std::string, этот подход недействителен.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3