- 1
- 2
- 3
- 4
- 5
- 6
int FCEUI_SetCheat(....)
{
...
if((t=(char *)realloc(next->name,strlen(name+1))))
...
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+11
int FCEUI_SetCheat(....)
{
...
if((t=(char *)realloc(next->name,strlen(name+1))))
...
}
А пасиму оно на 2 байта меньше выделяет, насяльника?
http://www.viva64.com/ru/examples/V518/
+15
int main() {
//new int;
FreeConsole();
+12
// Decompress section data
if (ERR_SUCCESS != LzmaDecompress(data, dataSize, decompressed)) {
// Intel modified LZMA workaround
EFI_COMMON_SECTION_HEADER* shittySectionHeader;
UINT32 shittySectionSize;
// Shitty compressed section with a section header between COMPRESSED_SECTION_HEADER and LZMA_HEADER
// We must determine section header size by checking it's type before we can unpack that non-standard compressed section
shittySectionHeader = (EFI_COMMON_SECTION_HEADER*) data;
shittySectionSize = sizeOfSectionHeaderOfType(shittySectionHeader->Type);
// ...
Oh shit!
+16
#include <windows.h>
#include <iostream>
int main ()
{
HINSTANCE result;
result=ShellExecute(NULL,NULL,L"E:\\.mp3",NULL,NULL,SW_SHOWDEFAULT);
if ((int)result<=32)
std::cout << "Error!\nReturn value: " << (int)result << "\n";
return 0;
}
Как написать mp3-плеер на с++ в 10 строк без использования сторонних библиотек?
Гении с cyberforum знают ответ!
http://www.cyberforum.ru/cpp-beginners/thread444490-page3.html
+17
switch (impl->used_hash)
{
case false:
break;
case true :
..........
}
Разбирал сырцы одного "гения" и нашел это...
+13
#include <iostream>
using namespace std;
class Foo
{
public:
void foo()
{
cout << "Destruct" << endl;
}
};
int main()
{
void (Foo::*func)() = &Foo::foo;
void *adress = (void*&)func;
void (*new_func)(Foo*) = (void (*)(Foo*))adress;
Foo obj;
new_func(&obj);
}
Юный падаван постигает силу void-указателей.
+13
BOOST_PP_REPEAT(AMOUNT_OF_EMPLACE_CONSTRUCTOR_PARAMETER, GENERATE_EMPLACE_BACK, BOOST_PP_EMPTY())
//Если видишь access violation, то это просто сработали ассерты. Вынеси их в отдельные функции для удобства отладки (см GENERATE_EMPLACE_BACK). Мне пока не понадобилось, а сейчас это делать лениво.
+17
auto mesh=mesh_loader.load("wall.x").
map([](auto m){
return m.SetPosition(0.f, 0.f, 0.f);
}).map([=](auto m){
return m.SetRotation(xr,yr,zr);
}).map(::std::bind(&Mesh::SetSize, _1, 90, 60, 90)).
map(&Mesh::RecalculateNormals);
+12
AttachmentService::MimeType AttachmentService::mimeTypeByCodeKey(const QString &codeKey) const
{
if(codeKey.toLower() == QString("MimeType_PDF").toLower()) return MimeType_PDF;
if(codeKey.toLower() == QString("MimeType_JPEG").toLower()) return MimeType_JPEG;
if(codeKey.toLower() == QString("MimeType_PNG").toLower()) return MimeType_PNG;
if(codeKey.toLower() == QString("MimeType_HTML").toLower()) return MimeType_HTML;
if(codeKey.toLower() == QString("MimeType_ZHTML").toLower()) return MimeType_ZHTML;
if(codeKey.toLower() == QString("MimeType_TEXT").toLower()) return MimeType_TEXT;
if(codeKey.toLower() == QString("MimeType_XLS").toLower()) return MimeType_XLS;
if(codeKey.toLower() == QString("MimeType_DOC").toLower()) return MimeType_DOC;
if(codeKey.toLower() == QString("MimeType_PPT").toLower()) return MimeType_PPT;
if(codeKey.toLower() == QString("MimeType_GIF").toLower()) return MimeType_GIF;
if(codeKey.toLower() == QString("MimeType_BMP").toLower()) return MimeType_BMP;
if(codeKey.toLower() == QString("MimeType_MPEG").toLower()) return MimeType_MPEG;
if(codeKey.toLower() == QString("MimeType_MP4").toLower()) return MimeType_MP4;
if(codeKey.toLower() == QString("MimeType_MP3").toLower()) return MimeType_MP3;
return MimeType_UNKNOWN;
}
Коллега откопал в моём коде, написанном под какими-то веществами по ходу.
Изначально было сравнение строк как есть, без приведения в нижний регистр, а потом понадобилось подстраховаться от левого регистра символов.
+12
QVector<int> v1;
v1.push_back(1);
v1.push_back(2);
// взяли итератор на нулевой элемент вектора v1
QVector<int>::iterator it = v1.begin();
// замутили копию
QVector<int> v2 = v1;
v1[1] = 42;
*it = 5;
v2[1] = 100500;
// и что же мы получим?
qDebug() << v1; // QVector(1, 42)
qDebug() << v2; // QVector(5, 100500)
Ловим лулзы с implicit sharing'ом.
Мораль (она описана в доке): нельзя копировать implicit shared контейнер пока живы и используются неконстантные итераторы на его элементы.