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

const_cast: const и volatile - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подмассив http://www.cyberforum.ru/cpp-beginners/thread813979.html
"Подмассив" - имеется введу элемент массива или же строка/столбик массива? Заранее благодарю за ответ. Плюсану на "спасибо" тому кто подскажет. п.с. в интернете не нашел внятного ответа.
C++ сортировка предложения по алфавиту Всем привет))помогите мне пожалуйста разобраться...задание было таковым - дана прога которая сортирует слова из введенного текста по алфавиту. нужно сделать: 1)если вводятся одинаковые слова то распечатать их только один раз 2)разобраться что за сортировка и вопрос лично от меня, в каком именно месте происходит эта сортировка?? Всем огромное спасибо кто откликнулся и попытался помочь! :) вот... http://www.cyberforum.ru/cpp-beginners/thread813978.html
C++ сравнение символов в строке
Подскажите, пожалуйста, как можно сравнить каждое слово в строке с несколькими буквами (которые отдельно задаются с клавиатуры). Если начало слова совпадает с введенными буквами, то вывести слово на экран. Проблема в том, что я не знаю, как сравнивать символы 1-й с 1-м, второй со вторым, третий с третим и т.д. Насколько я понимаю, функция strcmp () сравнивает только первые символы... #include...
Перебор функций C++
Ребяяяята, в общем задача следующая...Перебрать все монотонно возрастающие функции f : -> . В интернете искал , и ничего не нашел((( может у кого-нибудь завалялся исходничек?((( :wall: выручайте
C++ Представление чисел в восьмеричной и шестнадцатеричной системах счисления http://www.cyberforum.ru/cpp-beginners/thread813965.html
У меня есть вопросы по переводу чисел из десятичной системы счисления в восьмеричную и шестнадцатеричную. Как перевести число с отрицательным знаком? С десятичной в двоичную ясно, а вот в другие системы как-то не очень.. Можете объяснить как это происходит? Или дать ссылку на соответствующую литературу!
C++ Наследование классов. Многоразрядное число Всем привет. Есть задание: Создать класс ПАРА целых чисел. Определить конструкторы, деструктор, функции доступа к полям, ввода-вывода и добавление пар по формуле (a,b)+(c,d) = (a+c,b+d). Создать производный класс многоразрядного числа с полями: старшая часть, младшая часть. Определить конструкторы по умолчанию и с разным числом параметров, деструктор, функции доступа к полям, ввода-вывода,... подробнее

Показать сообщение отдельно
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056

const_cast: const и volatile - C++

20.03.2013, 20:00. Просмотров 627. Ответов 4
Метки (Все метки)

Как известно const_cast сбрасывает наложенные ограничения при помощи модификаторов const и volatile. Как мне стало известно volatile - запрет компилятора на оптимизацию кода под область памяти помеченной этим модификатором. Но как видно в следующем коде, что применение оператора const_cast снимает ограничение исключительно модификатора const, иначе теоретически, компилятор бы оптимизировал код таким образом, что параметр переменная i не смогла бы изменить своё значение.
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
int main()
{
    volatile const int i = 5;
    int& link = const_cast<int&>(i);
 
    link = 10; 
 
    std::cout << "i=" << i << '\n'
        << "link=" << link << '\n';
}
Если кто-то в курсе в чём дело, изложите ваши мысли по этому поводу.

Добавлено через 3 минуты
как видно по результату сбрасывается модификтор const, но не volatile
Bash
1
2
3
4
ilyuha21st@coldshoot:~/Projects$ ./prog
i=10
link=10
ilyuha21st@coldshoot:~/Projects$
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
int main()
{
    const int i = 5;
    int& link = const_cast<int&>(i);
 
    link = 10; 
 
    std::cout << "i=" << i << '\n'
        << "link=" << link << '\n';
}
здесь всё верно
Bash
1
2
3
4
ilyuha21st@coldshoot:~/Projects$ ./prog
i=5
link=10
ilyuha21st@coldshoot:~/Projects$
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru