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

Работа с Heap - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Есть текст. Требуется(мне) написать программу для вывода каждого слова в столбик и рядом, чтоб было написано, сколько раз упоминается в тексте http://www.cyberforum.ru/cpp-beginners/thread195153.html
Мои очередные жалкие попытки написать код: #include <sstream> #include <iostream> #include <string> #include <fstream> #include <stdio.h> using namespace std; int main() { ifstream...
C++ Отсортировать слова в строке! Есть множество слов, упорядочить их так, чтобы буква, на которую слово заканчивается, начинало следующее http://www.cyberforum.ru/cpp-beginners/thread195148.html
C++ метод-доступа, класс, объекты
из книги С++ за 21 день Джесса Либерти Если объявить класс Cat с закрытым членом itsAge, а затем определить два объекта Cat с именами Frisky и Boots, то может ли объект Boots получить доступ к...
Вывод числа в столбик (без использования строковых переменных) C++
Дано натуральное число N. Не используя строковые переменные, вывести в столбик это число. Для решения использовать функции целочисленного деления и вычисления остатка от деления целых чисел.
C++ Найти сумму дополнительных чисел побочной диагонали матрицы http://www.cyberforum.ru/cpp-beginners/thread195142.html
Всем привет Ну для начала хотелось бы сказать, что это лучший сайт и форум который я когда-либо видел и всем кто мне помагал и остальным хотелось бы сказать огромное спасибо):) А теперь...
C++ Критично ли использование goto при выходе из циклов? #include <conio.h> #include <iostream.h> void main() { int a,n,i,s=0; cout<<"\tInput n<=20"<<endl; cin>>n; cout<<"\n\t Massiv A"<<endl; for(i=0;i<n;i++) { подробнее

Показать сообщение отдельно
Saiberg
19 / 19 / 1
Регистрация: 23.09.2010
Сообщений: 193

Работа с Heap - C++

21.11.2010, 23:43. Просмотров 1247. Ответов 1
Метки (Все метки)

Помогите найти ошибку а то я что-то уже зае****

Так работает
C++
1
2
3
4
5
6
7
8
9
10
11
12
    if(!data){//первый вызов функции
        if(data=(uchar*)my::malloc(newDataSize)){
            my::memcpy(data,newData,newDataSize);
            dataSize=newDataSize,totalAllocSize=newDataSize;
        }
    }
    else{
        if(data=(uchar*)my::realloc(data,newDataSize+dataSize)){
            my::memcpy(data+dataSize,newData,newDataSize);
            dataSize+=newDataSize;
        }
    }
Так нет (else блок меняем)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//else{
    //  if(newDataSize<totalAllocSize-dataSize){//если хватает выделенной до этого памяти
    //      my::memcpy(data+dataSize,newData,newDataSize);
    //      dataSize+=newDataSize;
    //  }
    //  else{//переаллокация
    //      uint allocSize=totalAllocSize/2;
    //      if(allocSize<newDataSize) allocSize=newDataSize;//если не хватает половины памяти выделенной до этого
    //      if(data=(uchar*)my::realloc(data,allocSize+dataSize)){
    //          my::memcpy(data+dataSize,newData,newDataSize);
    //          dataSize+=newDataSize;
    //          totalAllocSize+=allocSize;
    //      }
    //  }
    //}
если во втором варианте убрать
my::memcpy(data+dataSize,newData,newDataSize);
отсюда
C++
1
2
3
if(newDataSize<totalAllocSize-dataSize){//если хватает выделенной до этого памяти
    //      my::memcpy(data+dataSize,newData,newDataSize);
    //      dataSize+=newDataSize;
то программа хотя бы не падает. Видимо пишу за границы выделенной памяти но не понимаю где ошибаюсь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.