- 1
- 2
- 3
- 4
- 5
- 6
- 7
int array[100];
//~=//=~
for(i=0;i<100;++i)
{
if(array[i] != 0) continue;
break;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+66
int array[100];
//~=//=~
for(i=0;i<100;++i)
{
if(array[i] != 0) continue;
break;
}
Код ужасно упрощен, но смысл передан полностью. Как я такое написал хз.
+68
#include <iostream>
using namespace std;
unsigned ololo_div(unsigned what, unsigned by) {
unsigned cnt=0;
while( what>by ) {
what-=by;
cnt++;
}
if( what==0 ) cnt++;
return cnt;
}
int main() {
cout << ololo_div(10,0) << endl;
return 0;
}
"че там делить то)))"
http://codepad.org/nL06uX2s
+64
QSqlQuery my_query;
my_query.prepare(
QString("INSERT INTO table1 (number, address, age) VALUES (%1, '%2', %3);")
.arg(fromInput1).arg(fromInput2).arg(fromInput3)
);
Жаль, но похоже автор не осилил экранирование от SQL-иньекций.
+70
qDebug() << QString("%1-%2").arg("%1").arg("foo");
+72
auto val = map_.at(std::distance(map_.begin(),
std::min_element(map_.begin(), map_.end(), [](std::vector<int> a, std::vector<int> b)
{
return b.at(std::distance(b.begin(), std::min_element(b.begin(), b.end()))) > a.at(std::distance(a.begin(), std::min_element(a.begin(), a.end())));
})));
return val.at(std::distance(val.begin(), std::min_element(val.begin(), val.end())));
Разыменование итератора для слабаков!
+61
std::cout << std::cout << "Hello, world";
С гейдевчика, странно, что здесь не было.
+77
#define SK_SIMPLE_SIZE SK_BIG : case SK_SMALL : case SK_MIDDLE
switch (some_shit)
{
case SK_TINY :
{
do_smth();
}
break;
case SK_SIMPLE_SIZE :
{
do_smth2();
}
break;
}
странно что вроде бы тут не было
+14
typedef CStatisticsCalculator* (*TCalcCreator)(string&, const TUltimateStatDataPtr&);
typedef std::map <CStatisticsCalculator::eCalcKind, boost::tuple<string, TUltimateStatDataPtr, TCalcCreator>> TCalcImplMap;
static TCalcImplMap CalcsMap;
CStatisticsCalculator* CStatisticsCalculator::MakeNewCalculator(CStatisticsCalculator::eCalcKind Kind,
const TUltimateStatDataPtr& Data )
{
if (CalcsMap.empty())
{
CalcsMap[eCalcKind::eExtremeDealPrice] =
boost::make_tuple(string("be.commons.calculators.extreme_prices"), Data,
[](string& Name, const TUltimateStatDataPtr& Data_)->CStatisticsCalculator*
{ return new CExtremePricesCalculator(Name.c_str(), Data_);});
CalcsMap[eCalcKind::eTurnOver] =
boost::make_tuple(string("be.commons.calculators.turnover"), Data,
[](string& Name, const TUltimateStatDataPtr& Data_)->CStatisticsCalculator*
{ return new CTurnOverCalculator(Name.c_str(), Data_);});
};
auto i = CalcsMap.find(Kind);
if (i == CalcsMap.end())
return 0;
auto& tpl = i->second;
return tpl.get<2>()(tpl.get<0>(), tpl.get<1>());
};
Фабричный метод теперь выглядит так
+9
template<...many params...>
class Foo
{
template <typename T>
class __Bar
{
T t;
public :
__Bar(T t) : t(t) {}
};
public :
template <typename T>
__Bar<T> Bar(T t)
{
return __Bar<T>(t); // просто __Bar(t) нельзя, вывод не сработает
}
template <typename T>
void Buzz (T t)
{
}
};
...
Foo f;
f.Buzz(Bar(5));
А как вы выкручиваетесь из неумения определять тип результата по типу параметров конструктора?
+9
BOOST_FOREACH(auto &v, pt.get_child("root"))
Код компилируется и написан таким изначально. Но судя по всему использует копипаст из примеров.