- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
int i, n;
for(n = 0; n < 3; n++)
{
switch(n){
case 0:
n+=i;
case 1:
n-=i;
case 2:
n*=i;
}
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+75
int i, n;
for(n = 0; n < 3; n++)
{
switch(n){
case 0:
n+=i;
case 1:
n-=i;
case 2:
n*=i;
}
}
Написал это, встал и хорошенько вымыл руки с мылом.
http://programmersforum.ru/showthread.php?t=241288
+12
struct c_test
{
int value;
c_test(void)
{
(void)new (this) c_test (10);
}
c_test(int v)
{
value = v;
}
};
+8
#include <pthread.h>
template<class T = long long>
class AtomicCounter
{
public:
explicit AtomicCounter( T value = 0 ): _count( value ) { pthread_spin_init( &_lock, PTHREAD_PROCESS_PRIVATE );};
~AtomicCounter() { pthread_spin_destroy( &_lock ); };
T operator++(int) volatile { return interlockFetchAndAdd( 1 ); };
T operator--(int) volatile { return interlockFetchAndAdd( -1 ); };
T operator() () volatile { return interlockFetchAndAdd( 0 ); }
private:
volatile T _count;
pthread_spinlock_t _lock;
T interlockFetchAndAdd( int delta ) volatile
{
T x = 0;
pthread_spin_lock( &_lock );
x = _count;
_count += delta;
pthread_spin_unlock(&_lock);
return x;
}
};
Принцип наименьшего удивления, говорите
+14
std::string buf_str = str;
buf_str.erase( 0, strBlobFsParam.size() + 1 );
buf_str.erase( buf_str.begin(), find_if(buf_str.begin(), buf_str.end(), not1( ptr_fun<int, int>(isspace) ) ) );
buf_str.erase( find_if( buf_str.rbegin(), buf_str.rend(), not1( ptr_fun<int, int>(isspace) ) ).base(), buf_str.end() );
trim головного мозга
+9
HRESULT hr = ReadGenericXMLFile(srcStorage, pagePath, result);
if (hr == S_FALSE) return STG_E_FILENOTFOUND; // File must exist
if (FAILED(hr)) return hr;
Могу понять, обратное, когда вызывающая функция просто возвращает "false" при любом неудачном вызове внутренней функции: нет файла / нет доступа / runtime error и т.д. Здесь же наоборот, при "общем" неудачном вызове внутренней функции возвращается "конкретное" сообщение об ошибке.
+17
struct c_log
{
template<typename T> const c_log& operator << (const T& value)
{
//...
}
};
template<> const c_log& c_log::operator << <p_wstr> (const p_wstr& value)
{
fwrite(value, sizeof(wchar_t), wcslen(value), log_file);
return *this;
}
+7
namespace engine { namespace ui { class Console; } }
class Dummy
{
engine::ui::Console * _ptr;
};
Решение проблемы с перекрёстными #include, когда классы должны хранить указатели друг на друга. Простое объявление class engine::ui::Console; не работает.
Не в первый раз сталкиваюсь с этой проблемой из-за примитивной системы импорта.
+17
#if defined(SDL_MAIN_NEEDED) || defined(SDL_MAIN_AVAILABLE)
#define main SDL_main
#endif
Боже, за что??!
http://hg.libsdl.org/SDL/file/75726efbf679/include/SDL_main.h
+5
#include <iostream>
using namespace std;
void f(void){cout<<"f"<<endl;}
void f1(void){cout<<"f1"<<endl;}
bool secondIfIsTryed(){cout<<"secondIfIsTryed"<<endl;return true;}
#define asserts(Condition) {cout<<"Assert"<<endl;}
int main() {
if(true)
if(secondIfIsTryed() && false)
f();
else
f1();
if(true)
if(secondIfIsTryed() && false)
asserts(true)
else
f1();
return 0;
}
Помните того вечно сомневающегося знакомого, тест крестов, написанный которым я недавно приводил?
http://ideone.com/9Q61D1
В этот раз под его глуповатый, но пытливый взгляд попал макрос ассерта. Написан он конечно не так, как в этом тесте, но имеет код вида:
#define asserts(Condition) {/*...*/}
+3
typedef std::vector/*deque recommended*/<index_history_item> index_history;
Как понимать этот комментарий?