Как правильно удалять последний item из вот таких вот структур, и записывать следующий в самое начало, чтобы последующие iD повышались на 1.
#ifndef FOOTPRINTCURRENT_H
#define FOOTPRINTCURRENT_H
struct FootPrintCurrentData
{
short iD;
double lng;
double lat;
double alt;
};
#endif // FOOTPRINTCURRENT_H
main.h
std::vector<FootPrintCurrentData> footPrintCurrentData;
пытался удалить последний item, если он больше 39
for(int i = 0; i < footPrintCurrentData.size(); i++)
{
if(i > 39)
{
footPrintCurrentData.erase(footPrintCurrentData.begin()+i, footPrintCurrentData.end());
}
}
при удалении, просто вылетает программа.
а вот как записывать в самое начало и смещать все на 1, т.е сортировать не пойму.
Сначала вы удаляете от сорокового элемента до конца, и по циклу удаляете еще раз от 41 го до конца, от 42 го до конца. Бедный вектор...
if(i == 40)
{
footPrintCurrentData.erase(footPrintCurrentData.begin()+i, footPrintCurrentData.end());
}
Если просто надо удалить после какой-то позиции, то цикл не нужен. Вставлять в начало можно через insert.
int deleteAfter = 3;
if(footPrintCurrentData.size() > deleteAfter) {
footPrintCurrentData.erase(footPrintCurrentData.begin() + deleteAfter,
footPrintCurrentData.end());
footPrintCurrentData.insert(footPrintCurrentData.begin(), someVector);
}
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Как ввести данные во время выполнения программы в OpenGL?
Я новичок, изучаю С++ и для практики хочу написать (может списать) приложение похожее на ankiappAnkiapp - это карточки для запоминания, например, английских...
Здравствуйте, недавано познакомился с Qt, но визникли некоторые проблемы по поводу использования умных указателей вместес QTableView, вот пример...