powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Массив из HRGN
9 сообщений из 9, страница 1 из 1
Массив из HRGN
    #39406117
Подскажите, пожалуйста, каким образом создать динамический массив из HRGN?

Пробовал так:
Код: plaintext
1.
2.
3.
int i;
HRGN *R;
R = new HRGN(i); // ругается: Cannot convert 'int' to 'void *'



Спасибо!
...
Рейтинг: 0 / 0
Массив из HRGN
    #39406130
alexy_black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
std::vector ?
...
Рейтинг: 0 / 0
Массив из HRGN
    #39406133
alexy_black, извиняюсь, в плюсах ноль, поэтому Ваш намек не схватил... Не уточните?
...
Рейтинг: 0 / 0
Массив из HRGN
    #39406134
alexy_black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в этом коде создан один объект на куче типа HRGN, который в конструкторе получил переменную i типа int.
массив создается по-другому.
динамического массива не существует. это только такая абстракция, которая представляет из себя укатель на первый элемент и размер выделенной памяти. если я не ошибаюсь, страуступ свою книгу "Язык программирования С++" начинает с того, что последовательно создает класс для такой абстракции.
...
Рейтинг: 0 / 0
Массив из HRGN
    #39406135
alexy_black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
намек, наверное, был в этом - http://en.cppreference.com/w/cpp/container/vector
в стандартной бибиотеки c++ есть готовая абстрация, лучше использовать её.
...
Рейтинг: 0 / 0
Массив из HRGN
    #39406138
alexy_black, благодарю за информацию!

Единственное, не подскажите, а как задавать размер вектора если на момент его объявления (как глобальной переменной, например) его размер неизвестен? Через метод resize полагаю?
...
Рейтинг: 0 / 0
Массив из HRGN
    #39406139
alexy_black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НубикКонкретный,

этого делать не нужно - на то он и динамический. можно вызывать метод push_back, который просто положит объект в конец, вектор растянется как нужно.
...
Рейтинг: 0 / 0
Массив из HRGN
    #39406151
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НубикКонкретныйalexy_black, благодарю за информацию!

Единственное, не подскажите, а как задавать размер вектора если на момент его объявления (как глобальной переменной, например) его размер неизвестен? Через метод resize полагаю?

во-первых, массив можно создать, когда его размер станет известным, во-вторых, да, можно в любой момент размер помнять через resize.
...
Рейтинг: 0 / 0
Массив из HRGN
    #39406176
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НубикКонкретный,

Код: plaintext
1.
2.
3.
int i;
HRGN *R;
R = new HRGN(i); // ругается: Cannot convert 'int' to 'void *'



Это то, как нужно было написать то, что ты написал.

Код: plaintext
1.
2.
3.
4.
5.
6.
int i = 42; // whatever
HRGN *R = new HRGN[i];

//....

delete [] R;



А это как это же сделать нормально.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
std::vector<HRGN> r;
// ...
int i = 42; // whatever

r.resize(i);


//....

// delete [] R;  <== ЭТО УЖЕ НЕ НУЖНО, в чём и вся прелесть RAII
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Массив из HRGN
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]