Войти
ФлеймФорумПрограммирование

Оцените обёртку над std::vector::push_back (2 стр)

Страницы: 1 2
#15
1:28, 24 июля 2014

Adler
> а с конструктором такое не работает
http://ideone.com/gVRWvC


#16
1:46, 24 июля 2014

gammaker
> А перейти на новый никак нельзя?
мне охота с концептами поигратся, но они пока вне стандарта и студия их не поддерживает.
а другие изменения меня что-то не особо привлекают, даже списки инцелизации.
хотя нет, вру. вот это привлекает:

struct vec2i{int x=0;int y=0;};
да, надо перейти.
надеюсь она там не особо много ОЗУ ест? а то у меня ноуте только 2GB.

gammaker
> Если есть конструктор по умолчанию, то надо сделать ещё и конструктор,
> принимающий 2 вектора. Тогда сработает.
laMer007
>t_quad(vec2i pos,vec2i size):
Добавлять конструкторы не по умолчанию тоже лень.
#17
4:48, 24 июля 2014

std::back_inserter
/thread

#18
10:21, 24 июля 2014

Adler
> Или я чего-то не знаю и для emplace_back они не нужны?
Конструкторы-не-по-умолчанию в твоём случае нужны, они сильно облегчат жизнь.

Adler
> Добавлять конструкторы не по умолчанию тоже лень.
ССЗБ
жри кактус, чё

#19
11:39, 24 июля 2014

Kartonagnick
Тот способ лучше, нет зависимости от порядка переменных

#20
15:15, 24 июля 2014

Fla
> std::back_inserter
предлагаешь вот так его использовать?

std::back_inserter(arr)=t_quad();
auto&back=arr.back();
Не вижу выгоды.

TarasB
> Конструкторы-не-по-умолчанию в твоём случае нужны, они сильно облегчат жизнь.
А что делать если мне надо инициализировать только одно-два поля структуры из трейх-четырёх, а другое оставить с дефолтным значением? Особенно когда дефолтное значения не нулевые и задаются в конструторе-по-умолчанию?

Предлагаешь писать отдельный конструкторы-не-по-умолчанию на каждый случай? Не понимаю кому это может облегчить жизнь. Ну нафиг, это же ад какой-то.

Мне больше нравится сначала создать объект конструктором-по-умолчанию, а потом настроить одно-два поля и готово.

#21
15:18, 24 июля 2014

Adler
> А что делать если мне надо инициализировать только одно-два поля структуры из
> трейх-четырёх, а другое оставить с дефолтным значением? Особенно когда
> дефолтное значения не нулевые и задаются в конструторе-по-умолчанию?

Другой конструктор. У тебя что, так много вариантов?

#22
15:31, 24 июля 2014

TarasB
> Другой конструктор. У тебя что, так много вариантов?
Да. Когда я делаю тулзы на коленке, то у меня в структурах ничего не фикировано. Я могу менять порядок полей, могу удалять поля, могу добавлять, могу изменять начальные значени и типы полей. И таких структур штук 3-5. А проект коротки на пару часов. И пользуюсь я структурами как попало, захотел такие поля инцилизировал захотел другие. Следить за конструкторы-не-по-умолчанию нет никакого желания. Мне надо чтобы затраты времени на правку структур были минимальными иначе я просто не захочу её менять. И если я пишу конструкторы-не-по-умолчанию то цена влезтает до небес и мне не охота больше ничего менять. Всё проект мёртв. лол :)

Я один такой?

#23
15:33, 24 июля 2014

Adler
> Я один такой?
Да. Для мелких структур ни разу не встречал такой проблемы .

#24
15:46, 24 июля 2014

TarasB
> Да. Для мелких структур ни разу не встречал такой проблемы .
Есть мелкие и стабильные структуры типа vec2i, vec3i. А есть всякое такое типа t_bot, t_bullet, t_bonus etc. Вот с последними у меня проблемы. Их же надо как-то в вектор затолкать, ну вот я про них.

Я правда один такой?

#25
15:47, 24 июля 2014

Adler
Для них без кнструктора-по-умолчанию никуда.

#26
16:06, 24 июля 2014

Adler
А что за проекты у тебя? Просто я так думаю, что если ты просто пишешь маленькие утилиты по быстрому, то может тебе тогда питон освоить? С ним будет проще и быстрее(не холивар, просто совет)

#27
16:45, 24 июля 2014

polterageist
Плюсую.

Adler
Питон, F#, Хаскель или любой другой язык, подходящий для быстрого прототипирования на коленке. Вы взяли видимо не подходящий. C# и то наверное лучше было бы взять.

#28
19:24, 24 июля 2014

Adler
> А что делать если мне надо инициализировать только одно-два поля структуры из
> трейх-четырёх, а другое оставить с дефолтным значением? Особенно когда
> дефолтное значения не нулевые и задаются в конструторе-по-умолчанию?

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1986.pdf

Начиная 2012 студии. Хотя все равно нужно все случаи будет учесть в коде, но без излишней копипасты.

#29
19:57, 24 июля 2014

Adler
> надеюсь она там не особо много ОЗУ ест? а то у меня ноуте только 2GB.
У меня диспетчер задач для 2013 студии 145 МБ всего-навсего показывает. Загружен проект моего движка, около 15000 строк кода.

Страницы: 1 2
ФлеймФорумПрограммирование

Тема в архиве.