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

const_cast для чего и как функционирует - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Скачивание html исходника http://www.cyberforum.ru/cpp-beginners/thread946078.html
Здравствуйте) Хочу попросить помощи в следующем: Есть интернет страница с полем ввода данных (номер) после ввода номера на странице (той же) выдается информация о введенном номере Хочу написать программу которая методом перебора будет сохранять информацию о номерах перебор и поиск в исходнике, думаю, осилю сам Хочу лишь знать как сохранять исходники через XCode Пробовал подключать Asio (оно...
C++ NDEBUG и DEBUG зачем нужны константы NDEBUG и DEBUG?? спасибо. http://www.cyberforum.ru/cpp-beginners/thread946056.html
Исходник чата C++
Всем приветик!:) Хочу задать вам один глупый вопросик...:) Есть у кого нибудь исходник какого нибудь чата?:) Что то искала, ничего подходящего не нашла...:( В общем, сейчас попробую описать поподробней, как я вижу то, что ищу:) Есть программка. Такая же программка есть ещё у нескольких человек. Я пишу что нибудь и нажимаю кнопку "Отправить" и моё сообщение появляется у всех людей, у кого...
C++ c++ box2d и opencv
Работаю на Xcode с openframework, конкретнее с библиотеками box2d и opencv. Задача захватывать контур с помощью opencv и делать его физическим объектом. Добился того что могу получать точки определенного контура так: ofPoint contours; vector <ofPoint> simpleCountour; for(int i = 0; i < contourFinder.nBlobs; i++) { simpleCountour = contourFinder.blobs.at(i).pts; contours =...
C++ Разработка приложения для symbian на языке c++ http://www.cyberforum.ru/cpp-beginners/thread946033.html
Разработка приложения для symbian на языке c++. Приложение-записная книга с простейшим интерфейсом.Проблема заключается в следующем - если в записи встретится номер телефона, то его можно выделить ,передать в строку набора номера и позвонить. Нужен код именно последней функции.
C++ Алгоритм шифрования из exe файла Hola amigos! :) На C++ к слову я мало что понимаю и столкнулся с некой необходимостью получить алгоритм шифрования обычного CD-ключа из exe-файла. Пишу на C# простой установщик игры со всеми патчами и дополнениями, но помимо ключей реестра необходимо еще и позволить пользователю вводить свой CD-ключ, а записывается он в реестр пройдя некий алгоритм шифрования (банальный hex-bin не подойдет).... подробнее

Показать сообщение отдельно
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
30.08.2013, 21:15     const_cast для чего и как функционирует
Цитата Сообщение от VLK Посмотреть сообщение
что то я не совсем понимаю, когда есть слово const, это значит что значение изменять нельзя, тут вроде как я const снимаю, но при этом все равно не могу менять значение, в чем смысл?
Ну я знаю один случай, когда смысл есть: когда есть несостыковки в типизации; например (утрированный пример), тебе надо использовать "левую" ф-ю, которая принимает аргументом char *:
C++
1
size_t count_vowels(char * str);
Ты в принципе знаешь, что строку она не меняет, просто её автор решил, что "const ненужно". Поэтому тебе надо просто получить переменную без const в типе, что бы "обойти" статическую типизацию:
C++
1
2
char const* str = "...";
count_vowels(const_cast<char *>(str));
Из за const_cast str не перестанет быть указателем на константу, и изменять то, на что он указывает (и, соответственно, то, на что указывает результат const_cast), черевато; ты просто как бы говоришь компилятору: "я знаю, что я делаю, не мешай".
 
Текущее время: 16:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru