Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
17.01.2015, 09:44
|
|||
|---|---|---|---|
|
|||
Указатель на константу |
|||
|
#18+
Привет. Читаю про С++ и не понимаю вот чего: Код: plaintext 1. 2. 3. 4. Т.е. можно (ну, правда, не напрямую) изменить значение объекта. Это из разряда "сделать можно, но никто никогда так не делает", "говнокод" и т.д.??? Или чего-то не догоняю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.01.2015, 10:06
|
|||
|---|---|---|---|
Указатель на константу |
|||
|
#18+
const обычно используют для передачи указателей в параметрах, это указывает на то что вызываемая функция не изменит значения по указателю. Ну и компилятор контролирует чтобы это не произошло. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Раcкомментируй строку *x = 25; и не скомпилируется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.01.2015, 11:04
|
|||
|---|---|---|---|
|
|||
Указатель на константу |
|||
|
#18+
JackARoeИли чего-то не догоняю? Ты не догоняешь, что у тебя нет константы. У тебя есть обычная переменная и вполне естественно, что её значение можно изменять. Объяви static const int i и почувствуй разницу. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.01.2015, 11:15
|
|||
|---|---|---|---|
|
|||
Указатель на константу |
|||
|
#18+
вроде утряслось. это помогло const обычно используют для передачи указателей в параметрах... .... у тебя нет константы. У тебя есть обычная переменная Дмитрии, спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.01.2015, 12:36
|
|||
|---|---|---|---|
Указатель на константу |
|||
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.01.2015, 12:56
|
|||
|---|---|---|---|
Указатель на константу |
|||
|
#18+
JackARoeТ.е. можно (ну, правда, не напрямую) изменить значение объекта. У тебя объект i объявлен как Код: plaintext 1. почему же его нельзя менять ? JackARoeЭто из разряда "сделать можно, но никто никогда так не делает", "говнокод" и т.д.??? Или чего-то не догоняю? Нет, это из разряда "ты чего-то не догоняешь". Через неконстантную ссылку и указатель объект менять можно. Через константную ссылку и указатель -- нельзя. Точнее надо говорить так: ссылка на константный объект, указатель на константный объект, потому что ещё и указатель может быть сам константный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.01.2015, 13:24
|
|||
|---|---|---|---|
|
|||
Указатель на константу |
|||
|
#18+
MasterZiv, ага, осознал уже. и вам спасибо. а вот глубину комментария mayton'а не осознал - это типа если мне нужно такое ничем неизменяемое значение, то определять его дефайном? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.01.2015, 13:48
|
|||
|---|---|---|---|
Указатель на константу |
|||
|
#18+
Это классика брат. Как раз для самых неизменяемых констант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.01.2015, 19:12
|
|||
|---|---|---|---|
Указатель на константу |
|||
|
#18+
JackARoeMasterZiv, ага, осознал уже. и вам спасибо. а вот глубину комментария mayton'а не осознал - это типа если мне нужно такое ничем неизменяемое значение, то определять его дефайном? в общем это шутка такая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.01.2015, 20:32
|
|||
|---|---|---|---|
|
|||
Указатель на константу |
|||
|
#18+
maytonЭто классика брат. Как раз для самых неизменяемых констант.С появлением ключевого слова const использовать директиву препроцессора define нужно осмысленно, а не потому, что "классика". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.01.2015, 02:47
|
|||
|---|---|---|---|
|
|||
Указатель на константу |
|||
|
#18+
MasterZivв общем это шутка такая. Не, mayton просто заразился от самизнаетекого ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.01.2015, 12:14
|
|||
|---|---|---|---|
Указатель на константу |
|||
|
#18+
Это диалектический спор на тему что было первым - курца или яйцо является константой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.01.2015, 13:24
|
|||
|---|---|---|---|
|
|||
Указатель на константу |
|||
|
#18+
Обычно то, что засунуто в define, считается литералом. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.01.2015, 14:15
|
|||
|---|---|---|---|
Указатель на константу |
|||
|
#18+
общедоступная интернет-энциклопедия Литерал (англ. literal — константа) — запись в исходном коде компьютерной программы, представляющая собой фиксированное значение. Литералами также называют представление значения некоторого типа данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.01.2015, 15:47
|
|||
|---|---|---|---|
|
|||
Указатель на константу |
|||
|
#18+
Доброго времени суток. Dima Tconst обычно используют для передачи указателей в параметрах, это указывает на то что вызываемая функция не изменит значения по указателю. Ну и компилятор контролирует чтобы это не произошло. каким образом компилятор это контролирует ? Неужели перед каждой операцией присваивания, проверяет характеристики объекта по которому происходит попытка записи ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.01.2015, 15:50
|
|||
|---|---|---|---|
|
|||
Указатель на константу |
|||
|
#18+
SashaMercuryкаким образом компилятор это контролирует ?При компиляции исходного текста. При большом желании - может упихнуть всё константное на страницы "только для чтения". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.01.2015, 15:54
|
|||
|---|---|---|---|
|
|||
Указатель на константу |
|||
|
#18+
Да, это происходит во время компиляции, но как именно ? Или в каждом компиляторе по своему ? И у меня есть такое чувство, что раньше ошибки такого рода отлавливались во время выполнения. Так ли это ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.01.2015, 16:34
|
|||
|---|---|---|---|
|
|||
Указатель на константу |
|||
|
#18+
SashaMercuryДа, это происходит во время компиляции, но как именно ?Ну, например, константное значение не может оказаться слева от оператора присваивания или быть передано аргументом, если у прототипа функции нет модификатора const для этого аргумента. Всё это не требует поддержки времени выполнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.01.2015, 06:15
|
|||
|---|---|---|---|
|
|||
Указатель на константу |
|||
|
#18+
Basil A. Sidorov, смутно понял. Спасибо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.01.2015, 22:23
|
|||
|---|---|---|---|
Указатель на константу |
|||
|
#18+
SashaMercuryДа, это происходит во время компиляции, но как именно ? Или в каждом компиляторе по своему ? Ну, в теории это одинаково во всех компиляторах: грамматика языка известна, строятся AST и если не получается составить корректное выражение - например, константное значение слева от оператора присваивания - то, фьюить, ошибка компиляции. Как оно на практике реализовано в каждом компиляторе, знают только их разработчики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&tablet=1&tid=2019145]: |
0ms |
get settings: |
13ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
124ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 16ms |
| total: | 249ms |

| 0 / 0 |
