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

Почему изменение элемента массива, который был объявлен с размером [] - это UB? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибка: "Expression must be modifiable lvalue" http://www.cyberforum.ru/cpp-beginners/thread993180.html
Всем привет. Есть одна проблемка. vs2010 выдает ошибку в строке 20 Error: Expression must be modifiable lvalue. Также в строке 51 Error: Expression must have pointer-to-object type. В чем проблема? Помогите, пожалуйста! #include <iostream> using namespace std; class Bubble { public: int N; int M;
C++ Преобразование строки в имя типа Дали задание - разработать контейнер. С этим проблем не было, но далее для тестирования понадобилось каким-то образом ввести тип данных, хранящихся в нём с клавиатуры. Даже не представляю как это сделать, может кто-то сталкивался с такой проблемой? Может это вообще не возможно в С++.. Гуглил - ничего не получилось.. Оригинал задания: Тестирование операций через меню выполняется для BST -... http://www.cyberforum.ru/cpp-beginners/thread993178.html
C++ Как регулярно считывать последнюю строку в файле
Добрый день. Имеется текстовый файл. Он постоянно обновляется и в его конец дописываются строки. Необходимо считывать новую строку непосредственно в string, как только она появляется в файле. Вот и вопрос: как это реализовать? Считывать все по порядку до последней строки - не самая лучшая идея, ибо файл может быть большим и это не самый оптимальный вариант. А вот как сразу считать последнюю...
C++ Заменить все пробелы на запятые, а запятые на точки. Посчитать количество запятых во введенной строке
Во введенной строке заменить все пробелы на запятые, а запятые на точки. Посчитать количество запятых во введенной строке. Нужно написать программу. Заранее благодарен.
C++ Построить алгоритм декодирования сообщений закодированных кодом простым повторением http://www.cyberforum.ru/cpp-beginners/thread993153.html
Построить алгоритм декодирования сообщений закодированных кодом простым повторением. Можете объяснить что от меня хотят, или как его написать?
C++ Программа по классам. Вообще ничего не получается, хотя с виду все просто Создать класс «арифметическое выражение» с компонентными данными: 1-й аргумент, 2-й аргумент, знак арифметического выражения (перечислимого типа – ‘+’, ‘–‘, ’*’, ‘/’). Определить компонентные функции: получение каждого элемента класса по отдельности, изменение значения операндов, вычисление значения выражения, вывод на экран в формате «арг1 операция арг2 = результат». подробнее

Показать сообщение отдельно
mzarb
-211 / 7 / 1
Регистрация: 14.01.2013
Сообщений: 141
30.10.2013, 22:58     Почему изменение элемента массива, который был объявлен с размером [] - это UB?
C++
1
2
char str[] = "zzarb";
str[0] = 'm'; // Undefined Behavior
C++
1
2
char str[6] = "zzarb";
str[0] = 'm'; // OK
Что-то я не пойму, почему тогда все нормально, если указать размер вручную, а не давать компилятору автоматически высчитать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru