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

функции на основе realloc, malloc - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти наибольший прямоугольник в матрице состоящий из четных чисел http://www.cyberforum.ru/cpp-beginners/thread1081075.html
Дана матрица натуральных чисел. Найти наибольший прямоугольник в матрице состоящий из четных чисел.
C++ Нужно реализовать класс Бинарное дерево. Нужно реализовать класс Бинарное дерево. Вот класс template <class T> class Tree { private: class Item{ friend Tree; Item* parent; Item* left; Item* right; http://www.cyberforum.ru/cpp-beginners/thread1081072.html
Ha BorlandC++ C++
Cделать большими все буквы в тех словах, в которых есть по крайней мере одна пара подряд идущих гласных слов.
C++ Оптимизация лифта
пишу программу к курсовому. саму программу нашел, но выдает неправильное решение. просто не могу понять как связаны между собой функции и что вводить в main. Буду презнателен если кто поможет!...
C++ Печать римских цифр http://www.cyberforum.ru/cpp-beginners/thread1081034.html
Друзья, помогите, пожалуйста. Второе задания
C++ Непонятны "()" в ооп Подскажите, пожалуйста, когда нужно в ( ) что-то вставлять, а когда нет? Желательно, на примере.разжуйте, пожалуйста! Спасибо. подробнее

Показать сообщение отдельно
FinancialShark
2 / 2 / 0
Регистрация: 24.01.2014
Сообщений: 42
26.01.2014, 09:15  [ТС]
Называется Помоги себе САМ!!!!

и так, если кому понадобится то вот два способа:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
//1)
template<typename TYPE>
TYPE ArrayReSize(void *Memory, uint NewSize)
{
    return realloc(Memory, sizeof(&TYPE)*NewSize)
}
 
//2)
#define ReSize(Memory, NewSize, Type) (Type *)realloc(Memory,sizeof(Type)*NewSize)
 
//И тоже самое для 
calloc
malloc
Добавлено через 2 минуты
Цитата Сообщение от MrGluck Посмотреть сообщение
Первую скобку можно смело убрать, компилятор С сам приведет сырую память к нужному типу.
По поводу вторых - можно указывать (*Array)

Упс, ветки то не те. Тогда везде (*Array), но лучше все-таки new/delete используйте.

Mr.Gluck
а как вы будете использовать
C++
1
new/delete
если у Вас массив указателей на абсолютно разные производные классы от базового, и что если вам надо добавить в этот массив элементы без потери старых?

Добавлено через 2 часа 4 минуты
Небольшая поправка
C++
1
2
3
4
5
6
7
8
template<typename TYPE> TYPE* ArrayReSize(void *Memory, size_t NewSize)
{
    return (TYPE*)realloc(Memory, sizeof(TYPE)*NewSize)
}
 
//вызов функции выглядит так:
int **Array;
Array = ArrayReSize<int*>(Array, "новый размер");
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.