|
что не так с вектором делаю?
|
|||
---|---|---|---|
#18+
Dima TmaytonДля хеш-таблички это неверно Не совсем: удали элемент, куда смотрит итератор и следующий будет неизвестен. Я комментировал добавление нового элемента. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2019, 22:09 |
|
что не так с вектором делаю?
|
|||
---|---|---|---|
#18+
я тоже спрошу segfault в данном случае это fragmentation of the free store? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2019, 22:29 |
|
что не так с вектором делаю?
|
|||
---|---|---|---|
#18+
Dima TЭх, был бы ты подобрее, я бы тоже подобрее ответил. В конце концов у тебя проблема и ты не понимаешь как ее решать. С++ это не высокоуровневый ЯП, тут есть куча условностей, которые надо соблюдать, а откуда они взялись надо просто знать. опять ля-ля "я бы, да кабы, если бы" - что ты обиженную девочку строишь люди ходят на форумы, чтобы повышать квалификацию, или хотя бы дать пищу мозгу когда они видят интересную им проблему, они разминают об неё мозги и получают с этого профит: во1, для себя - обновлённый опыт во2, помогли кому-то, а это + в карму и к ЧСВ а НЕинтересные проблемы они игнорируют но они не говорят: "я бы помог, если..." или "вот тебе квест, иди выполняй, потом спляшешь, помоешь окна, а я подумаю..." или "да ты нихера не шаришь, ты нуб, ты зачем вообще пытаешься разобраться, надо просто знать..." авторВ конце концов у тебя проблема и ты не понимаешь как ее решать. С++ это не высокоуровневый ЯП, тут есть куча условностей, которые надо соблюдать, а откуда они взялись надо просто знать. спасибо, дядь, ты лучший, открыл мне глаза наконец-то PS Рули граблями, одень каску чтоб не сильно било, искренние соболезнования твоему работодателю. я сам работодатель. Dima Tполудухнельзя разобраться в подобной ошибке просто узнав, что такое динамическая память и чем указатель от ссылки отличается Это говорит о том что у тебя каша в голове. Объясняю на примере: 8 орехов лежат в ячейках 260-267, в процессе пересчета добавили орех и т.к. ячейка 268 занята, то все орехи переложили в ячейки 100500-100508, дальше понятно? полудухну если бы в этом была проблема, он бы сразу упал, не? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2019, 10:58 |
|
что не так с вектором делаю?
|
|||
---|---|---|---|
#18+
mini.weblabя тоже спрошу segfault в данном случае это fragmentation of the free store? нет, там что-то другое, уже не помню ( что-то про 4 одну ошибку я разобрал и пофиксил - нельзя вставлять значение в ячейку вектора, которой не существует - тоже отваливается без описания ошибки но там чё-то другое было оно отваливалось при достижении определённого числа ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2019, 11:04 |
|
что не так с вектором делаю?
|
|||
---|---|---|---|
#18+
полудухBarloneпропущено... Ну нельзя же увеличить ранее выделенный блок памяти. А вектор должен размещаться в непрерывном куске памяти. Так что выделяется новый блок большего размера, в него копируются значения из старого, и старый блок освобождается. А итератор продолжает указывать на освобожденный блок. ну если бы в этом была проблема, он бы сразу упал, не? Не. С чего бы ему сразу падать? Память то доступна. А что в ней уже не вектор - это не сразу скажется. И вообще от реализации зависит - в какой именно код for по контейнеру компилируется... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2019, 15:21 |
|
что не так с вектором делаю?
|
|||
---|---|---|---|
#18+
полудух, может тебе всё таки подойдет Queue? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2019, 15:28 |
|
что не так с вектором делаю?
|
|||
---|---|---|---|
#18+
полудухну если бы в этом была проблема, он бы сразу упал, не? Не. Не хочешь вникать в причины - не спрашивай почему упал, запомни что так нельзя делать и больше не делай. А то что упал - это счастье, иначе бы пошел мусор на вход твоей проги и ты бы устал искать откуда мистика идет. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2019, 19:59 |
|
что не так с вектором делаю?
|
|||
---|---|---|---|
#18+
BarloneПамять то доступна. А что в ней уже не вектор - это не сразу скажется. хм, фигово ( вроде в цикле находимся, да и память есть, а тут UB... maytonполудух, может тебе всё таки подойдет Queue? не, надо доступ по ключу да я уже прикрутил тот второй способ я сразу понял, что нельзя делать .push_back() тому же вектору, который итерируешь а для понятия деталей походу надо написать пару сотен К строк ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2019, 21:43 |
|
что не так с вектором делаю?
|
|||
---|---|---|---|
#18+
полудух, из твоей хотелки можно сделать предположение что у тебя - конкурентный доступ к структуре данных из 2х независимых потоков. Один хочет видеть итератор. Второй хочет добавлять элемент. Есть миллион и маленькая тележка способов как решить твою задачу. Но я убежден что правильный ее вариант решения на самом деле более простой. И он связан с пересмотром алгоритма или подхода к твоей задаче. И ломать об колено итератор не нужно будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2019, 21:48 |
|
что не так с вектором делаю?
|
|||
---|---|---|---|
#18+
полудухне, надо доступ по ключу Используй std::deque. Ещё и работать будет быстрее. std::vector - дебильный контэйнер для Basic-писателей. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2019, 09:23 |
|
что не так с вектором делаю?
|
|||
---|---|---|---|
#18+
mayton, ну я так и сделал всем спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2019, 12:45 |
|
что не так с вектором делаю?
|
|||
---|---|---|---|
#18+
полудух, Подскажи, как в векторе менять значения в функции foor(auto i : vertices) { i.x = 12345 ..... наа выходе из функции все теряеттсся f(std::vector<glm::vec3> & vertices) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2019, 14:54 |
|
что не так с вектором делаю?
|
|||
---|---|---|---|
#18+
PetroNotC Sharpfoor(auto i : vertices) { i.x = 12345 Тут ты меняешь во временной переменной, а не в векторе. Используй ссылку Код: plaintext 1.
https://stackoverflow.com/questions/29859796/c-auto-vs-auto ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2019, 15:01 |
|
что не так с вектором делаю?
|
|||
---|---|---|---|
#18+
Dima T, Блин, везде ставить)) Ты гений. Заработало) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2019, 15:05 |
|
что не так с вектором делаю?
|
|||
---|---|---|---|
#18+
OoCcполудухне, надо доступ по ключу Используй std::deque. Ещё и работать будет быстрее. std::vector - дебильный контэйнер для Basic-писателей.А какие преимущества у deque в ключе рассматриваемой темы? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2019, 16:13 |
|
что не так с вектором делаю?
|
|||
---|---|---|---|
#18+
AmKad, Никаких) Если надо по ключу, то std::map вестимо. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2019, 17:01 |
|
что не так с вектором делаю?
|
|||
---|---|---|---|
#18+
PetroNotC SharpAmKad, Никаких) Если надо по ключу, то std::map вестимо. но он дороже вектора и рассчитан на string в кач-ве ключей а когда цифровые индексы, то достаточно массива, который в C++ заменён на вектор (который дешевле всего сейчас походу) хотя я видел кто-то массивы юзает ещё... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2019, 19:09 |
|
что не так с вектором делаю?
|
|||
---|---|---|---|
#18+
кстати, зачем пишут auto& var или auto* var ? ведь ссылка относится к переменной и когда позже будут вызывать var (без типа), то так: *var ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2019, 19:12 |
|
что не так с вектором делаю?
|
|||
---|---|---|---|
#18+
полудухкстати, зачем пишут auto& var или auto* var ? ведь ссылка относится к переменной и когда позже будут вызывать var (без типа), то так: *var Не, это ссылка и указатель. Разные вещи. Ты так и не почитал пару килобайт, которые у тебя есть по этой теме. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2019, 20:14 |
|
что не так с вектором делаю?
|
|||
---|---|---|---|
#18+
Dima T, с утра прочитай ещё раз, что я спросил внимательно ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2019, 20:48 |
|
что не так с вектором делаю?
|
|||
---|---|---|---|
#18+
кстати, вот man 2 mkdir , тут нормально: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2019, 21:19 |
|
что не так с вектором делаю?
|
|||
---|---|---|---|
#18+
полудух, Я тоже никак не могу понять. Везде по разному. Вроде логично знак писаить правее. К переменной. Записывай в FAQ)) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2019, 00:01 |
|
что не так с вектором делаю?
|
|||
---|---|---|---|
#18+
полудухно он дороже векторатермин дороже надо расписать. Очень зависит от контекста. А контекст от кода рядом. У вектора же поиск по key дольше. А это основное назначение map. .. Про стринг, дак это хорошо. Например, справочник аэропортов. Там ключик это 3 буквы строка. То есть штатное использование map. ... Массивы нехай юзают. Только их все меньше и меньше. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2019, 00:07 |
|
что не так с вектором делаю?
|
|||
---|---|---|---|
#18+
полудуххотя я видел кто-то массивы юзает ещё... PetroNotC SharpМассивы нехай юзают. Только их все меньше и меньше. Код: plaintext 1. 2. 3. 4.
https://glm.g-truc.net/0.9.2/api/a00001.html Так что их, как и в Java будет всё меньше и меньше. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2019, 10:04 |
|
что не так с вектором делаю?
|
|||
---|---|---|---|
#18+
полудухкстати, зачем пишут auto& var или auto* var ? ведь ссылка относится к переменной Это просто стиль кодирования такой. Бывают стили с обоими вариантами. Но я например предпочитаю именно этот вариант, когда тип и все его модификаторы визуально сгруппированы, а переменная стоит отдельно. В этом стиле еще обычно есть требование объявлять только одну переменную в каждой строке, чтобы не путаться когда "int* a, b" - это объявление указателя и значения, хотя выглядит как два указателя. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2019, 16:21 |
|
|
start [/forum/topic.php?fid=57&msg=39850562&tid=2017583]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 260ms |
total: | 405ms |
0 / 0 |