Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587

Можно ли использовать явное приведение типов для данных со спецификатором const?

29.11.2011, 16:52. Показов 992. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Например:
C++
1
2
3
4
5
6
int n;
const int* ukn = &n;
int s;
int* uks = &s;
const_cast< int* >( ukn ); // или (int*) ukn;
*ukn = *uks; // ошибка при компиляции.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.11.2011, 16:52
Ответы с готовыми решениями:

Явное приведение типов
Доброе время. Помогите с вопросом явного приведения. К объектам классам new Treygolnik(), new Pyatiygolnik(), new...

Явное приведение типов
static void Main(string args) { int x = 2147483647; Console.WriteLine((double)x*3); ...

Не компилируется явное приведение типов
Ребят, всем привет. Такой вопрос. Почему-то в Visual Studio 2008 не компилируется явное приведение типов в C#. Код элементарный....

2
Заблокирован
29.11.2011, 17:21
Цитата Сообщение от alsav22 Посмотреть сообщение
Например:
C++
1
2
3
4
5
6
int n;
const int* ukn = &n;
int s;
int* uks = &s;
const_cast< int* >( ukn ); // или (int*) ukn;
*ukn = *uks; // ошибка при компиляции.
Дело в том, что у вас два этих предложения

C++
1
2
const_cast< int* >( ukn ); // или (int*) ukn;
*ukn = *uks; // ошибка при компиляции.
не связаны между собой.
В первом предложении вы получаете временный объект, неконстакнтный указатель, который сразу же удаляется по достижению точки с запятой. С самим указателем ukn при этом ничего не происходит.
Во втором предложении вы пытаетесь изменить значение через константный указатель, и, естественно, вам выдается сообщение об ошибке.

Добавлено через 10 минут
alsav22,

То, чего вы хотите добиться, реализуется следующим образом

C++
1
*const_cast<int *>( ukn ) = *uks;
1
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
29.11.2011, 18:06  [ТС]
Благодарю!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.11.2011, 18:06
Помогаю со студенческими работами здесь

Явное приведение типов в задачах с наследованием
имеется следующий код: fgr = new Trng(); ((Trng)fgr).LengthA = getParameter(&quot;Длина a&quot;); ((Trng)fgr).LengthB =...

Существует явное преобразование (возможно, пропущено приведение типов)
Добрый день. Помогите, пожалуйста, исправить ошибку. Не пойму как сделать по другому. Пишет ошибка: Не удается неявно преобразовать тип...

Зачем явное приведение типов, там где это не требуется?
Я недавно только начал изучать программирование под андроид. Во всех книгах, справочниках и примерах используют явное приведение типов. Вот...

Не удается неявно преобразовать int в char. Существует явное преобразование (Возможно пропущено приведение типов)
Здравствуйте, есть цель перенести уже существующий консольный шифратор (Его суть в том, что за счет ключа происходит сдви символа...

Const параметр в методе и приведение типов
Метод с константным параметром ссылкой void MyClass::MyMethod(const QString &amp;s) { QDebug&lt;&lt;s; } использование метода QChar ch...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru