- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
#define private public
#include <vector>
#include <iostream>
int main()
{
// . . .
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+146
#define private public
#include <vector>
#include <iostream>
int main()
{
// . . .
}
Вот так вот просто обращаться к приватным полям чужих классов))
+154
function(&(*(--Iter)++);
Вот как надо использовать итератор...
+157
template <typename T>
class Animate : public internal::interval_action
{
public:
Animate(render::Sprite* target, bool restore_frame, bool repeat, T* animation)
: m_target(target)
, m_animation(animation)
, m_restore(restore_frame)
, m_time(0.0f)
, m_current_frame(0)
, m_done(false)
, m_frames_count(animation->frames_count())
, interval_action(animation->delay * m_frames_count)
{
...
}
};
Это как раз тот случай, когда "one facepalm is not enough". (c)
+154
#include <fstream>
#include <string>
#include <vector>
using namespace std;
int main()
{
fstream in("z.in", ios::in);
fstream out("z.out", ios::out);
string s;
in >> s;
in.close();
vector<size_t> z(s.length());
z[0] = s.length();
for (size_t i = 1, l = 0, r = 0, j = 0, k = 0; i < s.length(); (i > r) ? ((s[i + j] == s[j]) && ((j + i) < s.length()) ? ++j : (((z[l = i] = j, r = i + j - 1), j = 0), ++i)) : ((z[i - l] < r - i + 1) ? ((z[i] = z[i - l]), ++i) : (((s[r + k] == s[r - i + k]) && ((k + r) < s.length())) ? ++k : (((z[l = i] = r - i + k, r = r + k - 1), k = 1), ++i))));
for(size_t i = 1; i < s.length(); ++i)
{
out << z[i] << " ";
}
out << flush;
out.close();
return 0;
}
Z-функция в одну строчку. плод больного воображения и лишнего времени
+178
e.voiceMail = !!e.voiceMail;
поле voiceMail имеет тип bool. Привет из солнечного кетая
+165
template<typename Class>
void Raise(int Code)
{
throw Class(Code);
};
Продолжение эпоса из уже всем знакомого проекта, доставшегося по наследству, в котором активно используются исключния.
+167
const StringId sidPathName = [=]() -> const char* const
{
switch (path)
{
case PATH_TOWN_HERO:
return "game/careers/town_hero";
case PATH_MAD_SCIENTIST:
return "game/careers/mad_scientist";
case PATH_SPECIAL_AGENT:
return "game/careers/special_agent";
case PATH_PSYCHIC_PAINTER:
return "game/careers/psychic_painter";
default:
RZT_ASSERT(false);
return "";
}
}();
Не удержался: давно мечтал о возможности ставить const на такие переменные, не отказываясь при этом от свитчей!
+163
/**
* Callback for gravity gradient menu option. Turn Gravity Gradient profile display on/off.
*/
void Exf2dMW::toggleGravGradientProfileCb()
{
// GV show Gravity Gradient profile here.
if (_toggleGravGradientProfileAct->isChecked())
gvWidget()->showProfiles(1);
else
gvWidget()->hideProfiles(1);
}
/**
* Callback for gravity menu option. Turn Gravity profile display on/off.
*/
void Exf2dMW::toggleGravProfileCb()
{
// GV show Gravity profile here.
if (_toggleGravProfileAct->isChecked())
gvWidget()->showProfiles(2);
else
gvWidget()->hideProfiles(2);
}
/**
* Callback for magnetic menu option. Turn Magnetic profile display on/off.
*/
void Exf2dMW::toggleMagProfileCb()
{
// GV show magnetic profile here.
if (_toggleMagProfileAct->isChecked())
gvWidget()->showProfiles(3);
else
gvWidget()->hideProfiles(3);
}
boolean logic fail.
+173
void DrawingLibrary::drawText(int x0, int y0, char string[], int strlen, int red, int green, int blue, int alpha) {
for(int i = 0; i < strlen; ++i) {
char chr = string[i];
int sX = x0 + i * 8;
// проходимся по символам, рисуя их
if(chr == '!') {
bool symbol[8][8] = {{0,0,0,0,0,1,0,0},{0,0,0,0,0,1,0,0},{0,0,0,0,0,1,0,0},{0,0,0,0,0,1,0,0},{0,0,0,0,0,1,0,0},{0,0,0,0,0,0,0,0},{0,0,0,0,0,1,0,0},{0,0,0,0,0,0,0,0}};
this->drawSymbol(sX, y0, symbol, red, green, blue, alpha);
}
else if(chr == '"') {
bool symbol[8][8] = {{0,0,0,0,1,0,1,0},{0,0,0,0,1,0,1,0},{0,0,0,0,1,0,1,0},{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0}};
this->drawSymbol(sX, y0, symbol, red, green, blue, alpha);
}
else if(chr == '#') {
bool symbol[8][8] = {{0,0,0,0,1,0,1,0},{0,0,0,0,1,0,1,0},{0,0,0,1,1,1,1,1},{0,0,0,0,1,0,1,0},{0,0,0,1,1,1,1,1},{0,0,0,0,1,0,1,0},{0,0,0,0,1,0,1,0},{0,0,0,0,0,0,0,0}};
this->drawSymbol(sX, y0, symbol, red, green, blue, alpha);
}
/* еще 135 строк такого "кода" */
else if(chr == 'э') {
bool symbol[8][8] = {{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},{0,0,0,0,1,1,1,0},{0,0,0,0,0,0,0,1},{0,0,0,0,0,1,1,1},{0,0,0,0,0,0,0,1},{0,0,0,0,1,1,1,0},{0,0,0,0,0,0,0,0}};
this->drawSymbol(sX, y0, symbol, red, green, blue, alpha);
}
else if(chr == 'ю') {
bool symbol[8][8] = {{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},{0,0,0,1,0,0,1,0},{0,0,0,1,0,1,0,1},{0,0,0,1,1,1,0,1},{0,0,0,1,0,1,0,1},{0,0,0,1,0,0,1,0},{0,0,0,0,0,0,0,0}};
this->drawSymbol(sX, y0, symbol, red, green, blue, alpha);
}
else if(chr == 'я') {
bool symbol[8][8] = {{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},{0,0,0,0,0,1,1,1},{0,0,0,0,1,0,0,1},{0,0,0,0,0,1,1,1},{0,0,0,0,0,1,0,1},{0,0,0,0,1,0,0,1},{0,0,0,0,0,0,0,0}};
this->drawSymbol(sX, y0, symbol, red, green, blue, alpha);
}
}
}
Функция, рисующая на картинке текст.
+162
CString sLineNumber = _T("Line");
for(int lineIndex = 0; lineIndex < 255; lineIndex++)
{
sLineNumber += (_itot(lineIndex + 1, temp, 10));
...
sLineNumber = _T("Line");
}
Build the string variable in loop, instead of use CString::Format(...)