cpplint — статическая / глобальная переменная не разрешена в переполнении стека

Я определил глобальную переменную в своем классе C ++ следующим образом:

std::string VAR = "HELLO_WORLD";

Но cpplint говорит мне:

Статические / глобальные строковые переменные не допускаются. [Выполнения / строка] [4]

У тебя есть идея почему?

1

Решение

По сути, статический анализатор, который вы используете, запрещает это, потому что std::string содержит конструктор так что утверждение на самом деле «делает что-то».

Поэтому он должен быть внутри функции, а не в глобальном масштабе.

С другой стороны,

const char* VAR = "HELLO_WORLD";

испускается, так как это не более чем назначение только для чтения const char[] литерал к соответствующему указателю.

5

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]