- 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);
};
оттуда...
Soul_re@ver 25.09.2014 20:33 # +4
И вообще, как можно такой неэффективный код написать? Чем им не угодил?
1024-- 25.09.2014 20:40 # +1
Наполнять вектор в цикле? Что может быть проще, логичнее и работает во многих языках?
C++ - ручное управление памятью. Логично, что в вектор надо добавить какой-нибудь объект. Создавать double на стеке - значение убивать, когда переменная умрёт. Следовательно, надо выделить кусочек памяти под значение.
А *x - это потому, что x и &x не давали скомпилиться, логично же?
kegdan 25.09.2014 20:42 # 0
javahutt 26.09.2014 01:23 # 0
javahutt 26.09.2014 01:42 # 0
guest 29.09.2014 23:45 # 0
TarasB 25.09.2014 20:38 # +1
Pythoner 25.09.2014 21:08 # +3
Vector<MutableFloat> items;
MutableFloat x;
for (int i=0; i<100; i++) {
x = new MutableFloat();
x.setValue(1.0f);
items.add(x);
}
Найдите 3 отличия
TarasB 26.09.2014 12:40 # 0
чувак её провафлил
чувак позорит ник и Дельфи