- 1
- 2
- 3
- 4
- 5
#ifndef _WIN32
std::ostream * dpOutputStream;
#else
ostream * dpOutputStream;
#endif
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1014
#ifndef _WIN32
std::ostream * dpOutputStream;
#else
ostream * dpOutputStream;
#endif
делаем код портабельным.
+1014
if (strlen(Uid.c_str()) > 0)
{
// ...
}
собственно, std::string Uid;
+1013
if (!done && (done = true)) setlocale(LC_CTYPE, "");
из свежих ворнингов компилера.
+1012
void Transponse() // Транспонировать матрицу
{
m12 = m21; m13 = m31; m14 = m41;
m21 = m12; m23 = m32; m24 = m42;
m31 = m13; m32 = m23; m34 = m43;
m41 = m14; m42 = m24; m43 = m34;
}
+1011
#define RETURN_OR_THROW_EXCEPTION_IF_ERROR(Expression, Exception) if(!Expression) throw Exception; return Expression
+1010
$obj = new Task(null,null,null,null,null,null,null,null,null,null,null,null,null,null,null);
Когда аргументов не осталось :(
P.S: Когда конструктор хочет слишком многого (нужно установить всего одно свойство - извещение об ошибке).
+1009
#define STRING_REF char*
#define STRING_ARRAY_REF char**
#define STRING_ARRAY_ARRAY_REF char***
#define INT_ARRAY_REF int*
#define INT_ARRAY_ARRAY_REF int**
#define INT_ARRAY_3D_REF int***
#define INT_ARRAY_4D_REF int****
#define BYTE_ARRAY_REF signed char*
#define BYTE_ARRAY_ARRAY_REF signed char**
#define BYTE_ARRAY_3D_REF signed char***
#define UNSIGNED_BYTE_ARRAY_REF unsigned char*
#define UNSIGNED_BYTE_ARRAY_ARRAY_REF unsigned char**
#define UNSIGNED_BYTE_ARRAY_3D_REF unsigned char***
#define SHORT_ARRAY_REF short*
#define SHORT_ARRAY_ARRAY_REF short**
#define SHORT_ARRAY_3D_REF short***
#define SHORT_ARRAY_4D_REF short****
#define SHORT_ARRAY_5D_REF short*****
Без комментариев
+1009
mExpanded = onExpandClick ? !mExpanded : mExpanded;
+1009
void SendIntMessages(int* array, int len, bool sendFromstart)
{
int i = sendFromstart ? 0 : (len - 1);
for (;;)
{
if ((sendFromstart) && (i >= len)) break;
else if ((!sendFromstart) && (i < 0)) break;
SentIntMessage(array[i]);
if (sendFromstart) i++;
else i--;
}
}
Гибкий цикл.
+1009
#pragma once
#include <vector>
#include <algorithm>
#include <exception>
using namespace std;
template<typename nodeT>
class Tree
{
Tree* root;
Tree(Tree* _root, nodeT value)
: root(_root)
, Node(value)
{
}
vector<Tree> children;
public:
nodeT Node;
Tree(void) : root(nullptr) { }
Tree(const Tree& value)
: children(value.children)
, Node(value.Node)
, root(value.root)
{
}
virtual ~Tree(void) { }
const Tree& operator=(const Tree& value)
{
if(&value != this)
{
children = value.children;
for_each(children.begin(), children.end(), [this](Tree& tree)
{
tree.root = this;
});
Node = value.Node;
root = value.root;
}
return *this;
}
Tree& Root()
{
if(root == nullptr)
{
throw exception("already root");
}
return *root;
}
bool IsRoot() const
{
return root == nullptr;
}
Tree* Push(nodeT node)
{
children.push_back(Tree(this, node));
return &children.back();
}
Tree& operator[](typename vector<Tree>::size_type index)
{
return children[index];
}
vector<Tree*> Children()
{
vector<Tree*> result;
for(vector<Tree>::iterator i = children.begin(); i!=children.end(); i++)
{
result.push_back(&(*i));
}
return result;
}
typename vector<Tree>::iterator begin()
{
return children.begin();
}
typename vector<Tree>::iterator end()
{
return children.end();
}
};
Шаблон из http://govnokod.ru/6415.