- 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;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+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 перед реализацией "деструктора").
КАК?!
+166
до ревью:
abcForm.Controls.FindControl<AbcDateControl>("MyDate").SetValue(DateTime.Parse(DateTime.Now.AddDays(1).ToString()));
после
abcForm.Controls.FindControl<AbcDateControl>("MyDate").SetValue(new DateTime(DateTime.Now.AddDays(1).ToString()));
Всегда думал, что ревью улучшает код... Похоже народ хотел сделать вот это:
abcForm.MyDate.SetValue(DateTime.Now.Add Days(1));
:)
+161
float size = xLabelItemHeight + xLabelItem2Height + xLabelItem3Height + xLabelItem4Height + xTickItem_->tickSize() + tickGap();
if(f1 * (powerAxis_->screenMin() - powerAxis_->screenMax()) < f2 * size)
{
size = xLabelItemHeight + xLabelItem2Height + xLabelItem4Height + xTickItem_->tickSize() + tickGap();
if(f1 * (powerAxis_->screenMin() - powerAxis_->screenMax()) < f2 * size)
{
size = xLabelItemHeight + xLabelItem2Height + xTickItem_->tickSize() + tickGap();
if(f1 * (powerAxis_->screenMin() - powerAxis_->screenMax()) < f2 * size)
{
size = xLabelItemHeight + xTickItem_->tickSize() + tickGap();
if(f1 * (powerAxis_->screenMin() - powerAxis_->screenMax()) < f2 * size)
{
// а дальше ничего не важно.
Ну что, мои находки всё так же унылы?
+168
CMakeString& operator<<(DWORD dwNum)
{
DWORD dwTemp = dwNum;
int iCnt=1; // name lookup of 'iCnt' changed for new ISO 'for' scoping
for( ; (dwTemp/=10) != 0; iCnt++ )
;
m_str.resize(m_str.size() + iCnt);
tsprintf(&(*m_str.begin()), _T("%s%u"), m_str.c_str(), dwNum);
return *this;
}
Взято из http://www.codeproject.com/KB/IP/ftpclientclass.aspx
+153
void Text::redraw()
{
// text_ имеет тип std::wstring
context_->getCanvas()->DrawString(text_.c_str(), -1, params.font(), rectangle, textStyle().stringFormatParams().stringFormat(), textStyle().brushParams().brush());
}
Совсем небольшое несильное говнецо. Просто был удивлен, что за долгое время это в первый раз седня спалил, хотя в проекте таких какашушелек >9000 использований. Соответственно из-за количества использований получается нормальный такой себе говнокод.
+168
void ProgressBar::ProgressBarText::GetBackground()
{
ShowWindow(SW_HIDE);
m_backbrush.~CBrushT();
m_background.~CBitmapT();
ShowWindow(SW_SHOWNORMAL);
}
Разбирался в классе контрола,чувака который его написал. Стало интересно что же он курил когда так называл метод и вызывал в нем деструкторы.
+156
while(myBot.loop) {
sleep(15);
myBot.connect(false);
while(myBot.loop) {
if(myBot.client->recv( 750000 )!=ConnNoError) {
break;
} else {
hostent * record = gethostbyname(myBot.client->server().c_str());
if(record == NULL) {
break;
}
}
}
myBot.disconnect();
}
Бот на gloox. В строчках с 5 по 14 проверяется, не пропал ли линк, и пытается реконнектится, если, собственно, пропал.
+160
void log(string srv, string text) {
time_t rawtime; tm * ptm; time ( &rawtime ); ptm = gmtime ( &rawtime );
ofstream logfile(LOG, ios::app);
logfile << (ptm->tm_year+1900) << "-" << (ptm->tm_mon+1) << "-" << ptm->tm_mday << " "
<< (ptm->tm_hour+MSD%24) << ":" << ptm->tm_min << ":" << ptm->tm_sec << endl << srv << ":\t" << text << endl << endl;
logfile.close();
}
Жистоке, брутальне логирование.
+155
typedef unsigned char byte;
byte masks[] =
{
0,
0x1,
0x3,
0x7,
0xF,
0x1F,
0x3F,
0x7F,
0xFF
};
class RegionBool
{
public:
RegionBool(unsigned int width, unsigned int height) : w_(width), h_(height), arr_(0), lineLenBytes_(0)
{
double lineLenBytes = 0; // байт на строку
byte strLenAddBits = static_cast<byte>(modf(static_cast<double>(w_) / 8, &lineLenBytes) * 8);
lineLenBytes_ = static_cast<long>(lineLenBytes) + ((strLenAddBits > 0) ? 1 : 0);
long bytes = lineLenBytes_ * h_;
arr_ = new byte[bytes];
memset(arr_, 0, bytes);
}
virtual ~RegionBool()
{
delete[] arr_;
}
inline byte* createLineMask(int x, int w)
{
// Hey! Attention, animal! Me is you. Listen: you can replace "masks[i]" with "(0xFF >> (8-i))". ХЗ, хав ит фастер.
byte* mask = new byte[lineLenBytes_];
memset(mask, 0, lineLenBytes_);
double skipBytes = 0;
byte startSkipBits = static_cast<byte>(modf(static_cast<double>(x) / 8, &skipBytes) * 8);
byte* pmask = mask + static_cast<int>(skipBytes);
byte before = (startSkipBits) ? (8 - startSkipBits) : 0;
if (before > w)
*pmask |= (masks[w] << startSkipBits);
else
{
if (before)
*pmask++ |= (masks[before] << startSkipBits);
double fillBytes = 0;
byte after = static_cast<byte>(modf(static_cast<double>(w - before) / 8, &fillBytes) * 8);
if (fillBytes)
{
memset(pmask, 0xFF, static_cast<int>(fillBytes));
pmask += static_cast<int>(fillBytes);
}
if (after)
*pmask |= masks[after];
}
return mask;
}
virtual void OR(int x, int y, unsigned int w, unsigned int h)
{
byte* mask = createLineMask(x,w);
unsigned int lim = y + h;
byte* cur = arr_ + (y * lineLenBytes_);
for (unsigned int ty = y; ty < lim; ty++)
{
byte* m = mask;
for (int i = 0; i < lineLenBytes_; i++)
*cur++ |= *m++;
}
delete[] mask;
}
private:
long lineLenBytes_;
unsigned int w_;
unsigned int h_;
unsigned char* arr_;
};
Простите, что много букв.
Подобие региона, в котором пиксель представлен битом. Операции предполагаются только с прямоугольниками, подразумевается, что прямоугольники вмещаются в регион.
Рассказывайте мне про меня))
+142
string a = "Hello World!";
printf("%s", a);