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

Почему я никогда не буду использовать STL. (7 стр)

Страницы: 16 7 8 9112 Следующая »
#90
11:55, 3 июня 2010

outcast
Вопрос был риторический, объясни каким образом можно удалить из середины вектора элемент?

#91
11:57, 3 июня 2010

Методом непосредственного удаления.

Ваш К.О.

#92
11:58, 3 июня 2010

Alexander K
> Может и можно, но это либо будет жутко долго, либо потеряется порядок
> элементов, либо данные будут разбросаны по памяти.
Удаление будет быстрее чем в list, порядок элементов для твоей задачи наверняка не важен.

#93
11:59, 3 июня 2010

Alexander K
Вообще, в 99% случаев фраза "Сделал на STL, и всё стало тормозить" означает, что стл-ем пользоваться пациент не умеет.

#94
12:00, 3 июня 2010

Nikopol
И как же это сделать? Разбросать в итоге все элементы по памяти? Или забить на порядок элементов? Или каждый раз выделять память заного?

stringstream класс очень удобный, часто его использую. Вообще круто сделано, что есть такие классы (от потоков наследуются которые).
Изображение
Но разве тут что-то понятно?

#94
12:00, 3 июня 2010

> каким образом можно удалить из середины вектора элемент?
если порядок элементов не важен, то проще всего скопировать на место удаляемого последний элемент вектора и уменьшить его размер на единицу

#96
12:01, 3 июня 2010

Alexander K
> Вопрос был риторический, объясни каким образом можно удалить из середины
> вектора элемент?

Это тоже риторический вопрос ? :)

Очевидно, обменом его с последним элементом и уменьшением размера вектора на 1.
Есть в принципе еще методы, но они несколько сложнее.

#97
12:02, 3 июня 2010

Nikopol
> Вообще, в 99% случаев фраза "Сделал на STL, и всё стало тормозить" означает,
> что стл-ем пользоваться пациент не умеет.
+1

#98
12:04, 3 июня 2010

>>если порядок элементов не важен, то проще всего скопировать на место удаляемого последний элемент вектора и уменьшить его размер на единицу
>>Очевидно, обменом его с последним элементом и уменьшением размера вектора на 1.
>>Удаление будет быстрее чем в list, порядок элементов для твоей задачи наверняка не важен.

Ахаха, а зачем тогда вообще нужен std::vector ?

Я же говорю Particle* p[MAX_PARTICLES], int count. Это же не велосипед, это просто кусок кода, написанный за пять секунд и который будет хорошо работать.

#99
12:05, 3 июня 2010

Alexander K
> Но разве тут что-то понятно?

Finds the equivalent char to a given char_type.

char narrow(
  char_type _Char,
  char _Default = '\0'
);

Parameters
_Char
The char to convert.

_Default
The char that you want returned if no equivalent is found.

Return Value
The equivalent char to a given char_type.

Remarks
....

Example
...

Открой для себя MSDN :)

#100
12:07, 3 июня 2010

outcast
Я уже сказал по поводу отдельной документации.

Ничего против не имею, но можно было сделать лучше.

#101
12:07, 3 июня 2010

Alexander K
> Ахаха, а зачем тогда вообще нужен std::vector ?


Чтобы не писать такую хрень: "Particle* p[MAX_PARTICLES], int count"

#102
12:09, 3 июня 2010

outcast
Эта хрень с задачей справляется на отлично и времени потребовала меньше.

#103
12:09, 3 июня 2010

Alexander K
> Я уже сказал по поводу отдельной документации.
>
> Ничего против не имею, но можно было сделать лучше.

Проблема в том, что сделать лучше или хотя бы также как в stl, большинство не может.
А так да, согласен с "но можно было сделать лучше" полностью :).

#104
12:11, 3 июня 2010

Alexander K
> Эта хрень с задачей справляется на отлично и времени потребовала меньше.

А "через год", когда ты будешь смотреть на эту хрень - сколько времени будешь вспоминать как оно работает и зачем вообще оно было нужно? :)

Страницы: 16 7 8 9112 Следующая »
ФлеймФорумПрограммирование

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