Size: a a a

2020 August 11

Х

Хислат in Unreal Engine
Хаим Умарович Йокогамский
Телепаты в отпуске
да видно ноя уже решил свою проблему спасибо
источник

R

Respirant in Unreal Engine
Всем привет.
А можно ли удалить элемент из массива по индексу, но при этом, чтобы индекс других элементов не смещался? То есть, допустим, есть массив с индексами:

0
1
2
3

И после удаления элемента под индексом "1", должно получится:

0
2
3
источник

Х

Хаим Умарович Йокога... in Unreal Engine
Для чего это необходимо?
источник

Д

Даня in Unreal Engine
Respirant
Всем привет.
А можно ли удалить элемент из массива по индексу, но при этом, чтобы индекс других элементов не смещался? То есть, допустим, есть массив с индексами:

0
1
2
3

И после удаления элемента под индексом "1", должно получится:

0
2
3
просто обнуляй элемент, а не удаляй его
источник

R

Respirant in Unreal Engine
Даня
просто обнуляй элемент, а не удаляй его
Просто этот массив будет в конечном итоге очень большой (порядка 500-1000 индексов). Не знаю, как это будет с точки зрения оптимизации. И в игре нужно каждый раз новые индексы, а старые не нужны и их можно удалять
источник

R

Respirant in Unreal Engine
Хаим Умарович Йокогамский
Для чего это необходимо?
Для оптимизации
источник

DK

Dmitriy Kuzz in Unreal Engine
Respirant
Просто этот массив будет в конечном итоге очень большой (порядка 500-1000 индексов). Не знаю, как это будет с точки зрения оптимизации. И в игре нужно каждый раз новые индексы, а старые не нужны и их можно удалять
Удаление элемента массива это как раз затратная операция
источник

DK

Dmitriy Kuzz in Unreal Engine
Когда их много*
источник

R

Respirant in Unreal Engine
Dmitriy Kuzz
Удаление элемента массива это как раз затратная операция
Ну так я по идее хочу, чтобы максимум было 8 элементов массива всегда. И чтобы элемент массива добавлялся, в то время как старый (не используемый) удалялся
источник

DK

Dmitriy Kuzz in Unreal Engine
Я не понимаю, ты в прошлом сообщении сказал 500-1000, теперь уже 8.
источник

R

Respirant in Unreal Engine
Dmitriy Kuzz
Я не понимаю, ты в прошлом сообщении сказал 500-1000, теперь уже 8.
Если не оптимизировать (не удалять ненужные элементы массива), то он будет большой. А с оптимизацией максимальное количество элементов будет 8
источник

R

Respirant in Unreal Engine
Но нужно, чтобы массив имел не такой вид индексов:


0
1
2
3
4


А такой:

10
11
12
13
14


Ну или, вместе числа "10" число "100" к примеру, чтобы был такой вид индексов массива:
100
101
102
103
104


То есть, чтобы я мог удалять элементы массива, но при этом индекс не смещался и начинался не с нуля
источник

DK

Dmitriy Kuzz in Unreal Engine
Respirant
Но нужно, чтобы массив имел не такой вид индексов:


0
1
2
3
4


А такой:

10
11
12
13
14


Ну или, вместе числа "10" число "100" к примеру, чтобы был такой вид индексов массива:
100
101
102
103
104


То есть, чтобы я мог удалять элементы массива, но при этом индекс не смещался и начинался не с нуля
Тебе его с самого начала надо ресайзнуть.
источник

DK

Dmitriy Kuzz in Unreal Engine
Если ты знаешь примерный размер - поставь сразу с запасом.
источник

DK

Dmitriy Kuzz in Unreal Engine
А вообще что именно ты хочешь достичь?
источник

R

Respirant in Unreal Engine
Dmitriy Kuzz
А вообще что именно ты хочешь достичь?
В общем, у меня есть массив.

Есть событие, которое происходит примерно раз в секунду. В этот момент добавляется новый элемент массива и по идее должен удалится первый элемент массива (с самого начала он равен "0"). Но при этом, индексы массивов должны постоянно возрастать.


Но из-за смещения, индексы остаются на месте.

Вот пример с математической точки зрения. Был такой ряд индексов: "0, 1, 2, 3, 4". Я добавил новый элемент в массив, соответственно ряд индексов стал таким: "0, 1, 2, 3, 4, 5". А после я удалил первый элемент массива и ряд индексов стал соответственно таким: "0, 1, 2, 3, 4". То есть, стал таким же, как и был изначально. А нужно, чтобы после удаления первого индекса, ряд индексов имели такую последовательность: "1, 2, 3, 4, 5"
источник

M(

Max ( exAres ) in Unreal Engine
Respirant
В общем, у меня есть массив.

Есть событие, которое происходит примерно раз в секунду. В этот момент добавляется новый элемент массива и по идее должен удалится первый элемент массива (с самого начала он равен "0"). Но при этом, индексы массивов должны постоянно возрастать.


Но из-за смещения, индексы остаются на месте.

Вот пример с математической точки зрения. Был такой ряд индексов: "0, 1, 2, 3, 4". Я добавил новый элемент в массив, соответственно ряд индексов стал таким: "0, 1, 2, 3, 4, 5". А после я удалил первый элемент массива и ряд индексов стал соответственно таким: "0, 1, 2, 3, 4". То есть, стал таким же, как и был изначально. А нужно, чтобы после удаления первого индекса, ряд индексов имели такую последовательность: "1, 2, 3, 4, 5"
Не удаляй, а просто устанавливай пустое значение
источник

R

Respirant in Unreal Engine
Max ( exAres )
Не удаляй, а просто устанавливай пустое значение
А как быть с точки зрения оптимизации? Ведь массив будет иметь больше 1000 элементов (из которых около 992 - с пустым значением). Или это ничего страшного?
источник

N

Nick in Unreal Engine
Тебе надо чтобы смещение не происходило после удаления первого индекса или любого вообще?
источник

DK

Dmitriy Kuzz in Unreal Engine
Respirant
А как быть с точки зрения оптимизации? Ведь массив будет иметь больше 1000 элементов (из которых около 992 - с пустым значением). Или это ничего страшного?
Это пофигу.
источник