- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
void f()
{
char d[14] = "Hello, error!";
}
void h()
{
char d[14];
std::cout<<d;
}
int main()
{
f();
h();
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+124
void f()
{
char d[14] = "Hello, error!";
}
void h()
{
char d[14];
std::cout<<d;
}
int main()
{
f();
h();
}
Кто отгадает, что делает этот код(а еще лучше почему он вобще работает) тому ни чего не будет.
$ g++ -O0 test.cpp -o test && ./test
Hello, error!
$ g++ -O1 test.cpp -o test && ./test
$ g++ -O2 test.cpp -o test && ./test
$ g++ -O3 test.cpp -o test && ./test
�"��
например под PowerPC т.к. f() не вызывает других функций, у нее будет другой (короткий) пролог нежели чем у h() == структура стека другая.
я слышал что ARM такое же практикует.
Это просто напоминание.
(люблю извращаться)
-----
а кто не отгадает?
[07:33:44] r00t@localhost:~$ gcc test.cpp && ./a.out
test.cpp: In function ‘void h()’:
test.cpp:10: error: ‘cout’ is not a member of ‘std’
[07:34:22] r00t@localhost:~$ g++ test.cpp && ./a.out
test.cpp: In function ‘void h()’:
test.cpp:10: error: ‘cout’ is not a member of ‘std’