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

Список С++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ невозможно преобразовать параметр 1 из "int" в "int *&" http://www.cyberforum.ru/cpp-beginners/thread929023.html
#include <iostream> using namespace std; void Func1(int *n) { cout << *n << " = " << *n << endl; } void Func2(int &n) {
C++ DLL ошибка LNK2019 Добрый день! Рассматриваю пример, Создание и использование Dll, на MSDN. Делаю все, что требуется, создал dll, создал проект, указал нужные доп. пути к файлам, но приложение выдает ошибку:... http://www.cyberforum.ru/cpp-beginners/thread929022.html
C++ Экспорт из 3d max, наложение текстуры
Здравствуйте. Проблема с наложением текстуры. С помощью библиотеки lib3ds.lib импортирую 3ds файл в программу (простой куб), накладываю текстуру. Текстура независимо от размера (64х64 или 512х512)...
Сохранить скрин шот заданной области экрана C++
Добрый день, помогите пожалуйста написать программу, которая делает скриншот заданной области экрана и сохраняет в файл. Функционал минимальный, координаты прописаны жестко, программа консольная,...
C++ Как считать текст с файла ? http://www.cyberforum.ru/cpp-beginners/thread928930.html
Как считать текст с файла (например .txt) а потом в другой пустой файл записать текст с первого документа?
C++ cmd make Я понимаю, что вопрос немного не в ту ветку, но он очень тесно связан с c++. Скачивал уже не одну библиотеку, содержащую Makefile. Ни сам разобраться не смог, ни гугл не помог, в попытке собрать на... подробнее

Показать сообщение отдельно
gray_fox
What a waste!
1520 / 1223 / 70
Регистрация: 21.04.2012
Сообщений: 2,560
Завершенные тесты: 3
26.07.2013, 17:18
Цитата Сообщение от Wolkodav Посмотреть сообщение
Croessmah, а самому ручками реализовать подобное как?
как простенький вариант:
Кликните здесь для просмотра всего текста
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#include <exception>
 
 
struct any_list_bad_cast : std::exception {
 
   virtual char const* what() const noexcept override {
      return "any_list bad cast";
   }
};
 
class any_list {
 
   struct node_base {
      
      node_base() noexcept : prev(this), next(this) {}
 
      void insert_before(node_base * node) noexcept {
         prev->next = node;
         node->prev = prev;
 
         this->prev = node;
         node->next = this;
      }
 
      void insert_after(node_base * node) noexcept {
         next->prev = node;
         node->next = next;
 
         this->next = node;
         node->prev = this;
      }
 
      void erase() noexcept {
         prev->next = next;
         next->prev = prev;
         delete this;
      }
 
      virtual ~node_base() {}
 
      node_base * prev;
      node_base * next;
   };
 
   template<typename T>
   struct holder_node : node_base {
    
      explicit holder_node(T const& value) : value(value) {}
 
      T value;
   };
 
   template<typename T>
   T & cast_or_throw(node_base * node) const {
      if (auto const p = dynamic_cast<holder_node<T> *>(node)) {
         return p->value;
      }
      throw any_list_bad_cast();
   }
 
 
public:
   template<typename T>
   void push_front(T const& value) {
      head.insert_after(new holder_node<T>(value));
   }
 
   template<typename T>
   void push_back(T const& value) {
      head.insert_before(new holder_node<T>(value));
   }
 
   void pop_front() {
      head.next->erase();
   }
 
   void pop_back() {
      head.prev->erase();
   }
 
   template<typename T>
   T & front() {
      return cast_or_throw<T>(head.next);
   }
 
   template<typename T>
   T const& front() const {
      return cast_or_throw<T>(head.next);
   }
 
   template<typename T>
   T & back() {
      return cast_or_throw<T>(head.prev);
   }
 
   template<typename T>
   T const& back() const {
      return cast_or_throw<T>(head.prev);
   }
 
   bool empty() const noexcept {
      return (&head == head.next);
   }
 
   ~any_list() {
       while (!empty()) {
          pop_front();
       }
   }
 
private:
   node_base head;
};
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru