Основные рекомендации 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, если этого можно избежать.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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