- 1
- 2
- 3
- 4
- 5
- 6
struct BufInfo
{
const tbal::Bitmap &src, &dst;
int y1, y2;
BufInfo (const tbal::Bitmap &scr, const tbal::Bitmap &dst, int y1, int y2) : src(src), dst(dst), y1(y1), y2(y2) {}
};
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+19
struct BufInfo
{
const tbal::Bitmap &src, &dst;
int y1, y2;
BufInfo (const tbal::Bitmap &scr, const tbal::Bitmap &dst, int y1, int y2) : src(src), dst(dst), y1(y1), y2(y2) {}
};
Как можно проебать час жизни...
defecate-plusplus 20.03.2013 13:24 # +8
http://static.ozone.ru/multimedia/toys/1001361793.jpg
TarasB 20.03.2013 13:37 # +3
roman-kashitsyn 20.03.2013 13:44 # +3
TarasB 20.03.2013 13:58 # +7
Никогда...
Не было...
:,(
Lure Of Chaos 20.03.2013 23:22 # −2
orion 20.03.2013 13:54 # 0
> ...src(src), dst(dst)... ?
defecate-plusplus 20.03.2013 13:58 # +3
Psionic 21.03.2013 18:05 # 0
http://ideone.com/hO6024
bormand 21.03.2013 18:10 # 0
Так у тебя то все корректно написано. А у Тараса вот так: http://ideone.com/K98dNU
А логика в этой конструкции очень простая - локальные переменные всегда просматриваются первыми, поэтому a(a) это локальная переменная. Но т.к. в списке инициализации нет смысла инициализировать локалки, поэтому a(a) это член класса.
bormand 21.03.2013 18:26 # 0
Более того, у меня как-то раз получалась примерно вот такая ситуация: https://ideone.com/HGKwQA.
defecate-plusplus 21.03.2013 19:05 # +4
и вместо того, чтобы взять указатель вместо ссылки (он то как раз позволяет и nullptr, и нормальный адрес), можно ведь проявить интеллект и в конструкторе ссылку проинициализировать самой собой - показать кто тут главный какир
bormand 21.03.2013 19:30 # +1
roman-kashitsyn 21.03.2013 19:34 # +7
3.14159265 21.03.2013 19:37 # +3
LispGovno 21.03.2013 19:41 # +3
bormand 21.03.2013 19:51 # +1
A reference shall be initialized to refer to a valid object or function. [Note: in particular, a null reference cannot exist in a well-defined program, because the only way to create such a reference would be to bind it to the “object” obtained by dereferencing a null pointer, which causes undefined behavior.]
Так что UB.
LispGovno 21.03.2013 20:01 # 0
> shall be
bormand 21.03.2013 20:06 # +1
in a well-defined program of course ;)
Two beer or not to bee.
Yuuri 20.03.2013 14:39 # +8
TarasB 20.03.2013 14:51 # 0
Проверить под виндой я не мог, потому что в виндоблядской студии херово с библиотекой pthread.h
Кстати, я правильно понимаю, что pthread_join, которая ждёт завершения работы потока, корректно освобождает все ресурсы, связанные с этим потоком?
roman-kashitsyn 20.03.2013 14:59 # +3
bormand 20.03.2013 15:03 # +10
defecate-plusplus 20.03.2013 15:03 # +1
TarasB 20.03.2013 17:39 # +1
2. Это не проэкт, это таки проект.
Lure Of Chaos 20.03.2013 23:23 # 0
bormand 20.03.2013 15:05 # 0
Да ну? warning: unused parameter ‘scr’ [-Wunused-parameter]
Собственно единственное место, в котором этот ворнинг оказывается полезным. Обычно, когда юзаешь много виртуальных функций, он только бесит.
govnomonad 20.03.2013 15:14 # −2
UPD: для некоторых компиляторов макрос определяется через пустую функцию
defecate-plusplus 20.03.2013 15:15 # +1
LispGovno 21.03.2013 19:53 # 0
Borland C++ Builder?
Bormand and Taras use latent sarcasm mode. You shouldn't answer to they questions.
bormand 21.03.2013 20:04 # +2
It wasn't a question. I just complained about frequent false-positives of this warning. And usage of (void) or Q_UNUSED or /* */ is so tedious...
LispGovno 21.03.2013 20:17 # −3
bormand 21.03.2013 20:23 # +6
Куриные?
A bad dancer blames his balls.
wvxvw 21.03.2013 20:26 # +3
Если уж мы взялись за идиомы...
bormand 21.03.2013 20:29 # +1
roman-kashitsyn 21.03.2013 20:31 # +7
wvxvw 21.03.2013 20:45 # +1
wvxvw 21.03.2013 22:09 # +2
LispGovno 21.03.2013 22:14 # −2
Bowlings?
TarasB 20.03.2013 17:39 # 0
bormand 20.03.2013 17:51 # +1
P.S. You should define some of them between an 'include $(CLEAR_VARS)' and an 'include $(BUILD_XXXXX)'
LispGovno 21.03.2013 19:59 # −1
3.14159265 20.03.2013 21:11 # +4
Сползаешь потихоньку в болото крестоблядства.
>потому что в виндоблядской студии херово с библиотекой pthread.h
Удали её. Просто сотри нахуй. Или настрой нормально.
Тот же эклипс должен был тебе показать unused.
bormand 21.03.2013 10:08 # 0
TarasB 20.03.2013 14:46 # 0
3.14159265 20.03.2013 21:15 # +5
Тогда кресты на всё неявное и подозрительное ругаются не хуже твоего пасцаля.
http://stackoverflow.com/questions/154630/recommended-gcc-warning-options-for-c
3.14159265 20.03.2013 21:21 # +2
Вот эти 2 на мой взгляд важные. Именно для строгой типизации.
Помню когда-то -Wextra мне не включал их.
А всякие долбоёбы отключают все ворнинги, и потом бегут на говнокод:
"Смотрите, посоны, оно у меня компилицо. Кресты - говнище"
Только они не знают/забывают что там пачка ворнингов идёт.
bormand 20.03.2013 21:27 # +1
bormand 20.03.2013 21:38 # 0
На ворны надейся, а сам не плошай. Граблей, на которые при всем желании не получится сгенерить ворнинг в крестах хватает. Хотя с другой стороны о типичных ошибках почти всегда предупреждает.
P.S. wall и wextra это необходимый минимум, когда уже все начинающие сишко- и крестописцы это выучат...
А еще я за включение опций, заставляющих компилятор юзать конкретный стандарт. Дабы не залететь потом, случайно поюзав какое-нибудь визуалкоблядство или гццизм.
someone 21.03.2013 08:59 # +2
bormand 21.03.2013 10:04 # +1
blackhearted 08.04.2013 19:23 # −2