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


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

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

7
«Правильность констант» в C #
Смысл константной корректности состоит в том, чтобы иметь возможность предоставить представление об экземпляре, которое не может быть изменено или удалено пользователем. Компилятор поддерживает это, указывая, когда вы нарушаете константность из константной функции или пытаетесь использовать неконстантную функцию константного объекта. Итак, без копирования константного подхода, есть ли методология, которую я могу …

1
std :: function const правильность
Предположим, у меня есть вызываемый тип, например: struct mutable_callable { int my_mutable = 0; int operator()() { // Not const return my_mutable++; } }; Обратите внимание, что mutable_callableесть неконстантный, operator()который изменяет переменную-член ..... Теперь предположим, что я создал std::functionиз моего типа: std::function<int()> foo = mutable_callable{}; Теперь я могу сделать это: …

2
Скопировать конструктор с неконстантным аргументом, предложенным правилами безопасности потока?
У меня есть обертка для какого-то унаследованного кода. class A{ L* impl_; // the legacy object has to be in the heap, could be also unique_ptr A(A const&) = delete; L* duplicate(){L* ret; legacy_duplicate(impl_, &L); return ret;} ... // proper resource management here }; В этом унаследованном коде функция, которая …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.