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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ как сделать , что бы при вводе слова "Minsk" у меня выполнялось действие? http://www.cyberforum.ru/cpp-beginners/thread1018529.html
Вообщем я не могу понять , как сделать , что бы при вводе слова "Minsk" у меня выполнялось действие?Мне нужно сделать так, что бы при вводе названия города , у меня выводилось количество свободных мест(inf1.mesta) #include <stdio.h> #include <conio.h> #include <iostream.h> #include<string.h> typedef struct info { char gorod; float time; int mesta;
C++ Дано целое число X произвольной разрядности. Опреде-лить, сколько раз в числе встретилась каждая десятичная цифра. Дано целое число X произвольной разрядности. Опреде-лить, сколько раз в числе встретилась каждая десятичная цифра.с пояснениями Пожалуйста http://www.cyberforum.ru/cpp-beginners/thread1018521.html
Компьютерная графика C++
Здравствуйте , ни как не могу разобраться , надо добавить еще 1 линию проходящую через квадрат а не получается..., помогите пожалуйста. Вот код программы: #include <time.h> #include <stdio.h> #include <conio.h> #include "vstub.h" float xl=50.0; // координаты углов окна отсечения float yb=50.0; float xr=250.0;
C++ Int** a или зачем ** ?
Существует программа для перемножения двух матриц. В ней используется подобное объявление переменных. Хотелось бы понять, для чего, и с какой целью. Устал искать информацию, решил спросить у вас. Сама программа: #include <iostream> #include <math.h> #include <time.h> using namespace std; int ** multiplyMatrices(int n,int m,int** a,int z,int w,int** b )
C++ Сдвиг нулей в конец массива http://www.cyberforum.ru/cpp-beginners/thread1018474.html
Извините, если данная тема уже поднималась(к сожалению, я таковой на C++ не нашёл). Суть задачи: нужно отсортировать элементы массива таким образом, чтобы нули сдвинулись в конец, а все остальные элементы сохранили свой порядок. Проблема в том, что программа заканчивается после первого "сдвинутого" нуля. Вот, что у меня получилось: int n; cout<<"Введите количество чисел:"; cin>>n; int...
C++ Зацикливание Всем доброго времени суток. Написал прогу по определению кратности второго числа относительно первого. // Кратность второго числа по отношению к первому #include "stdafx.h" #include <conio.h> #include <iostream> #include <iomanip> #include <math.h> #include <stdlib.h> #include <time.h> using namespace std; подробнее

Показать сообщение отдельно
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);
копирование строки в саму себя. Идея, в принципе, интересная, но смысловой нагрузки опять же никакой не несет
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru