- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
#include <iostream>
int get_number() {
return 5;
}
int magic_number(int foo()) {
return foo();
}
int main(void)
{
std::cout << magic_number(get_number) << std::endl;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+49
#include <iostream>
int get_number() {
return 5;
}
int magic_number(int foo()) {
return foo();
}
int main(void)
{
std::cout << magic_number(get_number) << std::endl;
}
http://ideone.com/TbV0jD
LispGovno 17.02.2015 09:37 # +1
bormand 17.02.2015 09:48 # +2
guest 17.02.2015 10:51 # +2
bormand 17.02.2015 09:44 # +3
kegdan 17.02.2015 11:24 # +2
bormand 17.02.2015 11:50 # +3
roman-kashitsyn 17.02.2015 12:27 # 0
bormand 17.02.2015 14:33 # +3
roman-kashitsyn 17.02.2015 15:06 # +3
Antervis 06.07.2015 10:03 # 0
int (*func1)(void) = *func;
int (*func2)(void) = &func;
int (*func3)(void) = func;
int (*func4)(void) = ****func;
вообще по барабану, функции всегда приводятся к указателю.
Abbath 18.02.2015 00:24 # 0
Dummy00001 17.02.2015 19:10 # +1
LispGovno 17.02.2015 20:08 # +3
guest 17.02.2015 21:16 # −7
Dummy00001 18.02.2015 00:44 # +2
амперсанд не нужен.
звездочка нужна только в typedef'е.
guest 17.02.2015 21:57 # −1
guest 17.02.2015 21:57 # −1
guest 17.02.2015 21:58 # −1
guest 17.02.2015 21:58 # −1
guest 17.02.2015 21:59 # −1
guest 17.02.2015 21:59 # −1
guest 17.02.2015 21:59 # −1
guest 17.02.2015 22:00 # −1
guest 17.02.2015 22:00 # 0
- Ну хоть где-то у нас дыра.
CriDos 17.02.2015 23:58 # +1
Сожалею о содеянном.
Вообще, очень интересный нюанс, который опущен в литературе и не популярен у кодеров (ещё не встречал такой вариант)...
Надобно в стандарте покопаться.
3.14159265 18.02.2015 02:48 # +4
Вы только что охарактеризовали половину постов раздела С++ на Говнокоде.
Вот это «очень интересный нюанс» может колебаться от «ух ты, кресты и так умеют», до «нашёл наступил на очередные граблки в блядских крестах FFFffffuuu~ »
Xom94ok 18.02.2015 06:19 # +1
А вот и нет.
Я о таком способе объявления указателя на функцию узнал из книги Мейерса, а окончательно "закрепил материал" в доках к boost::function, в них аргументом шаблона передается тип указателя на функцию в таком сокращенном виде, как в коде поста.
TarasB 18.02.2015 12:38 # +1
bormand 18.02.2015 13:47 # +1
bormand 18.02.2015 07:03 # +5
И сидит под нарами.