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

Повреждение кучи - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Рекурсивная функция вычисления разрядности числа в двоичном виде http://www.cyberforum.ru/cpp-beginners/thread673016.html
Есть неработающий код: #include <iostream> using namespace std; unsigned char capacity (unsigned char number) { if (number == 0 || number == 1) return 1;
C++ Не могу собрать проект в exe (MVS2012) Использую mvs2012. Никак не могу понять, как собрать проект в готовый exe. Нажимал там всякие компиляции, сборки, отладку в режиме релиза. Потом заходил в папку компилятора в моих документах. Там искал exe своей проги в папках дебаг и релиз. Конечно на моем компе они(exe) запускаются. Но как только передаю этот экзешник кому-нибудь из друзей для проверки у них на компе - не запускается. Чувство,... http://www.cyberforum.ru/cpp-beginners/thread673014.html
C++ Файлы
freopen("rpq.in", "r", stdin); freopen("rpq.out", "w", stdout); К какому каталогу будет обращаться программа Vc++
C++ Время выполнения
Скажите, как я могу сравнить время выполнения 2 функций? Желательно сразу готовый код.
C++ Сортировка Шелла http://www.cyberforum.ru/cpp-beginners/thread673005.html
Скажите пожалуйста какой из вариантов лучше использовать для реализации сортировки Шелла? Второй вариант меня смущает тем, что там больше функций? Это сильно замедлит работу по сравнению с первым вариантом? 1 вариант: int increment(long inc, long size) { // inc массив, в которые заносятся инкременты // size размерность этого массива int p1, p2, p3, s;
C++/CLI WinForms Что значит эта строка this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click);только пожалуйста расскажите подробно.Заранее спасибо подробнее

Показать сообщение отдельно
bytephone32
1 / 1 / 0
Регистрация: 08.08.2012
Сообщений: 21
18.10.2012, 19:28  [ТС]     Повреждение кучи
Croessmah, но в данном случае память будет выделяться последовательно? Каждая структура будет размещаться сразу же за предыдущей структурой?

Может будет безопаснее создать, так:

C++
1
2
typedef TR* FIELD;
typedef TR** DATABASE;
в DATABASE будет хранится адрес на FIELD на структуру. в Самом FIELD уже адрес самой структуры.

Добавлено через 35 минут
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <memory>
 
 
typedef void* FIELD;
typedef void** DATABASE;
 
static int fieldCnt = 0;
 
struct TR
{
    int i;
    int k;
};
 
// Create table of database
DATABASE CreateTable ( void );
 
//Add field
void AddField ( DATABASE& );
 
int main()
{
    DATABASE db;
 
    db = CreateTable ( );
 
    AddField(db);
    AddField(db);
    AddField(db);
    AddField(db);
 
    cout<<((TR*)db + fieldCnt)->i;
 
    //ShowTable ( db );
 
    //DeleteTable ( db );
 
    system("pause");
    return 0;
}
 
DATABASE CreateTable ( void )
{
    return (DATABASE) malloc ( sizeof ( FIELD ) );
}
 
void AddField ( DATABASE& db )
{
    //aloccated memory for our struct in last field;
    *(db + fieldCnt) = (TR*) malloc ( sizeof ( TR ) );
    //input data
    printf ( "Input day: " );
    scanf ( "%d", &((TR*)db + fieldCnt)->i );
    //
        //как тут нам расширить память для указателей для структур???
    *db = ( FIELD ) realloc ( *db, ( ++fieldCnt + 1 ) * sizeof ( FIELD ) );
}
Добавлено через 20 минут
т.е. в db всегда должен хранится адресс на первый байт массива указателей на структуры, и должен равнятся всегда одному значению, которое ему досталось после выполнения функции CreateTable ( );
 
Текущее время: 06:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru