- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
class A
{
public:
~A();
};
void A::!A()
{
//destructor
}
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR commandLine, int)
{
A* a = new A();
delete a;
return 0;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 24
+163
class A
{
public:
~A();
};
void A::!A()
{
//destructor
}
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR commandLine, int)
{
A* a = new A();
delete a;
return 0;
}
Компилируется и РАБОТАЕТ (заходит в этот "деструктор" при удалении объекта) под Visual C++ 2008.
Перестаёт компилироваться после любого малейшего изменения (например, если убрать void перед реализацией "деструктора").
КАК?!
+157
struct Vertex
{
float x, y, z;
float tu0, tv0;
} vertices[20000] =
{
-X, 0, Z, 0, 0,
X, 0, Z, 0, 0,
-X, 0, -Z, 0, 0,
X, 0, -Z, 0, 0,
0, Z, X, 0, 0,
0, Z, -X, 0, 0,
0, -Z, X, 0, 0,
0, -Z, -X, 0, 0,
Z, X, 0, 0, 0,
-Z, X, 0, 0, 0,
Z, -X, 0, 0, 0,
-Z, -X, 0, 0, 0,
};
+152
typedef signed int s32;
//...
void SomeStruct::SomeFunc(const char* ipImageName /*, ... */ )
{
// ...
s32 imageNameSize = strlen(ipImageName) * sizeof(char) + 1;
this->mpImageName = new char[imageNameSize];
strcpy(this->mpImageName, ipImageName);
// ...
}
А теперь представим, что вместо char будет wchar_t... ...автор - лид-программист...
+144
typedef signed int s32;
//...
void SomeStruct::SomeFunc(const char* ipImageName /*, ... */ )
{
// ...
s32 imageNameSize = strlen(ipImageName) * sizeof(char) + 1;
this->mpImageName = new char[imageNameSize];
strcpy(this->mpImageName, ipImageName);
// ...
}
А теперь представим, что вместо char будет wchar_t... ...автор - лид-программист...