- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
for (const auto& item : items)
{
if (!item.isValid())
continue;
else
{
// 200 строк кода
}
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
for (const auto& item : items)
{
if (!item.isValid())
continue;
else
{
// 200 строк кода
}
}
Что делать с такими колегами?
+1
namespace detail
{
template <typename Function, typename Tuple, std::size_t... i>
void applyForEach(Function&& f, Tuple&& t, std::index_sequence<i...>)
{
(static_cast<void>(std::invoke(f, std::integral_constant<std::size_t, i>{}, std::get<i>(t))), ...);
}
} // namespace detail
template <typename Function, typename Tuple>
void applyForEach(Tuple&& tuple, Function&& function)
{
using Indexes = std::make_index_sequence<std::tuple_size_v<Tuple>>;
detail::applyForEach(std::forward<Function>(function), std::forward<Tuple>(tuple), Indexes{});
}
Строка 6. Мы тут сделали синтаксис для fold expression, только вам его не дадим: у вас документов нет.
Clang: https://wandbox.org/permlink/lNOFu1sOV9bA2LJF
GCC: https://wandbox.org/permlink/yqeiYHTgZOz9NkkJ
+1
#include <iostream>
using namespace std;
int main()
{
bool b;
cin >> b;
switch (b) {
case true:
cout << "TRUE" << endl;
break;
case false:
cout << "FALSE" << endl;
break;
default:
cout << "WHAT???" << endl;
break;
}
return 0;
}
Данный код с компилятором MSVC2017 64bit при вводе значения "true" (текстом) выводит в консоль "WHAT???"
0
std::string makeFormContent(const std::string & album,
const std::wstring & filename,
const std::string & boundary)
{
static const std::string DELIM = "\r\n";
std::ostringstream ss;
std::ifstream file(filename, std::ios::binary);
ss << boundary << DELIM;
ss << "Content-Disposition: form-data; name=\"album\"" << DELIM << DELIM;
ss << album << DELIM;
ss << boundary << DELIM;
ss << "Content-Disposition: form-data; name=\"image\"; filename=\"image\"" << DELIM << DELIM;
ss << file.rdbuf() << DELIM;
ss << boundary << DELIM << "--";
return ss.str();
}
Заебали. Куча HTTP-либ под кресты, а банально сделать POST-запрос с multipart/form-data без кучи ебли нельзя. Приходится самому составлять, лол.
Именно поэтому я за «requests.post(url, data=data, files=files)».
+2
std::queue<char *> outQueue2;
std::lock_guard<std::mutex> lock(mtx);
mtx.lock();
if (outQueue.size() > 0) {
std::swap(outQueue2, outQueue);
outQueue = {};
}
std::lock_guard<std::mutex> unlock(mtx);
со слов автора:
у меня 2 исходящие очереди
в одну соседний поток ложит
потом приходит тик
врубает симафор
копирует по-бырому очередь
и чистит её
дальше отпускает поток
чтобы не ждать
пока всё отправится
и спокойно в соседнем потоке уже начинает BYtestream...
и всё такое
разьве не так делают в домах парижу?
0
#include <stdio.h>
#include <conio.h>
#include <iostream>
// -------------------------------------------
#define belugina0 std::wstring("нельзя писать сервера на js")
#define belugina1 std::wstring("js это обертка для html")
#define belugina2 std::wstring("Вектор это не динамический массив")
#define belugina3 std::wstring("-Размер инта? Ответ: "Ну два" ")
#define belugina4 std::wstring("Бинарным поиском можно найти максимальное количество минимальных элементов")
#define belugina5 std::wstring("Бинарным поиском можно найти сумму элементов массива")
#define belugina6 std::wstring("Бинарным поиском можно найти среднее арифметическое массива")
#define belugina7 std::wstring("Операцию "перечисления" это - когда массив содержит числа, принадлежащие обоим массивам")
// наркотики зло
void main ()
{
int n; // количество вершин
int **G;// исходный граф
int **H; // матрица списка ребер с весом
int **K; /*матрица, отмечающая принадлежность
вершины компоненте*/
int **T; // матрица остовного дерева
int **L; // список ребер с ценами минимального дерева
}
Список моих цитат
Краткость сестра таланта.
+2
#include "stdio.h"
#include "conio.h"
#define infinity 999
namespace belugina
{
void dij(int n,int v,int cost[10][10],int dist[])
{
int i,u,count,w,flag[10],min;
for(i=1;i<=n;i++)
flag[i]=0,dist[i]=cost[v][i];
count=2;
while(count<=n)
{
min=99;
for(w=1;w<=n;w++)
if(dist[w]<min && !flag[w])
min=dist[w],u=w;
flag[u]=1;
count++;
for(w=1;w<=n;w++)
if((dist[u]+cost[u][w]<dist[w]) && !flag[w])
dist[w]=dist[u]+cost[u][w];
}
}
}
Я разгадала знак бесконечности.
#define infinity 999
+3
namespace
{
struct list {
type pole1;
list *pole2;
}
stack;
}
Пример описания стека
−1
namespace belugina
{
struct list {
type elem ;
list *next, *pred ;
}
list *headlist ;
}
не могу понять что люблю больше, английски или транслит.
0
namespace belugina{
struct Node {
int key;//информационное поле
Node*next;//адресное поле
};
struct point {
char*name;//информационное поле
int age;//информационное поле
point*next;//адресное поле
};
struct Single_List {//структура данных
int Data; //информационное поле
Single_List *Next; //адресное поле
};
Single_List *Head; //указатель на первый элемент списка
Single_List *Current; //указатель на текущий элемент списка (при необходимости)
void Make_Single_List (int n,Single_List** Head){
if (n > 0) {
(*Head) = new Single_List();
//выделяем память под новый элемент
cout << "Введите значение ";
cin >> (*Head)->Data;
//вводим значение информационного поля
(*Head)->Next=NULL;
//обнуление адресного поля
Make_Single_List(n-1,&((*Head)->Next));
}
}
void Print_Single_List(Single_List* Head) {
if (Head != NULL) {
cout << Head->Data << "\t";
Print_Single_List(Head->Next);
//переход к следующему элементу
}
else cout << "\n";
}
Single_List* Insert_Item_Single_List(Single_List* Head,
int Number, int DataItem){
Number--;
Single_List *NewItem=new(Single_List);
NewItem->Data=DataItem;
NewItem->Next = NULL;
if (Head == NULL) {//список пуст
Head = NewItem;//создаем первый элемент списка }
else {//список не пуст
Single_List *Current=Head;
for(int i=1; i < Number && Current->Next!=NULL; i++)
Current=Current->Next;
if (Number == 0){
//вставляем новый элемент на первое место
NewItem->Next = Head;
Head = NewItem;
}
else {//вставляем новый элемент на непервое место
if (Current->Next != NULL)
NewItem->Next = Current->Next;
Current->Next = NewItem;
}
}
return Head;
}
Single_List* Delete_Item_Single_List(Single_List* Head,
int Number){
Single_List *ptr;//вспомогательный указатель
Single_List *Current = Head;
for (int i = 1; i < Number && Current != NULL; i++)
Current = Current->Next;
if (Current != NULL){//проверка на корректность
if (Current == Head){//удаляем первый элемент
Head = Head->Next;
delete(Current);
Current = Head;
}
else {//удаляем непервый элемент
ptr = Head;
while (ptr->Next != Current)
ptr = ptr->Next;
ptr->Next = Current->Next;
delete(Current);
Current=ptr;
}
}
return Head;
}
bool Find_Item_Single_List(Single_List* Head,
int DataItem){
Single_List *ptr; //вспомогательным указатель
ptr = Head;
while (ptr != NULL){//пока не конец списка
if (DataItem == ptr->Data) return true;
else ptr = ptr->Next;
}
return false;
}
void Delete_Single_List(Single_List* Head){
if (Head != NULL){
Delete_Single_List(Head->Next);
delete Head;
}
}
//удаляем непервый элемент .
У человека проблемы не только с кодом но и с русским языком.