- 1
- 2
- 3
- 4
- 5
- 6
std::string response;
...
char* result = new char[response.size() + 1];
memcpy(&result[0], &response.c_str()[0], response.size());
result[response.size()] = 0;
return result;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+16
std::string response;
...
char* result = new char[response.size() + 1];
memcpy(&result[0], &response.c_str()[0], response.size());
result[response.size()] = 0;
return result;
Сам метод возвращает char * (при этом никто не запрещал использовать непосредственно std::string).
ЗЫ жаль что весь проект запостить нельзя. Он весь достоин.
+17
io_service::strand strand_one(service), strand_two(service);
for (int i = 0; i < 5; ++i)
service.post(strand_one.wrap(boost::bind(func, i)));
for (int i = 5; i < 10; ++i)
service.post(strand_two.wrap(boost::bind(func, i)));
Пример из книги Boost.Asio C++ Network Programming.
In the preceding code, we made sure that the first five and the last five were serialized namely, "func called, i = 0" is called before "func called, i = 1", which is called before "func called, i = 2", and so on. The same goes for "func called, i = 5", which is called before "func called, i = 6", and "func called, i = 6" is called before "func called, i = 7", and so on.
"А вот хуй тебе!", - сказал четырёхъядерный процессор, и выполнил коллбеки внутри strand'ов в случайном порядке.
+11
QString Factory::lifeEqual(WidgetEnum::SearchWidgetSet param) {
switch (param) {
case WidgetEnum::station:
return "Станция";
case WidgetEnum::water_area:
return "Акватория";
case WidgetEnum::station_coordinates:
return "Координаты станции";
case WidgetEnum::volume_of_filtered_water:
return "Объем отфильтрованной воды";
case WidgetEnum::chlorophyll_a_concentration:
return "Концентрация хлорофила а";
case WidgetEnum::chlorophyll_b_concentration:
return "Концентрация хлорофила b";
case WidgetEnum::chlorophyll_c_concentration:
return "Концентрация хлорофила c";
case WidgetEnum::A665k:
return "A(665k";
case WidgetEnum::pigment_index:
return "Индекс пигмента";
case WidgetEnum::pheopigments:
return "Феопигменты";
case WidgetEnum::upholding_sample_time:
return "Время выдержки образца";
case WidgetEnum::concetrated_sample_volume:
return "Объемная концентрация образца";
case WidgetEnum::cameras_viewed_number:
return "Качество камеры";
case WidgetEnum::total:
return "Общая численость";
case WidgetEnum::total_species:
return "Число видов в пробе";
case WidgetEnum::total_biomass:
return "Общая биомасса";
case WidgetEnum::total_percent:
return "Итоговый процент";
case WidgetEnum::biomass_percent:
return "Процент биомасс";
case WidgetEnum::percentage_of_total:
return "Процент от общего числа";
case WidgetEnum::percentage_of_the_total_biomass:
return "Процент от общего числа биомассы";
case WidgetEnum::number:
return "Номер";
case WidgetEnum::biomass:
return "Биомасса";
case WidgetEnum::total_species_in_group:
return "Всего видов в группе";
case WidgetEnum::name:
return "Название";
case WidgetEnum::name_alt:
return "Альтернативное название";
case WidgetEnum::name_rus:
return "Русское название";
case WidgetEnum::fishing_gear:
return "Рыболовный аппарат";
case WidgetEnum::assessment_of_zooplankton:
return "Оценка зоопланктона";
case WidgetEnum::date:
return "Дата";
case WidgetEnum::Station_water_area:
return "";
case WidgetEnum::groupsOfPh_name:
return "Название группы";
case WidgetEnum::groups:
return "Вид";
case WidgetEnum::error:
return "errorA";
case WidgetEnum::chlorinity:
return "chlorinity";
case WidgetEnum::density:
return "density";
case WidgetEnum::volume:
return "volume";
case WidgetEnum::o2_mg_l:
return "o2_mg_l";
case WidgetEnum::o2_ml_l:
return "o2_ml_l";
case WidgetEnum::bod5:
return "bod5";
case WidgetEnum::ph:
return "ph";
case WidgetEnum::alk:
return "alk";
case WidgetEnum::no2:
return "no2";
case WidgetEnum::no3:
return "no3";
case WidgetEnum::total_n:
return "total_n";
case WidgetEnum::po4:
return "po4";
case WidgetEnum::total_p:
return "total_p";
case WidgetEnum::si:
return "si";
And etc.....
В таком духе имеется строк 300, и если бы выход здравого смысла из спячки и наличие базы данных, 50 строчек которыми все это стало, с течением времени могло бы превратиться в 1000 строк, если не больше.
И хоть это банальный гавногод, жалко трудов и времени на него затраченных. А так хоть канет в бездне говногода, а не в бездне моего винта.
+17
MagicClass::getInstance().getFooFactory().createFoo().killMePlease();
http://habrahabr.ru/post/222007/
А вообще "Внедрение зависимостей в C++ через контейнеры" - та ещё традиционная специальная олимпиада крестовиков.
+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-указателей.