Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
Другие темы раздела
C++ [C++] Замена отрицательных элементов их модулями http://www.cyberforum.ru/cpp-beginners/thread394763.html
Здравствуйте, программисты:) прошу вас помощь с программой. Разработать программу, написав предварительно подпрограмму. Задание на разработку подпрограммы сформулировано в первом абзаце индивидуального задания. Требования к решению задачи: - В программе необходимо предусмотреть задание размеров исходных массивов, ввод элементов массивов и других данных(если требуется по условию задачи)....
C++ наследование в чём ошибка (посмотрите рисунок) #include <iostream> #include "stdlib.h" #include <string> using namespace std; char marki_mahsin={"1","2","3","4","5","6","7"}; ///////////////////////////////////////////////////////// class marka { int cena; http://www.cyberforum.ru/cpp-beginners/thread394762.html
Разделение данных C++
есть файл с непрерывным текстом вида ...04.01.2006;119.48;121.56;119.36;121.4605.01.2006;121.41;122.72;121.4;122.5... формат: дата;данные;данные;данные;данные между последним элементом данных и следующей датой нет разделения как записать дату в один тип, а данные - в другой? заранее спасибо Добавлено через 29 минут ап ап ап
Получить все 6-значные счастливые числа C++
Написать задачу с использованием указателей. Получить все 6-значные счастливые числа, т.е. те, у которых сумма первых трех цифр равна сумме последних трех.
C++ Элементы расположенные по периметру матрицы. http://www.cyberforum.ru/cpp-beginners/thread394748.html
подскажите,как составить цикл для нахождения элементов по периметру через for.с++
C++ Упрощение кода Хочу написать многофункциональную консольную программу. Код получится громоздкий и запутанный. C++ позволяет как-нибудь обозначать действия, а потом отдельно их описывать? Например, если я выбрал "решение квадратных уравнений", то сделать действие "kvadratyravnen". А потом отдельно вконце это действие описать kvadratyravnen { шаги решения квадратных уравнений } подробнее

Показать сообщение отдельно
Сыроежка
Заблокирован
29.11.2011, 17:21     Можно ли использовать явное приведение типов для данных со спецификатором const?
Цитата Сообщение от 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;
 
Текущее время: 02:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru