- 1
- 2
- 3
QString dump_str = "dump";
log4cplus::tstring tdump = (std::wstring((wchar_t*)dump_str.unicode(), dump_str.length()));
XLogger::dumper = log4cplus::Logger::getInstance(std::wstring(tdump));
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1000
QString dump_str = "dump";
log4cplus::tstring tdump = (std::wstring((wchar_t*)dump_str.unicode(), dump_str.length()));
XLogger::dumper = log4cplus::Logger::getInstance(std::wstring(tdump));
Мой "шедевр"
Три преобразования подряд
Если кто подскажет как это по человечески приписать буду благодарен.
+1006
class Worker
{
private:
char name[15];
double salary;
...
public:
Worker(char* n, double s)
{
...
if (s < 0)
salary = verSal(s);
else
salary = s;
...
}
char* getName()
{
char* t = new char[15];
strcpy(t, name);
return t;
}
private:
double verSal(double s)
{
do
{
cout << "Ошибка при вводе зарплаты. Введите зарплату: ";
cin >> s;
}
while (s < 0);
return s;
}
}
Вот ещё один пример из конспекта (это уже от другого преподавателя). Он, заявил, что в getName() о t "позаботится сборщик мусора". Просто он Java тоже читает...
+154
const inline unsigned char convert(const char c1, const char c2) const {
return ((c1 > '9' ? c1 - 'A' + 10 : c1 - '0') << 4) + ((c2 > '9' ? c2 - 'A' + 10 : c2 - '0') & 0xF);
}
+1006
int main()
{
// инициализация графики
...
while (!kbhit())
{
int start = rand();
srand(start);
// рисуем фейерверк
for (int i = 0; i < 100; i++)
{
int x = rand();
int y = rand();
int color = rand();
putPixel(x, y, color);
}
sleep(100);
// стираем
srand(start);
for (int i = 0; i < 100; i++)
{
int x = rand();
int y = rand();
rand();
if (getPixelColor(x, y) != BLACK)
putPixel(x, y, BLACK);
}
}
return 0;
}
Вот такой пример использования графической библиотеки нам давали в институте. (Набирал по памяти т.к. я решил это с доски не переписывать.)
+1012
void Transponse() // Транспонировать матрицу
{
m12 = m21; m13 = m31; m14 = m41;
m21 = m12; m23 = m32; m24 = m42;
m31 = m13; m32 = m23; m34 = m43;
m41 = m14; m42 = m24; m43 = m34;
}
+153
// static_lit.h
#ifndef __STATIC_LIT__
#define __STATIC_LIT__
namespace
{
namespace Toast
{
namespace Detail
{
template<int UNIT_LOCAL_UID>
struct TUnitUniqueId
{
static int sGloballyUniqueVar;
};
template<int UNIT_LOCAL_UID>
int TUnitUniqueId<UNIT_LOCAL_UID>::sGloballyUniqueVar = 0;
}
}
}
#define GEN_UID_IMPL(line) &Toast::Detail::TUnitUniqueId<line>::sGloballyUniqueVar
//#define GEN_UID GEN_UID_IMPL(__LINE__)
#define GEN_UID GEN_UID_IMPL(__COUNTER__)
// В оригинале тут было __LINE__, однако в $тудии, сконфигурированной
// под билд в неком специфическом сдк, __LINE__ почему-то не опознавалось
// в качестве константы и не принималось в шаблон. Пришлось заменить её
// на менее портабельный, но работоспособный и, кстати, более уместный
// в этом качестве __COUNTER__.
template<class T,int* UID>
struct StaticLit
{
static T &Get (const char *str)
{
static T instance (str); // простейший случай для примера,
// вы без труда адаптируете его к использованию синглтонов
// и прочих премудростей
return instance;
}
};
#define SLTR_IMPL2(T,unique_id) StaticLit<T,unique_id>
#define SLTR_IMPL(T) SLTR_IMPL2(T,GEN_UID)
#define SLTR(T,str) (SLTR_IMPL(T)::Get (str))
#endif // __STATIC_LIT__
Настоящий Статический Литерал на С++
http://www.gamedev.ru/flame/forum/?id=158006
извените за игрострой
+1000
if(m_numberColors>1)
{
m_colorComboColor2.ShowWindow(SW_SHOW);
}
else
{
m_colorComboColor2.ShowWindow(SW_HIDE);
}
if(m_numberColors>2)
{
m_colorComboColor3.ShowWindow(SW_SHOW);
}
else
{
m_colorComboColor3.ShowWindow(SW_HIDE);
}
if(m_numberColors>3)
{
m_colorComboColor4.ShowWindow(SW_SHOW);
}
else
{
m_colorComboColor4.ShowWindow(SW_HIDE);
}
if(m_numberColors>4)
{
m_colorComboColor5.ShowWindow(SW_SHOW);
}
else
{
m_colorComboColor5.ShowWindow(SW_HIDE);
}
if(m_numberColors>5)
{
m_colorComboColor6.ShowWindow(SW_SHOW);
}
else
{
m_colorComboColor6.ShowWindow(SW_HIDE);
}
if(m_numberColors>6)
{
m_colorComboColor7.ShowWindow(SW_SHOW);
}
else
{
m_colorComboColor7.ShowWindow(SW_HIDE);
}
if(m_numberColors>7)
{
m_colorComboColor8.ShowWindow(SW_SHOW);
}
else
{
m_colorComboColor8.ShowWindow(SW_HIDE);
}
if(m_numberColors>8)
{
m_colorComboColor9.ShowWindow(SW_SHOW);
}
else
{
m_colorComboColor9.ShowWindow(SW_HIDE);
}
if(m_numberColors>9)
{
m_colorComboColor10.ShowWindow(SW_SHOW);
}
else
{
m_colorComboColor10.ShowWindow(SW_HIDE);
}
Есть десять элементов!
Нужно в зависимости от числа управлять видимостью.
Страшно подумать если бы их было 1000!!!!
+994
int GetLocaleImageIndexById(LCID LocaleID)
{
CString Id = CPiCultureInfo::GetSpecific(LocaleID).GetISO3166Country().MakeLower();
if (Id == "ad") return 0;
if (Id == "ae") return 1;
if (Id == "af") return 2;
.
.
.
.
.
if (Id == "zm") return 245;
if (Id == "zw") return 246;
return -1;
}
Слов нет
+142
#include <iostream>
using namespace std;
int main()
{
int i, n;
cin >> n;
int A[n];
for(i = 0; i < n; i++)
cin >> A[i];
for(i = 0; i < n - 1; i++)
swap (A[i], A [n - i + 1]);
for(i = 0; i < n; i++)
cout << A[i] << " ";
return 0;
}
Помогите! Должен выводить числа массива в обратном порядкеБ а он не выводит!
+994
template< typename _Data >
void
Foo< _Data >::deduceNumberOfSignificant( _Data _field )
{
switch( sizeof( _Data ) )
{
case sizeof( field32 ):
m_significantNumber = 7;
break;
case sizeof( field64 ):
m_significantNumber = 16;
break;
case sizeof( field128 ):
m_significantNumber = 34;
break;
default:
BOOST_ASSERT( "Improper field size" );
}
}