const-correctness

Так почему же всегда рекомендуется использовать const как можно чаще? Мне кажется, что использование const может быть скорее болью, чем помощью в C++. Но опять же, я подхожу к этому с точки зрения питона: если вы не хотите что-то менять, не меняйте это. Итак, с учетом сказанного, вот несколько вопросов: ...

Мне нравится последовательность. Недавно я задал вопрос об использовании std::begin против, например, std::vector<int>::begin, и единогласное решение, по-видимому, состояло в том, чтобы использовать первое, поскольку оно является более общим. Но я думаю, что нашел палку в грязи. Иногда вы хотите передат...

После обсуждения в работе, мы, кажется, не в состоянии обеспечить "логическую" const-корректность для класса, который имеет данные-члены указателя, как таковые: class Widget { public: void Foo(); void FooConst() const; }; class WidgetManager { public: WidgetManager() : _pW(std::shared_ptr<Wi...

Недавно я начал пытаться обеспечить корректность const в своем коде. В определении функции я передаю постоянный указатель на постоянный объект класса LorentzM: void AnalysisObject::SetOwnedPointer(const int maptotree_In, const LorentzM* const momentum_In){ owned_pp4_original.reset(momentum_In); maptotree=...

A QList<T *> не может легко быть const-правильным. Рассмотрим функцию void f(QList<T *> list) { list[0]->constFunction(); } Я могу изменить f на void f(QList<const T *> list) Но тогда я не могу сделать f(QList<T *>()); //Compile error Больше, так как компилятор не ...

как Java обрабатывает целочисленные переполнения и переполнения? начиная с этого, как бы вы проверили / проверили, что это происходит?...

интересно, почему cbegin и cend были введены в C++11? каковы случаи, когда вызов этих методов отличается от перегрузок const begin и end?...

допустим, у меня есть код в C с примерно такой структурой: switch (something) { case 0: return "blah"; break; case 1: case 4: return "foo"; break; case 2: case 3: return "bar"; break; default: return "foobar"; break; } теперь очевид...

Я много раз читал, что применение const-корректности в вашем коде C или C++ является не только хорошей практикой в отношении ремонтопригодности, но также может позволить вашему компилятору выполнять оптимизацию. Однако я тоже прочитал полную противоположность-что это вообще не влияет на производительность. п...