- 1
qDebug() << QString("%1-%2").arg("%1").arg("foo");
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+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"))
Код компилируется и написан таким изначально. Но судя по всему использует копипаст из примеров.
+12
int main()
{
MyList<MySubList*> *list;
...
int error=makeZeroItemsNull(list)+deleteZeroItems(list);
delete list;
return error;
}
int makeZeroItemsNull(MyList *list)
{
//Удаляем указатели в списке и обнуляем
if(list==0||error)return 1;
return deleteZeroItems(list); //На всякий случай проверяем остались ли не удаленные элементы
}
int deleteZeroItems(MyList *list)
{
//Удаляем из списка обнуленные элементы
if(list==0||error)return 2;
return makeZeroItemsNull(list); //На всякий случай проверяем остались ли не обнуленные элементы
}
Учим все функции возвращать int(0) когда нет ошибок.
+9
class t_item{
public:
#define DEF_PRO_STRUCT_INFO(NAME,PARENT,OWNER)NAME(t_item)
#define DEF_PRO_VARIABLE(ADDBEG,ADDVAR,ADDEND)\
ADDBEG()\
ADDVAR(0,string,name,DEF,$,$)\
ADDVAR(1,int,next,SET,0,$)\
ADDEND()
//=====+>>>>>t_item
#include "QapGenStruct.inl"
//<<<<<+=====t_item
public:
};
+14
string modify( const string & str )
{
if( str.size() == 0 ) return "00";
if( str.size() == 1 ) return "0" + str;
return string( str.end() - 2, str.end() );
}
string modify4( const string & str )
{
if( str.size() == 0 ) return "0000";
if( str.size() == 1 ) return "000" + str;
if( str.size() == 2 ) return "00" + str;
if( str.size() == 3 ) return "0" + str;
return string( str.end() - 4, str.end() );
}
string TimeISOFormat( time_t cur )
{
char buf[32];
struct tm * timeinfo;
timeinfo = localtime ( &cur );
strftime(buf, 32, "%y", timeinfo);
string year(buf);
strftime(buf, 32, "%m", timeinfo);
string month(buf);
strftime(buf, 32, "%d", timeinfo);
string day(buf);
strftime(buf, 32, "%H", timeinfo);
string hour(buf);
strftime(buf, 32, "%M", timeinfo);
string minute(buf);
strftime(buf, 32, "%S", timeinfo);
string second(buf);
return modify4( year ) + "-" + modify( month ) + "-" + modify( day ) + "T" + modify( hour )+ ":" + modify( minute )+ ":" + modify( second );
}
string CurrentTimeISOFormat()
{
time_t cur = CurrentTime();
char buf[32];
struct tm * timeinfo;
timeinfo = localtime ( &cur );
strftime(buf, 32, "%y", timeinfo);
string year(buf);
strftime(buf, 32, "%m", timeinfo);
string month(buf);
strftime(buf, 32, "%d", timeinfo);
string day(buf);
strftime(buf, 32, "%H", timeinfo);
string hour(buf);
strftime(buf, 32, "%M", timeinfo);
string minute(buf);
strftime(buf, 32, "%S", timeinfo);
string second(buf);
return modify4( year ) + "-" + modify( month ) + "-" + modify( day ) + "T" + modify( hour )+ ":" + modify( minute )+ ":" + modify( second );
}
time_t CurrentTime()
{
time_t rawtime = 0;
time(&rawtime);
return rawtime;
}