Вопросы с тегом «const»

Константы в программировании - это определения, значение которых фиксируется на протяжении всего выполнения программы. Например, литералы в большинстве языков являются константами. В ссылочно-прозрачных стилях программирования все определения постоянны. Область хранения данных с константной квалификацией (объект, поле, переменная, параметр) - это область, которая «никогда не меняется», что обеспечивает дополнительную оптимизацию генератора кода и дополнительную статическую проверку правильности программы.

1357
В чем разница между const int *, const int * const и int const *?

Я всегда беспорядок , как использовать const int*, const int * constи int const *правильно. Существует ли набор правил, определяющих, что вы можете и не можете делать? Я хочу знать все, что можно и чего нельзя делать с точки зрения назначений, передачи функций и т....

445
Статическая константная строка (член класса)

Я хотел бы иметь частную статическую константу для класса (в данном случае фабрика форм). Я хотел бы иметь что-то в этом роде. class A { private: static const string RECTANGLE = "rectangle"; } К сожалению, я получаю всевозможные ошибки от компилятора C ++ (g ++), такие как: ISO C ++ запрещает...

397
Использование const для параметров функции

Как далеко вы идете с const? Вы просто делаете функцииconst когда это необходимо, или вы идете на всю свинью и используете ее везде? Например, представьте себе простой мутатор, который принимает один логический параметр: void SetValue(const bool b) { my_val_ = b; } В том, что const действительно...

349
Const в JavaScript: когда его использовать и нужно ли это?

Я недавно сталкивался с constключевым словом в JavaScript. Из того, что я могу сказать, он используется для создания неизменяемых переменных , и я проверил, чтобы убедиться, что он не может быть переопределен (в Node.js): const x = 'const'; const x = 'not-const'; // Will give an error: 'constant...

321
Почему в моем классе не может быть «public static const string S =» stuff »;

При попытке скомпилировать мой класс я получаю сообщение об ошибке: Константа 'NamespaceName.ClassName.CONST_NAME'не может быть помечена как статическая. на линии: public static const string CONST_NAME = "blah"; Я мог бы делать это все время на Java. Что я делаю не так? И почему это не позволяет...

266
Переменные, объявленные с помощью let или const, не отображаются в ES6?

На этот вопрос есть ответы на Переполнение стека на русском : Вспышки ли переменные, объявленные с помощью let и const в ES6? Я какое-то время играл с ES6 и заметил, что переменные, объявленные с var, поднимаются, как и ожидалось ... console.log(typeof name); // undefined var name = "John"; ......

243
Как удалить дублирование кода между похожими константными и неконстантными функциями-членами?

Допустим, у меня есть следующее, class Xгде я хочу вернуть доступ к внутреннему члену: class Z { // details }; class X { std::vector<Z> vecZ; public: Z& Z(size_t index) { // massive amounts of code for validating index Z& ret = vecZ[index]; // even more code for determining that the Z...

226
Почему неконстантная ссылка не может привязываться к временному объекту?

Почему нельзя получить неконстантную ссылку на временный объект, который getx()возвращает функция ? Понятно, что это запрещено C ++ Standard, но меня интересует цель такого ограничения, а не ссылка на стандарт. struct X { X& ref() { return *this; } }; X getx() { return X();} void g(X & x)...