Я не могу найти много информации о const_cast. Единственная информация, которую я мог найти (на Переполнении стека): const_cast <> () используется для добавления/удаления константы (мыс) (или энергозависимый) переменной. Это...
Как общее правило, это очень часто считают плохой практикой для использования const_cast <> () в коде C++, поскольку это показывает (большую часть времени) дефект в дизайне. В то время как я полностью соглашаюсь с этим, я однако...
Действительно ли я прав в предположении, что C-стиль бросает (которым препятствуют), только reinterpret_casts? Используя последнего визуально поразительно и легок искать при поиске противных бросков и следовательно этого'...
В C++ у меня есть функция, которая только требует доступа только для чтения к массиву, но по ошибке объявляется как получение указателя неконстанты: size_t countZeroes (интервал* массив, size_t количество) {size_t...
У меня есть шаблонный класс как это: класс шаблона <T> MyClass {T* данные;} Иногда, я хочу использовать класс с постоянным типом T следующим образом: MyClass <константа MyObject> mci; но я...
Действительно ли это верно, что const_cast является просто способом сказать, что компилятор "прекращает стонать, рассматривает это как указатель неконстанты"? Есть ли какие-либо случаи, когда сам const_cast переводится в фактический машинный код
Насколько я знаю, const_cast может использоваться для удаления (удаления) константы или волатильности. Но я не мог понять выполнение кода ниже. #include & lt; iostream & gt; int main () {...
Согласно стандарту C++, можно отбрасывать const от указателя и записывать в объект, если сам объект изначально не const. То есть так: const Type* object = new Type(); ...
Я хотел бы проверить свое понимание и выводы по этому поводу. В IRC спросили: допустимо ли использовать const_cast для ссылки на константу, привязанной к временному объекту? Перевод: он ...
Recently I stumbled over code such as this: void foo(const Bar* b) { ... takes_nonconst_param_fn((Bar*)b); ... Obviously, the developer didn't know what he was doing, but if the compiler hadn'...
Есть ли хороший способ избежать const_cast ниже, сохраняя при этом правильность const? Без const_cast приведенный ниже код не компилируется. set :: find получает константную ссылку на тип ключа набора, так что ...
В С++ есть ли смысл использовать const void *для типа аргумента функции над void *? Поскольку пустота *непрозрачна, существует ли какой-либо риск модификации, кроме случаев, когда пользователь делает...
Согласно Скотту Мейерсу, чтобы предотвратить повторение кода в константной версии геттера и неконстантной версии геттера, вызовите константную версию метода из неконстантной версии: static_cast&...
Я продолжаю слышать это заявление, хотя не могу найти причину, по которой const_cast является злом. В следующем примере: template void OscillatorToFieldTransformer :: ...
Возможно, это покажется глупым вопросом, но мне действительно нужно это уточнить :Не принесет ли это какой-либо опасности моей программе? Нужно ли приведение const _? Если я изменю значения входных указателей на месте, будет...
Итак, у меня есть умный итератор, который имитирует карту const_iterator, и ему необходимо внутренне построить возвращаемый тип. Очевидно, я хотел бы сохранить пару в моем классе итератора (поскольку я ...
я наткнулся на нечто подобное к приведенному ниже фрагменту кода, который вызывает ошибку компилятора, поскольку он использует const_iterator. есть ли причина, по которой vec.end () в std :: copy неявно не получает ...
У меня есть устаревшая функция, которая выглядит так: int Random () const
{return var_? 4: 0;
} и мне нужно вызвать функцию в этом устаревшем коде, чтобы теперь она выглядела так: int Random () const
...
У меня есть функция-член, которая принимает постоянный ссылочный параметр к другому объекту. rameter, чтобы легко использовать его внутри функции-члена. Для этой цели, которая ...
Я надеялся, что кто-то мог уточнить, что именно подразумевается под undefined поведением в C ++. Учитывая следующее определение класса: класс FOO
{
Public: явное значение foo (int value): m_int (значение) {} ...
Следующий код хорошо компилируется как с GCC (4.2-4.6), так и с Clang (2.1), но когда я запускаю исполняемый файл, он дает мне «Ошибка шины: 10». Я не понимаю в чем причина. #include ...
Я изучаю C ++ и наткнулся на этот оператор const_cast. Рассмотрим следующий пример: класс Test
{частный: имя символа [100]; общедоступные: Тест (const char * n) {std :: strncpy (имя, n, 99); ...
Мне было интересно, является ли следующее поведение undefined // Случай 1:
int * p = 0;
int const * q = * const_cast < int const * const *> (& p); // Случай 2: (я думаю, что это то же самое)
int * p = 0;
int ...
Если я это сделаю: const char * const_str = "Некоторая строка"; char * str = const_cast (const_str); // (1) str [0] = "P"; // (2) Где (в какой строке) находится неопределенное поведение? Я был ...
Согласно моим небольшим тестам, этот код работает. Но есть ли у него неопределенное поведение? Объект const с помощью const_cast привел к нарушениям доступа во время выполнения в моих предыдущих тестах, ...
$ 5.2.11 / 7 - "[Примечание: в зависимости от типа объекта операция записи через указатель, lvalue или указатель на элемент данных результат const_cast, который отбрасывает const -...