- 1
return *reinterpret_cast<ChatUnitList*>(&m_contacts); //black magic
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+151
return *reinterpret_cast<ChatUnitList*>(&m_contacts); //black magic
Действительно черная магия... Хотя работает, но я не уверен, что на всех платформах
+169
struct IText{
typedef boost::shared_ptr<IText> SPtr;
virtual void draw() = 0;
virtual void add(const SPtr&) {
throw std::runtime_error("IText: Can't add to a leaf");
}
virtual void remove(const SPtr&){
throw std::runtime_error("IText: Can't remove from a leaf");
}
};
struct CompositeText: public IText{
void add(const SPtr& sptr){
children_.push_back(sptr);
}
void remove(const SPtr& sptr){
children_.remove(sptr);
}
void replace(const SPtr& oldValue, const SPtr& newValue){
std::replace(children_.begin(), children_.end(), oldValue, newValue);
}
virtual void draw(){
BOOST_FOREACH(SPtr& sptr, children_){
sptr->draw();
}
}
private:
std::list<SPtr> children_;
};
struct Letter: public IText{
Letter(char c):c_(c) {}
virtual void draw(){
std::cout<<c_;
}
private:
char c_;
};
int main(){
CompositeText sentence;
IText::SPtr lSpace(new Letter(' '));
IText::SPtr lExcl(new Letter('!'));
IText::SPtr lComma(new Letter(','));
IText::SPtr lNewLine(new Letter('\n'));
IText::SPtr lH(new Letter('H')); // letter 'H'
IText::SPtr le(new Letter('e')); // letter 'e'
IText::SPtr ll(new Letter('l')); // letter 'l'
IText::SPtr lo(new Letter('o')); // letter 'o'
IText::SPtr lW(new Letter('W')); // letter 'W'
IText::SPtr lr(new Letter('r')); // letter 'r'
IText::SPtr ld(new Letter('d')); // letter 'd'
IText::SPtr li(new Letter('i')); // letter 'i'
IText::SPtr wHello(new CompositeText);
wHello->add(lH);
wHello->add(le);
wHello->add(ll);
wHello->add(ll);
wHello->add(lo);
IText::SPtr wWorld(new CompositeText); // word "World"
wWorld->add(lW);
wWorld->add(lo);
wWorld->add(lr);
wWorld->add(ll);
wWorld->add(ld);
sentence.add(wHello);
sentence.add(lComma);
sentence.add(lSpace);
sentence.add(wWorld);
sentence.add(lExcl);
sentence.add(lNewLine);
sentence.draw(); // ptrints "Hello, World!\n"
IText::SPtr wHi(new CompositeText); // word "Hi"
wHi->add(lH);
wHi->add(li);
sentence.replace(wHello, wHi);
sentence.draw(); // ptrints "Hi, World!\n"
sentence.remove(wWorld);
sentence.remove(lSpace);
sentence.remove(lComma);
sentence.draw(); // ptrints "Hi!\n"
Hi, World! Психологическая зависимость от надуманного ООП убивает проекты и их создателей. Всё хорошо в меру. (Найдено на просторах интернета).
+169
//reversed for sorting
inline bool operator< (const Weight & other) const {
return (GetValue() > other.GetValue());
};
+167
re: data=new unsigned char[sz+1];
#ifdef SAFEMEM
if(!data){ SAFEMEM Sleep(1); goto re;}
#endif
Источник: http://rsdn.ru/forum/cpp.applied/3852182.aspx
+148
struct table1
{
char name_of_function[3];
char name_of_variable[3];
char values[50];
};
struct table2
{
char name_of_function[3];
char name_of_variable[3];
char values[50];
};
///
table1 potential[10];
table2 returned[10];
///
if(strcmp(s,returned[m].name_of_function)==0)
{
while((strcmp(potential[mm].name_of_function,returned[m].name_of_function)!=0)&&mm<10){mm++; mmm=mm;}
if((strcmp(potential[mmm].name_of_function,returned[m].name_of_function)==0)&&mm<10)
{
while(strcmp(potential[mmm].name_of_function,returned[m].name_of_function)==0){mmm++;}
mmm--;
while((mm<=mmm)&&bo==false)
{
if(strcmp(potential[mmm].name_of_variable,returned[m].name_of_variable)==0)
{
strcpy(returned[m].values,potential[mmm].values);
bo=true;
}
mmm--;
}
if(bo==false)
{
strcpy(returned[m].values,"ax\0");
}
}
}
///
Лишь небольшой кусок из курсового проекта.
+174
signed ToBool(signed b){unsigned t=b;return ( ((t<<0)>>31) | ((t<<1) >>31) | ((t<<2) >>31) | ((t<<3) >>31) | ((t<<4) >>31) | ((t<<5) >>31) | ((t<<6) >>31) | ((t<<7) >>31) | ((t<<8) >>31) | ((t<<9) >>31) | ((t<<10) >>31) | ((t<<11) >>31) | ((t<<12) >>31) | ((t<<13) >>31) | ((t<<14) >>31) | ((t<<15) >>31) | ((t<<16) >>31) | ((t<<17) >>31) | ((t<<18) >>31) | ((t<<19) >>31) | ((t<<20) >>31) | ((t<<21) >>31) | ((t<<22) >>31) | ((t<<23) >>31) | ((t<<24) >>31) | ((t<<25) >>31) | ((t<<26) >>31) | ((t<<27) >>31) | ((t<<28) >>31) | ((t<<29) >>31) | ((t<<30) >>31) | ((t<<31) >>31) );};
signed NotBool(signed b){/*signed b=ToBool(b);*/unsigned t=(~b)<<31;return t>>31;};
signed isZero(signed a){return NotBool(ToBool(a));};
signed isNotZero(signed a){return NotBool(isZero(a));};
signed isSign(signed a){unsigned t=a;return (t>>31);};signed isNotSign(signed a){return NotBool(isSign(a));};
signed isEqual(signed a,signed b){ return isZero(a-b);};
signed isNotEqual(signed a,signed b){return NotBool(isEqual(a,b));};
signed isLess(signed a,signed b){return isSign(a-b);};
signed isEqualMore(signed a,signed b){return NotBool(isLess(a,b));};
signed isEqualLess(signed a,signed b){return isEqual(a,b)|isLess(a,b);};
signed isMore(signed a,signed b){return NotBool(isEqualLess(a,b));};
signed Equal(signed a,signed b,signed success,signed fail){signed t=isEqual(a,b);return (success*t)+(fail*NotBool(t));};
signed NotEqual(signed a,signed b,signed success,signed fail){signed t=NotBool(isEqual(a,b));return (success*t)+(fail*NotBool(t));};
signed Less(signed a,signed b,signed success,signed fail){signed t=isLess(a,b);return (success*t)+(fail*NotBool(t));};
signed More(signed a,signed b,signed success,signed fail){signed t=isMore(a,b);return (success*t)+(fail*NotBool(t));};
signed EqualLess(signed a,signed b,signed success,signed fail){signed t=isEqualLess(a,b);return (success*t)+(fail*NotBool(t));};
signed EqualMore(signed a,signed b,signed success,signed fail){signed t=isEqualMore(a,b);return (success*t)+(fail*NotBool(t));};
Вот такое форматирование... Хотя функции какие-то сомнительные...
+170
//Файл teamWorkFile.h:
static int teamWork(int e)
{
#if N==0
return 0;
#elif N==1
return Work52(e+1);
#elif
return WorkN(N);
#endif
};
//Файл teamWork.h:
//...
#define MaxProc 6
typedef int (*ProcTypeTeamWork)(int e);
ProcTypeTeamWork Proc[MaxProc];
#define N 0
#define teamWork ProcName0
#include "teamWorkFile.h"
#undef teamWork
#undef N
#define N 1
#define teamWork ProcName1
#include "teamWorkFile.h"
#undef teamWork
#undef N
int InitMultiProc()
{
Proc[0]=ProcName0;
Proc[1]=ProcName1;
Proc[2]=ProcName1;
Proc[4]=ProcName0;
Proc[5]=ProcName1;
return 0;
};
//Файл teamWorkLib.cpp:
#include "teamWork.h"
//...
InitMultiProc();
ProcTypeTeamWork SuperProc=Proc[5];
//Дальше в этом файле вызовы в стиле Proc[i](e);, SuperProc(255); и тд...
Удивительный код состоит из 3х файлов(teamWorkLib.cpp, teamWork.h, teamWorkFile.h), но он того стоит.
+167
bool dicLoaded_ = false;
....
dicLoaded_ = dicLoaded_?false:true;
Еще один перл из кандидатских заданий. Любителям тернарных операторов посвящается.
+167
#define ItemType char
#define SecondItemType unsigned
class Doubler
{
ItemType _i1_;
SecondItemType _i2_;
//...
//Дальше идёт много функций класса, использующие ItemType и SecondItemType.
//...
};
+159
class ControlerSingleton
{
private:
static int ControlCode;
static bool disaPear;
static int ArraySize;
//...
void Constructor()
{
//...
ArraySize=sizeof(masi)/sizeof(masi[0]);
disaPear=Pear();
threadRAII.Wait();
ControlCode=threadRAII.result();
//...
};
static int construct=Constructor();
public:
const bool Pear()
{
//...
};
Своеобразный "конструктор" в классе синглтона.