- 1
- 2
- 3
- 4
- 5
- 6
- 7
if ($_GET['cred_sum']!=""){
$_GET['cred_sum']=$_GET['cred_sum']-$_GET['cred_sum']-$_GET['cred_sum'];
}
// simple hack
else {
$_GET['cred_sum'] = -1;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+157
if ($_GET['cred_sum']!=""){
$_GET['cred_sum']=$_GET['cred_sum']-$_GET['cred_sum']-$_GET['cred_sum'];
}
// simple hack
else {
$_GET['cred_sum'] = -1;
}
Делаем cred_sum отрицательным
−268
NSMutableArray * constraints_to_remove = [ @[] mutableCopy] ;
Мсье знает толк!
+41
for (std::vector<SomeClass::SmartPtr>::iterator i = candidates.begin ();
i != candidates.end (); )
{
if ((*i)->getArea ().intersect (thisArea))
{
// label is inside the area.
++i;
}
else
{
// label must be removed
std::iter_swap (i, candidates.end () - 1);
candidates.pop_back ();
}
}
Не совсем ясны были мотивы человека, написавшего это. Этот код вообще не работает и не сразу и поймешь что тут к чему.
+140
#include<stdio.h>
int main()
{FILE*f1,*f2;
f1=fopen("input.txt","r");
f2=fopen("output.txt","w");
int i,j,k,l,n,m,l1,m1;
int a[100000]={0};
int b[100]={0},b1[100]={0};
fscanf(f1,"%d%d",&n,&k);
for(i=0;i<n;i++)
{fscanf(f1,"%d",&a[i]);
if (i==0) b[(a[i]%k+k)%k]=1;
else {for(j=0;j<k;j++)
if(b[j]==1) {b1[(a[i]%k+j+k)%k]=1; b1[(j-a[i]%k+k)%k]=1;}
for(j=0;j<k;j++)
{b[j]=b1[j]; b1[j]=0;}}}
if (b[0]==1) fprintf(f2,"Divisible");
else fprintf(f2,"Not divisible");
fclose(f1);
fclose(f2);
return 0;}
Динамический алгоритм. работа с остатками. тестировщик прожевал и выдал максимум:)
+104
catch (Exception ex)
{
try
{
if (ex.Message == "Thread was being aborted.")
{
+63
int main()
{
server::CServer();
return 0;
}
class CServer {
public:
CServer()
{
SOCKET listen_sd = socket (AF_INET, SOCK_STREAM, 0); CHK_ERR(listen_sd, "socket");
SET_NONBLOCK(listen_sd);
struct sockaddr_in sa_serv;
memset (&sa_serv, '\0', sizeof(sa_serv));
sa_serv.sin_family = AF_INET;
sa_serv.sin_addr.s_addr = INADDR_ANY;
sa_serv.sin_port = htons (1111); /* Server Port number */
int err = ::bind(listen_sd, (struct sockaddr*) &sa_serv, sizeof (sa_serv)); CHK_ERR(err, "bind");
err = listen (listen_sd, 5); CHK_ERR(err, "listen");
while(true)
{
Sleep(1);
struct sockaddr_in sa_cli;
size_t client_len = sizeof(sa_cli);
#ifdef WIN32
const SOCKET sd = accept (listen_sd, (struct sockaddr*) &sa_cli, (int *)&client_len);
#else
const SOCKET sd = accept (listen_sd, (struct sockaddr*) &sa_cli, &client_len);
#endif
Callback(sd);
}
}
};
http://habrahabr.ru/post/211853/
Бесконечный цикл (event loop) в конструкторе.
Опущены неинтересные строчки инициализации всякой фигни.
Про Sleep вместо select/epoll/etc. я вовсе молчу.
+140
ЗА РУСЬ!!!
+33
template<typename F, typename... Fns>
struct Overloaded
{
std::tuple<F,Fns...> fns;
// эта и следующая за ней функция нужны для рекурсивного
// накопления кортежа из всех входящих функций
template<typename First, typename... Others>
std::tuple<First,Others...> collect(First f, Others... others) {
auto t = std::make_tuple(f);
return std::tuple_cat(t, collect(others...));
}
template<typename Single>
std::tuple<Single> collect(Single f) {
return std::make_tuple(f);
}
Overloaded(F f, Fns... others) {
// сохраняем кортеж функций
fns = collect(f, others...);
}
};
template<typename F, typename... Fns>
Overloaded<F,Fns...> make_overloaded(F f, Fns... fns) {
return Overloaded<F,Fns...>(f,fns...);
}
//...
void F1(int) {}
void F2(int, float) {}
// ...
auto f = make_overloaded(F1, F2);
Не хочется связываться с бустом ввиду его убогости громоздкости. Поэтому пытаюсь сделать сам на чистом C++11 без макросов.
Не понятно теперь как перегрузить оператор ()?
Задействовать enable_if? Ни чего в голову не приходит.
Есть у кого идеи?
Оттуда
+15
#include <vector>
#include <iostream>
using namespace std;
// -- tools
// макет времени компиляции определяет количество элементов массива указанного в аргументе
template<class T, size_t N> char (&Size( T (&arr)[N] ) )[N];
// -- internal closed implementation --
int data1[] = {0, 1, 2};
char data2[] = {42};
const int ( &GetMechaData1() ) [ sizeof( Size(data1) ) ] { return data1; }
const char( &GetMechaData2() ) [ sizeof( Size(data2) ) ] { return data2; }
// -- API
//--- функции возвращают ссылки на массивы: например такого: const int[ sizeof( Size(data1) ]
const int ( &GetMechaData1() ) [ sizeof( Size(data1) ) ];
const char( &GetMechaData2() ) [ sizeof( Size(data2) ) ];
// client code
template<class T, size_t N> void ViewArray(const T (&arr)[N])
{
cout<<"data stored: \n";
for( auto& item: arr )
cout<< "item : "<<item<<endl;
}
int main()
{
ViewArray( GetMechaData1() );
ViewArray( GetMechaData2() );
return 0;
}
http://rextester.com/AEINWM88529
−117
//try setting up POST request, if failed settle with GET
try {
if (url_variables == null || (params && params.method == URLRequestMethod.GET)) throw new ArgumentError();
url_request.data = url_variables;
url_request.method = URLRequestMethod.POST;
}
catch(er:Error) {
url_request.url = url;
url_request.method = URLRequestMethod.GET;
}
Ветвление с помощью try..catch.
Возьму себе на заметку.