powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / std vector, хочу динамический массив структур :)
4 сообщений из 4, страница 1 из 1
std vector, хочу динамический массив структур :)
    #34573743
RUSYA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надоело пионерское программирование, учебная программа вузов как-то криво продумана, что мы после того как выучили стандартные типы, переходим к извращениям вроде собственноручной реализации ассоциативного массива (без std::map), ну итп пошлостям, короче не подпускают в плотную к прелестям стд :)

Ну начинать никогда не рано, считаю я.. поэтому сильно не пинайте за ламерские вопросы :)

1) Хочу динамич. массив структур
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
#include <iostream> 
#include <vector> 
#include <string> 

using namespace std;

struct a {
	string name;
	int years;
};

void main(){

	vector <a*> v( 10 );

	a tmp;
	tmp.name = "asdasd";
	tmp.years =  123 ;

	v[ 0 ] = tmp;
	cin.get();
}

Ну я понимаю что я не прав v[0] = tmp; а как правильно? Смотрел примеры, как-то через класс, в котором или умный конструктор мутят или перегружают присваивание.. Но нельзя ли как-то проще, обыкновенной структурой например? Я ж так понял вектору всёравно какой тип данных хранить?


2) Ну есть векторный массив

vector <a*> v(10);

Как изменить его размер, не создавая новый, т.е. без копирования элементов... Нельзя ли как-то автоматически изменить размерность v?

Заранее спасибо за объяснения :)
...
Рейтинг: 0 / 0
std vector, хочу динамический массив структур :)
    #34573817
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RUSYA wrote:

> продумана, что мы после того как выучили стандартные типы, переходим к
> извращениям вроде собственноручной реализации ассоциативного массива (без
> std::map), ну итп пошлостям, короче не подпускают в плотную к прелестям
> стд :)
Правильно делают, по-моему. Это базовые знания и без них вам будет ... не очень хорошо. :)


> vector <a*> v(10);
Не-а. Неправильно.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
void main(){
        vector <a> v( 10 );

        a tmp;
        tmp.name = "asdasd";
        tmp.years =  123 ;

        v[ 0 ] = tmp;
        cin.get();
}

> Ну я понимаю что я не прав v[0] = tmp; а как правильно?
"vector <a> v(10);"

> Я ж так понял вектору всёравно какой тип данных хранить?
Вектору не "все равно, какой типа данных хранить", он шаблон, и в чистом виде не существует, типизируется при компиляции в конкретный класс под конкретный тип данных

> 2) Ну есть векторный массив
У вас справки встроенный по stl разве нету? Тогда вам сюда или сюда , например.

> vector <a*> v(10);
Это "динамический массив" указателей на структуру, не структур.


> Как изменить его размер, не создавая новый, т.е. без копирования
> элементов...
resize()

> Нельзя ли как-то автоматически изменить размерность v?
push_back() , pop_back() - добавление/удаление элементов в конец вектора с изменением размера.
рекомендую почитать тут .
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
std vector, хочу динамический массив структур :)
    #34574324
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> struct a {
> string name;
> int years;
> };
>
> void main(){
>
> vector <a*> v(*10*);

Не храни структуры по указателю , храни самы структуры.
Будет гораздо проще. Точнее, по указателю хранить в STL практически
невозможно.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
std vector, хочу динамический массив структур :)
    #34576549
RUSYA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо ErV за подробное разъяснение.

MasterZiv, ок, я вроде усёк )
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / std vector, хочу динамический массив структур :)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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