- 1
- 2
- 3
- 4
- 5
for (;!pool.isEmpty() || started;) {
for (;!pool.isEmpty();) {
GramophoneEvent event = pool.poll();
event.apply(handler);
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+16
for (;!pool.isEmpty() || started;) {
for (;!pool.isEmpty();) {
GramophoneEvent event = pool.poll();
event.apply(handler);
}
while для слабаков!
+12
#ifndef __MAKROS_H__
#define __MAKROS_H__
// ...
#define countof( array ) sizeof( array ) / sizeof( array[ 0 ] )
#define IS_CLUSTER( id ) id >= FIRST_CLUSTER_ID
#define CREATE_TEMP_FILE( autoclean_name, file_prefix ) \
char create_temp_file_file_mask[ MAX_PARAM_STR_LENGTH ]; \
snprintf( create_temp_file_file_mask, MAX_PARAM_STR_LENGTH, "%s/%sXXXXXX", config::tmp_path, file_prefix ); \
int create_temp_file_desc=mkstemp( create_temp_file_file_mask ); \
if(create_temp_file_desc<0) \
{ \
DEBUG_E( Interface, "Cannot create temporary file: %s\n", create_temp_file_file_mask ); \
ret=RET_CANTOPENFILE; \
CHECK_RET(sock, ret); \
return true; \
} \
close(create_temp_file_desc); \
autoclean autoclean_name( create_temp_file_file_mask );
#endif // __MAKROS_H__
Это просто праздник какой-то
+11
template <class T>
class autoptr
{
private:
T * _ptr;
public:
autoptr()
{
_ptr = 0;
}
autoptr( T * ptr )
{
_ptr = ptr;
}
~autoptr()
{
if(_ptr) delete _ptr;
}
operator T * ()
{
return _ptr;
}
T * operator -> ()
{
return _ptr;
}
T * get()
{
T *ret = _ptr;
_ptr = 0;
return ret;
}
};
template <class T>
class autoptr_mas
{
// ...
НУ ЗАЧЕМ?!
+24
void sleep_in_qt_ms(unsigned millisec) {
QMutex foo;
foo.lock();
foo.try_lock(millisec);
foo.unlock();
}
sleep в Qt - что, серьезно, чтоли?
особенно порадовало: Warning: Destroying a locked mutex may result in undefined behavior.
действительно, накой нам деструкторы?
+11
void Bitmap::flipRB()
{
int nBytes = w*h;
void *d = data;
__asm
{
mov edx, 0;
pixloop: mov eax, d;
mov eax, [eax];
mov ebx, edx;
shl ebx, 0x2;
add eax, ebx;
mov ebx, [eax];
and ebx, 0xFFFFFF;
mov ecx, ebx;
shr ebx, 0x10;
shl ecx, 0x10;
or ebx, ecx;
shr ecx, 0x10;
and ecx, 0xFF00;
or ebx, ecx;
and ebx, 0xFFFFFF;
or ebx, 0xFF000000;
mov [eax], ebx;
inc edx;
cmp edx, nBytes;
jne pixloop;
}
}
Откопал очередной свой велосипедный класс, в нем попался такой вот метод для конвертирования цветов ARGB в ABGR.
+3
#include <cstdlib>
#include <iostream>
#include <time.h>
using namespace std;
const int n=20;
int mass[20];
void massiv(int x[])
{
srand(time(NULL));
for(int i=0;i<20;i++) mass[i]=rand()%100;
return 0;
}
void vivod(int x[])
{
for(int i=0;i<20;i++) cout<<mas[i]<<"\n";
return 0;
}
void sort (int x[])
{
int i,j,b;
for(j=1;j<=n-1;j++)
for(i=0;i<=n-1-j;i++)
if (mass[i]>mass[i+1])
{
b=mass[i];
mass[i]=mass[i+1];
mass[i+1]=b;
}
}
return 0;
}
int main(int argc, char *argv[])
{
zapolneniemassiva(mass[20]);
pokaz(mass[20]);
sort(mass[20]);
variant3(mass[20]);
system("PAUSE");
return EXIT_SUCCESS;
}
Одногруппник сделал лабу на C++, программа сортирует массив по возрастанию и выводит, ну, по крайней мере, должна.
+1
int main()
{
__asm()
{
NOP
}
return 0;
}
программа делает ничего, но делает
+11
typedef ::boost::array<T, item_amount+1> not_raw_array;
union data
{
not_raw_array m_raw_array;//Most members of boost::array not suitable for call with raw array. Be careful!
};
+20
int spectrumColor(float magn)
{
if (magn != magn) return 0xFF000000;
if ((magn <= -FLT_MAX && magn >= FLT_MAX)) return 0xFF000000;
const float minRange = -95.0f;
if (magn > minRange && magn <= (minRange + 10.0f))
return blendColor(0, 0x00004f, (magn - minRange) / 10.0f);
if (magn > (minRange + 10.0f) && magn <= (minRange + 20.0f))
return blendColor(0x00004f, 0x50007b, (magn - (minRange + 10.0f)) / 10.0f);
if (magn > (minRange + 20.0f) && magn <= (minRange + 30.0f))
return blendColor(0x50007b, 0x990076, (magn - (minRange + 20.0f)) / 10.0f);
if (magn > (minRange + 30.0f) && magn <= (minRange + 40.0f))
return blendColor(0x990076, 0xd20040, (magn - (minRange + 30.0f)) / 10.0f);
if (magn > (minRange + 40.0f) && magn <= (minRange + 50.0f))
return blendColor(0xd20040, 0xf51f00, (magn - (minRange + 40.0f)) / 10.0f);
if (magn > (minRange + 50.0f) && magn <= (minRange + 60.0f))
return blendColor(0xf51f00, 0xffaa00, (magn - (minRange + 50.0f)) / 10.0f);
if (magn > (minRange + 60.0f) && magn <= (minRange + 70.0f))
return blendColor(0xffaa00, 0xfff966, (magn - (minRange + 60.0f)) / 10.0f);
if (magn > (minRange + 70.0f) && magn <= (minRange + 80.0f))
return blendColor(0xfff966, 0xffffff, (magn - (minRange + 70.0f)) / 10.0f);
if (magn < minRange) return 0xFF000000;
if (magn >= (minRange + 80.0f)) return 0xFFFFFFFF;
return 0xFF000000;
}
Вот так в одной говноподелке считается цвет столбцов спектра для визуализации аудио.
+24
tmpPtr = SCPGetFreeTextMedicalHistory(ecg);
if (!tmpPtr) tmpPtr = unsp;
m_patientPage->SetDlgItemTextW(IDC_EDIT15, tmpPtr);
if (tmpPtr != unsp) SCPFreeMem(tmpPtr);
tmpPtr = SCPGetTechnicianDescription(ecg);
if (!tmpPtr) tmpPtr = unsp;
m_miscPage->SetDlgItemTextW(IDC_EDIT19, tmpPtr);
if (tmpPtr != unsp) SCPFreeMem(tmpPtr);
. . .
tmpPtr = SCPGetLatestConfirmingPhysician(ecg);
if (!tmpPtr) tmpPtr = unsp;
m_miscPage->SetDlgItemTextW(IDC_EDIT18, tmpPtr);
if (tmpPtr != unsp) SCPFreeMem(tmpPtr);
tmpPtr = SCPGetReferringPhysician(ecg);
if (!tmpPtr) tmpPtr = unsp;
m_miscPage->SetDlgItemTextW(IDC_EDIT17, tmpPtr);
if (tmpPtr != unsp) SCPFreeMem(tmpPtr);
. . .