Провокационны пост и вопрос, спору нет. В этом разделе предлагаю для обсуждения.
Даже не знаю с чего начать...
Скажем так, многие считают, что "так называемые динамические массивы" должны создаваться, всенепременно с оператором new.
А некоторые персонажи всерьез (не безосновательно) считают что динамических массивов в С++ не существует вовсе. По достаточно просто причине, что в поле класса мы не можем создать массив произвольной величины. Так как все поля должны быть объявлены до запуска конструктора... И создать массив мы можем только с предустановленной[константно] величиной.
Ну это скажем так первый момент.
Второй момент заключается в ошибке компилятора, у которого возникают сомнения о том что массив может быть инициализирован нулевым значением. Это(гипотетически) возможно, если размер массива мы передаем аргументом функции или метода. Указатель массива не может (быть нулевым)то есть указывать на самого себя, тут вопросов нет.
И если мы попытаемся перевести то что нам пишет компилятор, то окажется что он не может индентифицировать массив(так как есть сомнения что указатель указывает на самого себя).
Фикус в том, что при создании динамического массива, следуя указанием компилятора, мы можем увеличить безызвестную переменную X на +1 и тем самым в корне исключим ситуацию когда ссылка на первый элемент массива будет ссылается на самого себя.
И все тут вроде хорошо и отлично, но персонажи в тырнете, считают, или даже скажем точнее они обходят данную ошибку, тем что создают указатель, и указателю присваивают указатель на массив. Ну не без оператора new. И все это воспроизводится, что именно так, а ни как иначе должен создаваться динамически массив.
И этому посвящено ну множество страниц в ключе оператора new. При том что как мне кажется, они даже в далеке не понимают смысла оператора new/
Если у кого-то есть мнение, такое или иное, я предлагаю обсудить
Даже не знаю с чего начать...
Скажем так, многие считают, что "так называемые динамические массивы" должны создаваться, всенепременно с оператором new.
А некоторые персонажи всерьез (не безосновательно) считают что динамических массивов в С++ не существует вовсе. По достаточно просто причине, что в поле класса мы не можем создать массив произвольной величины. Так как все поля должны быть объявлены до запуска конструктора... И создать массив мы можем только с предустановленной[константно] величиной.
Ну это скажем так первый момент.
Второй момент заключается в ошибке компилятора, у которого возникают сомнения о том что массив может быть инициализирован нулевым значением. Это(гипотетически) возможно, если размер массива мы передаем аргументом функции или метода. Указатель массива не может (быть нулевым)то есть указывать на самого себя, тут вопросов нет.
И если мы попытаемся перевести то что нам пишет компилятор, то окажется что он не может индентифицировать массив(так как есть сомнения что указатель указывает на самого себя).
Фикус в том, что при создании динамического массива, следуя указанием компилятора, мы можем увеличить безызвестную переменную X на +1 и тем самым в корне исключим ситуацию когда ссылка на первый элемент массива будет ссылается на самого себя.
И все тут вроде хорошо и отлично, но персонажи в тырнете, считают, или даже скажем точнее они обходят данную ошибку, тем что создают указатель, и указателю присваивают указатель на массив. Ну не без оператора new. И все это воспроизводится, что именно так, а ни как иначе должен создаваться динамически массив.
И этому посвящено ну множество страниц в ключе оператора new. При том что как мне кажется, они даже в далеке не понимают смысла оператора new/
Если у кого-то есть мнение, такое или иное, я предлагаю обсудить