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

Освободить память и записать по новой - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ как сделать , что бы при вводе слова "Minsk" у меня выполнялось действие? http://www.cyberforum.ru/cpp-beginners/thread1018529.html
Вообщем я не могу понять , как сделать , что бы при вводе слова "Minsk" у меня выполнялось действие?Мне нужно сделать так, что бы при вводе названия города , у меня выводилось количество свободных...
C++ Дано целое число X произвольной разрядности. Опреде-лить, сколько раз в числе встретилась каждая десятичная цифра. Дано целое число X произвольной разрядности. Опреде-лить, сколько раз в числе встретилась каждая десятичная цифра.с пояснениями Пожалуйста http://www.cyberforum.ru/cpp-beginners/thread1018521.html
Компьютерная графика C++
Здравствуйте , ни как не могу разобраться , надо добавить еще 1 линию проходящую через квадрат а не получается..., помогите пожалуйста. Вот код программы: #include <time.h> #include <stdio.h>...
C++ Int** a или зачем ** ?
Существует программа для перемножения двух матриц. В ней используется подобное объявление переменных. Хотелось бы понять, для чего, и с какой целью. Устал искать информацию, решил спросить у вас....
C++ Сдвиг нулей в конец массива http://www.cyberforum.ru/cpp-beginners/thread1018474.html
Извините, если данная тема уже поднималась(к сожалению, я таковой на C++ не нашёл). Суть задачи: нужно отсортировать элементы массива таким образом, чтобы нули сдвинулись в конец, а все остальные...
C++ Зацикливание Всем доброго времени суток. Написал прогу по определению кратности второго числа относительно первого. // Кратность второго числа по отношению к первому #include "stdafx.h" #include <conio.h> ... подробнее

Показать сообщение отдельно
ViktorKozlov
133 / 125 / 2
Регистрация: 13.12.2012
Сообщений: 293
25.11.2013, 23:18
Кривовато у вас как-то все..
C++
1
2
3
4
if(Name!=NULL){
        char *Name = new char[];
        delete[] Name;
    }
Здесь, если Name указывает на строку, вы сразу выделяете память под новую строку и тут же ее удаляете. Нелогично как-то. Это во первых. Далее, указатель на старую строку при этом теряется, так как затирается указателем на новую строку, и освободить память вы при этом уже никак не сможете. В третьих,
C++
1
new char[];
так писать нельзя, да и компилятор это запретит, так как он должен знать, под какого размера массив выделять память. В четвертых, непонятно назначение этой строки
C++
1
Name[25] = *new char[strlen(Name)+1];
которая выполняется при условии, что указатель на строку пустой, т.е. равен NULL. А вы еще пытаетесь вычислить длину строки, на которую указывает этот указатель, а при этом указатель в принципе никуда не указывает.
И последнее,
C++
1
strcpy_s(Name, Name);
копирование строки в саму себя. Идея, в принципе, интересная, но смысловой нагрузки опять же никакой не несет
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru