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

realloc - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Составить программу определения минимального среди 5 введенных целых чисел. http://www.cyberforum.ru/cpp-beginners/thread288292.html
Плз помогите составить текст программы,на Си Обход. Составить программу определения минимального среди 5 введенных целых чисел.
C++ перегрузка виртуальных функций please HELP! перегружаю виртуальную функцию в абстрактном классе. class ONE { virtual std::string FUN(const std::string& value); virtual ~ONE(); } http://www.cyberforum.ru/cpp-beginners/thread288286.html
Массивы и указатели C++
Здравствуйте! Задача по теме указатели.Есть 2 массива размер которого получаем от пользователя. Написать функцию которая получает 2 массива и создает третий массив, размером первый + второй. В main эти значения показываем. Спасибо! Делаю и делаю....:), но понял что я не близок к истине :( #include "stdafx.h" #include <iostream> using namespace std;
C++ Структуры
Сформировать массив, содержащий сведения о количестве изделий категорий A,B,C, собранных рабочим за месяц. Структурный тип содержит поля: фамилия сборщика, наименование цеха, количество изделий по категориям, собранных рабочим за месяц. Считая заданными значения расценок SA, SB, SC за выполненную работу по сборке единицы изделия категорий A, B, C, выдать на печать следующую информацию: -общее...
C++ постфиксный, и префиксный экземпляры оператора приращения в чем разница http://www.cyberforum.ru/cpp-beginners/thread288254.html
постфиксный, и префиксный экземпляры оператора приращения в чем разница? i++ ++i ??
C++ добавить элементы в очередь. найти максимальный элемент. Нужна Ваша помощь! пожалуйста, помогите доработать программу, а то у меня совсем ничего не получается(( задача такая: в файле лежат элементы. добавить в очередь. найти максимальный элемент. Спасибо за помощь)) #include <iostream> #include <fstream> using namespace std; void pushQueue (Queue *&h, Queue *t, int i) { Queue *p=new Queue; p->inf=i; подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
04.05.2011, 11:32     realloc
Не знаю, как у тебя - у меня все работает:
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#include <iostream>
#include <cstdlib>
#include <stdexcept>
 
namespace my
{
    template <class T>
    class stack
    {
    private:
    T* buf;
    size_t sz;
    public:
    stack();
    ~stack();
    void push(const T&);
    T pop();
    size_t size() const;
    bool empty() const;
    };
 
    template <class T>
    stack<T>::stack()
    : buf(NULL), sz(0)
    {
    }
 
    template <class T>
    stack<T>::~stack()
    {
    if(buf)
        free(buf);
    }
 
    template <class T>
    void stack<T>::push(const T& val)
    {
    ++sz;
    if((buf = (T*) realloc(buf, sizeof(T) * sz)) == NULL)
        throw std::runtime_error("Can't allocate memory");
 
    buf[sz - 1] = val;
    }
 
    template <class T>
    T stack<T>::pop()
    {
    if(!sz)
        throw std::runtime_error("Stack is empty");
    
    return buf[--sz];
    }
 
    template <class T>
    size_t stack<T>::size() const
    {
    return sz;
    }
 
    template <class T>
    bool stack<T>::empty() const
    {
    return sz == 0;
    }
}
 
int main()
{
    my::stack<int> stack;
    for(int i = -3; i <= 3; ++i)
    stack.push(i);
 
    while(!stack.empty())
    std::cout << stack.pop() << std::endl;
 
    return 0;
}
И на будущее - в С++ немножко другие средства для работы с памятью, нежели realloc, malloc и иже с ними
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru