- 1
- 2
- 3
- 4
std::RAII_File(fileName, moda, [&](std::IOHandle fHandle)
{
//...
});
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+26
std::RAII_File(fileName, moda, [&](std::IOHandle fHandle)
{
//...
});
Паrни. Что-за код мне достался? Какой наркоман это написал? У него же ЛГМ лямбда головного мозга.
О std-инъекциях я даже молчу.
+24
#include <conio.h>
#include <stdio.h>
const int SIZE = 33;
void DecToBin (unsigned int num, char *bin)
{
int i,j;
char tmp[SIZE];
for(i=0; num; num>>=1, i++)
tmp[i] = (num&1)?('1'):('0');
for(j=0; j<i; j++)
bin[j] = tmp[i-j-1];
bin[j]='\0';
}
unsigned int shl(unsigned int num, int shift)
{
return (num << shift) | (num >> 32 - shift);
}
void main()
{
int n, m;
scanf("%d", &n);
char bin[SIZE];
DecToBin(n,bin);
printf("%s\n", bin);
m = shl(n, 35);
DecToBin(m,bin);
printf("%s\n", bin);
_getch();
}
Еще одна очередная лаба, но уже код преподавателя, который он дал в качестве примера. Сказал что код на C++ (к вопросу, где здесь с++), и что нам нужно переписать его на "яве".
+22
#include <iostream>
using namespace std;
auto fw(int i)->bool
{
return cout<<"Привет станция мир"<<i<<"!"<<endl, true;
}
auto ff()->bool
{
return cout<<"Это должно быть последние выполненное подвыражение."<<endl, false;
}
auto ft()->bool
{
return cout<<"Хьюстон, у нас КРЕСТОПРОБЛЕМЫ. Нарушен порядок вычисления и ленивость логических операторов. Мы падаем!!!!1111"<<endl, true;
}
struct TBabylonBug
{
bool a=true;
TBabylonBug(){}
TBabylonBug(bool a):a(a){}
const TBabylonBug operator&&(const bool ophui) const
{
return a&&ophui;
}
const TBabylonBug operator&&(const TBabylonBug& ophui) const
{
return a&&ophui.a;
}
};
int main() {
cout<<"кo"<<endl;
true&&fw(1)&&fw(2)&&ff()&&ft();
cout<<"кo ко"<<endl;
cout<<"TBabylonBug().a = "<<boolalpha<<TBabylonBug().a<<endl;
TBabylonBug()&&fw(1)&&fw(2)&&ff()&&ft();
cout<<"кo ко ко"<<endl;
return 0;
}
http://liveworkspace.org/code/efffb5204b0f69a2725b7d9f4ba0d570
+27
cout<<!0&&0;
Что вернет?
1) 1||0&&0
2) !0&&0
3) Приоритет оператора "!" ?
http://ideone.com/hHdZ1
http://ideone.com/s8Cj0
Сории за толстейший троллинг.
+33
std::function<int()> gl()
{
int a=0;
return [=]()mutable{return a++;};
}
int main()
{
auto a=gl();
cout
<<a()
<<endl
<<a()
<<endl
<<a()
<<endl
<<a();
return 0;
}
http://liveworkspace.org/code/22012a32e91743cd7357c86930df4b9c+32
Sleep("pause");
Написал как-то ночью. Без комментариев.
+81
#include "stdafx.h"
#include "windows.h"
#include "iostream"
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
#define прога_однако int _tmain(int argc, _TCHAR* argv[])
#define начнемс {
#define пора_заканчивать_однако }
#define возврощать_однако return
#define закончим_однако ;
#define ноль_однако 0
#define неделимое int
#define делимое float
#define логика_однако bool
#define символ char
#define поспать_однако system("pause")
#define откроем (
#define закроем )
#define туда >>
#define сюда <<
#define воспрошать_у_Юзверя_окаянного std::cin
#define сказать_Юзверю_окаянному std::cout
#define если if
#define иначе else
#define цикл_фор for
#define цикл_пока while
#define пойдем_туда goto
#define выбрать_из switch
#define вариант case
#define прервать break
#define размер sizeof
#define ложь false
#define истина true
#define по_умолчанию default
#define больше >
#define меньше <
#define больше_равно >=
#define меньше_равно <=
#define равно ==
#define прировнять =
#define не_равно !=
//-----------------------------------------------------
неделимое Места[3][3] закончим_однако
символ клавиша_меню закончим_однако
символ клавиша закончим_однако
логика_однако ход закончим_однако
неделимое последний_выиграш прировнять 0 закончим_однако
//-----------------------------------------------------
неделимое обновить_однако откроем закроем
начнемс
логика_однако Буфер[34][34] закончим_однако
неделимое i,j закончим_однако
цикл_фор откроем i прировнять 0 закончим_однако i меньше 34 закончим_однако i++ закроем // Стенки начало
начнемс
Буфер[i][0] прировнять 1 закончим_однако
Буфер[i][33] прировнять 1 закончим_однако
Буфер[0][i] прировнять 1 закончим_однако
Буфер[33][i] прировнять 1 закончим_однако
Буфер[11][i] прировнять 1 закончим_однако
Буфер[22][i] прировнять 1 закончим_однако
Буфер[i][11] прировнять 1 закончим_однако
Буфер[i][22] прировнять 1 закончим_однако
пора_заканчивать_однако // Стенки конец
//*****************************
цикл_фор откроем j прировнять 0 закончим_однако j меньше 3 закончим_однако j++ закроем
начнемс
цикл_фор откроем i прировнять 0 закончим_однако i меньше 3 закончим_однако i++ закроем
начнемс
выбрать_из откроем Места[i][j] закроем // Рисуем крестики и нолики
начнемс
неделимое a закончим_однако
вариант 1://1- Крестик
цикл_фор откроем a прировнять 2 закончим_однако a меньше_равно 9 закончим_однако a++ закроем
начнемс
Буфер[a+i*11][a+j*11] прировнять 1 закончим_однако
Буфер[ откроем i*11 закроем +11-a][ откроем j*11 закроем +a] прировнять 1 закончим_однако
пора_заканчивать_однако
прервать закончим_однако
вариант 2://2-Нолик
цикл_фор откроем a прировнять 3 закончим_однако a меньше_равно 8 закончим_однако a++ закроем
начнемс
Буфер[a+i*11][2+j*11] прировнять 1 закончим_однако
Буфер[a+i*11][9+j*11] прировнять 1 закончим_однако
Буфер[2+i*11][a+j*11] прировнять 1 закончим_однако
Буфер[9+i*11][a+j*11] прировнять 1 закончим_однако
пора_заканчивать_однако
прервать закончим_однако
вариант 0://0- Пустая клетка
//------------------
прервать закончим_однако
пора_заканчивать_однако
пора_заканчивать_однако
пора_заканчивать_однако
//*****************************
SetConsoleTextAttribute откроем GetStdHandle откроем STD_OUTPUT_HANDLE закроем , FOREGROUND_GREEN закроем закончим_однако
цикл_фор откроем j прировнять 0 закончим_однако j меньше 34 закончим_однако j++ закроем // Отрисовка массива начало
Крестики- нолики
Полный код http://paste.org.ru/?f9hw0h
+34
void
XmlRpcDispatch::work(double timeout)
{
...
nEvents = select(maxFd+1, &inFd, &outFd, &excFd, NULL);
...
}
void XmlRpcDispatch::terminate() {
...
XmlRpcSocket::connect(_cmd_sock, "127.0.0.1", port);
...
}
Не то чтобы говнокод, но забавный костыль. А как еще корректно выйти из select'a, ждущего входящих соединений? Создать соединение самому.
+21
if(m_bitRate < DSS_LOW_RATE/1000000.)
{
m_bitRate = DSS_LOW_RATE/1000000.;
}
else if(m_bitRate > DSS_HIGH_RATE/1000000.)
{
m_bitRate = DSS_HIGH_RATE/1000000.;
}
else if(m_bitRate > (.5*(DSS_HIGH_RATE - DSS_LOW_RATE) + DSS_LOW_RATE)/1000000.)
{
m_bitRate = DSS_HIGH_RATE/1000000.;
}
else
{
m_bitRate = DSS_LOW_RATE/1000000.;
}
умиляет. ну хотя бы, упростить .5*(DSS_HIGH_RATE - DSS_LOW_RATE) + DSS_LOW_RATE) до (DSS_HIGH_RATE + DSS_LOW_RATE)/2 -- понятнее, да? тогда и if(m_bitRate > DSS_HIGH_RATE/1000000.) можно убрать за ненадобносью (ибо число которое больше чем максимальное из двух точно больше чем среднее из этих жвух), и самое верхнее if(m_bitRate < DSS_LOW_RATE/1000000.) можно убрать ибо в else у нас то же самое произойдет - и сразу как бы читаестя с ходу и понимается, не надо напрягаться.
Боже, как я люблю крупные проприетарные проекты написанные людьми выбравшими для себя не свою профессию разработчика софта...
+32
#include <iostream>
void f(char c) { std::cout << "f(char)" << std::endl; }
void f(signed char c) { std::cout << "f(signed char)" << std::endl; }
void f(unsigned char c) { std::cout << "f(unsigned char)" << std::endl; }
int main()
{
f('a');
f((signed char)('a'));
f((unsigned char)('a'));
return 0;
}
илитный ресурс сегодня мне раскрыл глаза на очередное крестоблядство керниган-гай-ричи-блядство:
с:
The implementation shall define char to have the same range, representation, and behavior as either signed char or unsigned char.
Irrespective of the choice made, char is a separate type from the other two and is not compatible with either.
с++:
Characters can be explicitly declared unsigned or signed. Plain char, signed char, and unsigned char are three distinct types.