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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Хрисипп
 Аватар для Хрисипп
17 / 27 / 8
Регистрация: 09.02.2016
Сообщений: 212
#1

Почему при изменении литерала const char* программа падает? - C++

26.08.2016, 14:06. Просмотров 153. Ответов 8
Метки нет (Все метки)

точнее литерала. ладно, если бы выходил за пределы
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.08.2016, 14:06     Почему при изменении литерала const char* программа падает?
Посмотрите здесь:

C++ Невозможно преобразовать из char в const char
C++ Почему при изменении размера окна не меняется цвет заполнения?
C++ conversion from ‘char’ to ‘const char*’
C++ Программа падает при чтении из файлов
C++ Почему падает программа?
const char не инициализируется при объявлении C++
C++ Почему программа "падает" на функции заполнения дерева?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
John Prick
757 / 690 / 124
Регистрация: 27.07.2012
Сообщений: 1,975
Завершенные тесты: 3
26.08.2016, 14:09     Почему при изменении литерала const char* программа падает? #2
Где код?
Babysitter
 Аватар для Babysitter
78 / 103 / 34
Регистрация: 23.11.2015
Сообщений: 318
Завершенные тесты: 1
26.08.2016, 14:09     Почему при изменении литерала const char* программа падает? #3
а вот так не падает, странно, да?
C++
1
2
3
    char tmp[] = "hello";
    const char *x = tmp;
    tmp[0] = 'H';
HighPredator
 Аватар для HighPredator
5413 / 1796 / 327
Регистрация: 10.12.2010
Сообщений: 5,297
Записей в блоге: 3
26.08.2016, 14:09     Почему при изменении литерала const char* программа падает? #4
Код в студию
HelicopterK52
644 / 187 / 28
Регистрация: 27.07.2016
Сообщений: 475
Завершенные тесты: 1
26.08.2016, 14:11     Почему при изменении литерала const char* программа падает? #5
Цитата Сообщение от Хрисипп Посмотреть сообщение
точнее литерала.
Например, потому что литерал может быть сохранен в read-only памяти?
И вообще, если оно константно, то не нужно его менять.
Babysitter
 Аватар для Babysitter
78 / 103 / 34
Регистрация: 23.11.2015
Сообщений: 318
Завершенные тесты: 1
26.08.2016, 14:13     Почему при изменении литерала const char* программа падает? #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
распространенные ошибки
Хрисипп
 Аватар для Хрисипп
17 / 27 / 8
Регистрация: 09.02.2016
Сообщений: 212
26.08.2016, 14:18  [ТС]     Почему при изменении литерала const char* программа падает? #7
Цитата Сообщение от HighPredator Посмотреть сообщение
Код в студию
Цитата Сообщение от John Prick Посмотреть сообщение
Где код?
C++
1
2
3
4
5
6
7
char* e(char* v){
    v[0]='a';
    return v;
}
int main(){
    cout<<e("12");
}
Цитата Сообщение от HelicopterK52 Посмотреть сообщение
Например, потому что литерал может быть сохранен в read-only памяти?
я вот про это и подумал
HelicopterK52
644 / 187 / 28
Регистрация: 27.07.2016
Сообщений: 475
Завершенные тесты: 1
26.08.2016, 15:19     Почему при изменении литерала const char* программа падает? #8
Хрисипп, в Вашем коде также есть небольшая "какашка" - у Вас на литерал "указывает" не константный указатель. Такое преобразование не валидно для C++.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.08.2016, 15:29     Почему при изменении литерала const char* программа падает?
Еще ссылки по теме:

C++ Падает программа при использовании DLL
C++ Почему программа падает при сортировке массивов больших размерностей
C++ Программа падает при вызове vector::begin()
C++ Динамический массив нулевого размера. Почему не падает программа?
Wincript, падает программа при получении SHA256 C++

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

Или воспользуйтесь поиском по форуму:
Хрисипп
 Аватар для Хрисипп
17 / 27 / 8
Регистрация: 09.02.2016
Сообщений: 212
26.08.2016, 15:29  [ТС]     Почему при изменении литерала const char* программа падает? #9
Цитата Сообщение от HelicopterK52 Посмотреть сообщение
у Вас на литерал "указывает" не константный указатель
да я такими вещами не занимаюсь. просто сейчас вспомнил про это и решил точно выяснить
Yandex
Объявления
26.08.2016, 15:29     Почему при изменении литерала const char* программа падает?
Ответ Создать тему
Опции темы

Текущее время: 06:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru