- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
#define KB * 1024
#define MB KB KB
#define GB MB KB
#define TB GB KB
int main( ... )
{
char * arr = new char [16 MB];
...
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1005
#define KB * 1024
#define MB KB KB
#define GB MB KB
#define TB GB KB
int main( ... )
{
char * arr = new char [16 MB];
...
}
+157
// ...
// xcrement - (in|de)crement
// ...
bool parse( . . . , int xcrement, . . . )
{
...
while ( ... )
{
...
index += xcrement;
}
...
}
+132
assert(!"Can't change this parameter.");
+971
#include<stdio.h>
#include<stdlib.h>
#define N 3
using namespace std;
/*class Node{
struct Node *f,*s,*t;
public :
int x,y;
void Node(int rx,int ry){
x=rx;
y=ry;
return;
}
};*/
typedef struct node{int x,y}node;
node tree[100];
node jmps[3];
int main(){
// Node *root=new Node(-1,-1);
int i=0,j;
////////////////////////
////////////////////////
tree[0].x=-1;
tree[0].y=-1;
for(i=0;i<N;i++){
for(j<N*)
}
}
+974
/*Вариант - вручную*/
#include <iostream>
#include <map>
#include <string>
#include <utility>
int main(int argc, char* argv[]) {
std::map<std::string, std::pair<int, int> > files;
files["0.txt"] = std::make_pair(0, 7);
files["1.txt"] = std::make_pair(8, 41);
files["2.txt"] = std::make_pair(42, 50);
std::map<std::string, std::pair<int, int> >::const_iterator begin = files.begin();
std::map<std::string, std::pair<int, int> >::const_iterator end = files.end();
int num = 21;
for (; begin != end; ++begin) {
if (num >= (*begin).second.first && num <= (*begin).second.second) {
std::cout << "Found in " + (*begin).first + "\n";
break;
}
}
return 0;
}
/*Вариант - STL+BOOST*/
#include <algorithm>
#include <functional>
#include <iostream>
#include <map>
#include <string>
#include <utility>
#include <boost/bind.hpp>
int main(int argc, char* argv[]) {
typedef std::map<std::string, std::pair<int, int> > map_type;
map_type files;
files["0.txt"] = std::make_pair(0, 7);
files["1.txt"] = std::make_pair(8, 41);
files["2.txt"] = std::make_pair(42, 50);
int num = 21;
map_type::const_iterator elem;
elem = std::find_if(
files.begin(),
files.end(),
boost::bind(
std::logical_and<bool>(),
boost::bind(
std::less_equal<int>(),
boost::bind(
&map_type::value_type::second_type::first,
boost::bind(
&map_type::value_type::second,
_1)
),
num),
boost::bind(
std::greater_equal<int>(),
boost::bind(
&map_type::value_type::second_type::second,
boost::bind(
&map_type::value_type::second,
_1)
),
num)));
if (elem != files.end())
std::cout << "Found in " + (*elem).first + "\n";
return 0;
}
Смысл в том, чтобы с данным значением(пример 21) пройтись по таблице и найти в каком элементе данное число(21) находится в диапазоне std::pair<int, int>...
Сначала написал вручную, но т.к. нужно было сделать с помощью STL, получилось сие чудо.
+960
// Encode() takes in reference to data. We now pass in reference to data instead of the
// entire data object to Encode() as it was causing memory leak(with the data object copy
// not getting deleted.
Data &tempData = *data;
Data::Encode(tempData, &encodedRequest, requestSize, 0);
Перевод:
Encode() принимает ссылку на data. Давайте передадим туда ссылку,
а то раньше мы передавали объект целиком, и это приводило к утечкам памяти (копия объекта не удалялась).
Здесь впору процитировать "Бойцовский Клуб":
-А в какой Вы фирме работаете?
-В крупной...
+144
/*
Некий не работающий кусок закомментированного кода.
*///It's fuckin shit C++!!!
Обнаружено в одном из наших проектов.
+116
class DllContainer
{
DllContainer()
{
// тут грузятся дллки в количестве N.
// LoadLibrary() + некоторые операции
}
~DllContainer()
{
// FreeLibrary() и т.п.
}
template <class T>
T* GetComponent(ComponentID id)
{
// аналог QueryInterface.
// ищет компонент, проверяет можно ли статик_кастить
// и вертает указатель нужного типа
}
};
class ComponentUser
{
void Method1()
{
DllContainer loader;
SomethingDoer* comp = loader.GetComponent<SomethingDoer>(ID1);
comp->DoSomething();
}
void Method2()
{
DllContainer loader;
SomethingElseDoer* comp = loader.GetComponent<SomethingElseDoer>(ID2);
comp->DoSomethingElse();
}
void MethodN()
{
DllContainer loader;
ShitPerformer* comp = loader.GetComponent<ShitPerformer>(IDN);
comp->PerformSomeShit();
}
};
недавно обнаружил код примерно такого плана.
крупный коммерческий проект...
+128
/********************************************************************
ОПЕРАЦИЯ ЛОГИЧЕСКОЕ ИСКЛЮЧАЮЩЕЕ ИЛИ
********************************************************************/
static inline bool XOR(bool lhs, bool rhs)
{
return (lhs && !rhs) || ( !lhs && rhs);
}
Человек не знал, что есть стандартный xor...
+115
#include "iostream"
using namespace std;
int main()
{
cout << "Vvedite storonu a:";
int a;
cin >> a;
cout << "Vvedite storonu b:";
int b;
cin >> b;
cout << "Vvedite storonu c:";
int c;
cin >> c;
int g=1;
while(g=1){
if(a==0||b==0||c==0){ cout << "Ne treugolnik";
break;}
if(a<=b+c || c<=a+b || b<=a+c){ cout << "Daaa!!! Treugolnik";}
break;}
return 0;
}
Вот как мы узнаем, треугольник ли это по сторонам.