- 1
- 2
- 3
- 4
- 5
- 6
- 7
vector <float> items;
float *x;
for(int i = 0; i<100; i++) {
x = new float;
*x = 1.0f;
items.push_back(*x);
};
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+60
vector <float> items;
float *x;
for(int i = 0; i<100; i++) {
x = new float;
*x = 1.0f;
items.push_back(*x);
};
оттуда...
И вообще, как можно такой неэффективный код написать? Чем им не угодил?
Наполнять вектор в цикле? Что может быть проще, логичнее и работает во многих языках?
C++ - ручное управление памятью. Логично, что в вектор надо добавить какой-нибудь объект. Создавать double на стеке - значение убивать, когда переменная умрёт. Следовательно, надо выделить кусочек памяти под значение.
А *x - это потому, что x и &x не давали скомпилиться, логично же?
Vector<MutableFloat> items;
MutableFloat x;
for (int i=0; i<100; i++) {
x = new MutableFloat();
x.setValue(1.0f);
items.add(x);
}
Найдите 3 отличия
чувак её провафлил
чувак позорит ник и Дельфи