Основные рекомендации C++ для статических переменных-членовC++

Программы на C++. Форум разработчиков
Anonymous
Основные рекомендации C++ для статических переменных-членов

Сообщение Anonymous »


У меня в классе есть частный статический вектор, который хранит указатель на все созданные на его основе объекты. Это необходимо, поскольку каждому объекту для выполнения некоторых вычислений необходим доступ к информации всех остальных объектов:

// Заголовочный файл: Пример класса { публика: Пример(); частный: static std::vector example_; }; // CPP-файл: std::vector Пример::examples_ = {}; Пример::Пример() { // инициализация example_.emplace_back(это); } void Пример::DoCalc() { for (автоматический пример: example_) { // делаем что-то } } clang-tidy указывает, что я нарушаю основные рекомендации C++, а именно: «Переменная 'examples_' не является константной и доступна глобально, рассмотрите возможность сделать ее константной (cppcoreguidelines-avoid-non- const-глобальные-переменные)".

Лично я не вижу сходства между моим кодом и примером кода в основных рекомендациях, тем более что переменная находится внутри класса и является частной. Каким будет «правильный» способ реализации этой функции? Я не хочу отключать эту проверку в clang-tidy, если этого можно избежать.

Вернуться в «C++»