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

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

Восстановить пароль Регистрация
 
Петр1
 Аватар для Петр1
3 / 1 / 1
Регистрация: 09.10.2012
Сообщений: 25
10.10.2012, 10:59     Как уменьшить размер выделенной памяти #1
Доброе утро!
пишет: переопределение формального параметра "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";
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2012, 10:59     Как уменьшить размер выделенной памяти
Посмотрите здесь:

C++ Как можно узнать размер выделенной динамической памяти, на которую ссылается указатель a?
Корректно ли освобождение выделенной памяти? C++
C++ Как добавить новой динамической памяти к уже выделенной
C++ Массив: Освобождение выделенной памяти
C++ Мусор в памяти, выделенной динамически
C++ Как обнулить указатель на одну ячейку в динамически-выделенной памяти?
C++ Освобождение памяти, выделенной через new
Удаление выделенной памяти C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Кот Ангенс
 Аватар для Кот Ангенс
317 / 267 / 37
Регистрация: 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]
Yandex
Объявления
10.10.2012, 11:22     Как уменьшить размер выделенной памяти
Ответ Создать тему
Опции темы

Текущее время: 02:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru