С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Петр1
3 / 1 / 1
Регистрация: 09.10.2012
Сообщений: 25
#1

Как уменьшить размер выделенной памяти - C++

10.10.2012, 10:59. Просмотров 590. Ответов 2
Метки нет (Все метки)

Доброе утро!
пишет: переопределение формального параметра "text"
подскажите пожалуйста как уменьшить размер выделенной памяти под text.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
void funk(char *&text){
    int count, count_text=0;
    char *text1=new char[256];
    count=strlen(text);
    for(int i=0, j=0; i<count; i++){
        if(text[i]!=' ' && (text[i+1]==' ' || text[i+1]=='\0')){
            count_text++;
        }
        if(text[i]!=' ' || (text[i]==' ' && text[i+1]!=' ' && text[i+1]!='\0' && i!=0 && j!=0)){
            text1[j]=text[i];
            j++;
            text1[j]='\0';
        }
    }
    delete[] text;
    count=strlen(text1);
    char *text=new char[count+1];
    strcpy(text, text1);
 
    delete[] text1;
    cout<<"\n"<<count_text<<"\n";
}
 
void main(){
    char *text=new char[256];
    gets(text);
 
    funk(text);
 
    puts(text);
    cout<<(sizeof text)<<"  \n";
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2012, 10:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как уменьшить размер выделенной памяти (C++):

Как можно узнать размер выделенной динамической памяти, на которую ссылается указатель a? - C++
Скажем я в какой-то момент выделяю память под массив: int *a = new int ; затем память может изменяться как-то и конечный размер мне не...

Как уменьшить размер exe файла? - C++
Всем привет, начал изучать c++ и меня очень смутило то, что exe файл даже простого hello world весит 542кб!? я просто не могу понять,...

Как добавить новой динамической памяти к уже выделенной - C++
Добрый вечер! У меня есть следующий вопрос: Допустим я выделил для некоторой строки память char *p; p = new char ; Поработал...

Как склеить два куска динамически выделенной памяти? - C++
Есть такой код char *arr = (char *) malloc(1); char *plus = (char *) malloc(25); arr = memcpy(arr + 1, plus, 25); Вопрос: можно ли...

Как обнулить указатель на одну ячейку в динамически-выделенной памяти? - C++
Выделю память под 10 элементов: int* p = new int; Наполняю значениями: for(int i = 0; i&lt;10; i++) { p = i; } Можно...

Удаление выделенной памяти - C++
#include &lt;iostream&gt; using namespace std; int main() { int localVariable = 5; int * pLocal=...

2
Кот Ангенс
318 / 268 / 38
Регистрация: 24.05.2012
Сообщений: 629
10.10.2012, 11:12 #2

Не по теме:

В разделе C висит тема с вопросом по C++ в теге C#...

Цитата Сообщение от Петр1 Посмотреть сообщение
void funk(char *&text)
Зачем здесь передача по ссылке? Просто char* text.
И да, func.
Цитата Сообщение от Петр1 Посмотреть сообщение
char *text=new char[count+1];
text = new char[count + 1];
1
Петр1
3 / 1 / 1
Регистрация: 09.10.2012
Сообщений: 25
10.10.2012, 11:22  [ТС] #3
после удаления delete[] text; я потеряю адрес text, а так я его не теряю.

я и не мог предположить что так можно, спасибо огромное, работает, но ссылку оставил как есть )
text=new char[count+1]
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2012, 11:22
Привет! Вот еще темы с ответами:

Удаление выделенной памяти - C++
есть такой класс: выделяю память под element *ptemp = new element; и iris *temp = new iris; нужно ли отдельно удалять new iris?? ...

Мусор в памяти, выделенной динамически - C++
Есть код, выполняет разархивацию файла, закодированного LZ77. Вот его основная часть: цикл в котором проверяется каждый бит в маске и...

Корректно ли освобождение выделенной памяти? - C++
Извиняюсь, если такой вопрос уже звучал. Допустим есть такой кусок кода: struct A { int *x; } *b; void main() { b = new A;...

Выход за границу выделенной памяти - C++
Какие операции (кроме записи) за пределами выделенной памяти приводят к UB?


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.