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

Реализация собственного умного укзателя - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Описать класс "Конус" http://www.cyberforum.ru/cpp-beginners/thread642334.html
Язык С 1. Опишите класс "Конус" Данные класса: координаты центра основания, радиус основания, высота. Конструкторы класса: конструктор по умолчанию, конструктор конуса с центром в начале координат, конструктор произвольного конуса. 2. Определите методы: ввод конуса, вывод на экран, определение площади поверхности, определение объёма конуса. 3.Объявите конус с центром в начале координат и...
C++ деббагинг и отладка c++ С чего начать,о отладки вообще ничего не знаю и о дебагинге. http://www.cyberforum.ru/cpp-beginners/thread642303.html
C++ Исключения в классах
Здравствуйте. Какими средствами правильней всего сделать обработку исключений в классах? /* например, эта функция */ int SomeClass::someFunc( int some_arg ) { return some_arg * 18 } /* для нормальной работы должна получать числа от 0 до 42. Как реагировать на остальное? */
C++ как сделать консольное окно поверх всех окон
сабж было бы очень удобно дебагить если можно было бы это сделать заранее спасибо
C++ [c++] fgets не могу понять почему это не работает http://www.cyberforum.ru/cpp-beginners/thread642263.html
Вообщем на диске C:\ лежит 3 файла 1 Файл test.txt 2 Файл 1.dll 3 Файл 2.dll в test.txt записано: 1.dll 2.dll
C++ Отобразить указанное число строк со звездочками, с одной звездочкой в первой строке, двумя — во второй и т.д Вот задача: Напишите программу, использующую вложенные циклы, которая запрашивает у пользователя значение количества строк для отображения. Затем она должна отобразить указанное число строк со звездочками, с одной звездочкой в первой строке, двумя — во второй и т.д: В каждой строке звездочкам должны предшествовать точки — в таком количестве, чтобы общее число символов в каждой строке... подробнее

Показать сообщение отдельно
softmob
1248 / 698 / 155
Регистрация: 20.02.2010
Сообщений: 1,035
27.08.2012, 01:31     Реализация собственного умного укзателя
немного переделал под работу на основе счетчика пользователей
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
template <class Object>
class HasPtr
{
public:
    explicit HasPtr(Object* p = nullptr): ptr(p), use(size_t new(1))
    {}
 
    HasPtr(const HasPtr& a): ptr(a.ptr), use(a.use)
    {
        ++*use;
    }
 
    ~HasPtr()
    {
        decr_use();
    }
 
    HasPtr& operator= (const Smart_ptr& rhs)
    {
        ++*rhs.use;
        decr_use();
        ptr = rhs.ptr;
        use = rhs.use;
        return *this;
    }
 
    Object &operator*() const
    {
        return *ptr;
    }
 
    Object *operator->() const
    {
        return ptr;
    }
 
    Object* get() const
    {
        return ptr;
    }
 
    Object* release()
    {
        Object* tmp(ptr);
        ptr = nullptr;
        *use = 1;
        return tmp;
    }
 
    void reset(Object* p = nullptr)
    {
        decr_use();
        *ptr = p;
        *use = 1;
    }
private:
    void decr_use()
    {
        if (--*use == 0)
            delete ptr, delete use;
    }
    Object *ptr;
    size_t *une;
};
p.s. не пользовался умными указателями, их реализацию тоже до этого не писал. возможно что то не так...
 
Текущее время: 01:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru