- 1
- 2
https://upload.wikimedia.org/wikipedia/commons/0/0e/Bjarne-stroustrup_%28cropped%29.jpg
https://cdn.jpg.wtf/futurico/cb/3e/1586622557-cb3e3c00a16ab8b849e9464c1e3037ea.jpeg
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
https://upload.wikimedia.org/wikipedia/commons/0/0e/Bjarne-stroustrup_%28cropped%29.jpg
https://cdn.jpg.wtf/futurico/cb/3e/1586622557-cb3e3c00a16ab8b849e9464c1e3037ea.jpeg
Шок! Рецепты защиты от коронавируса, от создателя языка C++. Надо всего лишь...
0
#include <iostream>
#define __L_SDM_SUB_4 4
#define __L_SDM_DEL 1
#define A int
#define B void
#define C char
#define D *
A _L_HND[-~__L_SDM_SUB_4] = {1819043146, 1998597229, 1684828781, 35, 0};
A main(B)
{
A D __L_LOCAL_BUF = new A[__L_SDM_SUB_4];
for(
_L_HND[__L_SDM_SUB_4] ^=
_L_HND[__L_SDM_SUB_4];
_L_HND[__L_SDM_SUB_4] <
__L_SDM_SUB_4;
_L_HND[__L_SDM_SUB_4] =
-~_L_HND[__L_SDM_SUB_4])
{
__L_LOCAL_BUF[
_L_HND[__L_SDM_SUB_4]] = _L_HND[_L_HND[__L_SDM_SUB_4]] ^
(__L_SDM_DEL << __L_SDM_DEL);
}
std::cout << (C D)__L_LOCAL_BUF << std::endl;
}
Я рехнулся и написал HelloWorld
0
void clear_qouted_string(std::string& str)
{
if (str.front() == '"')
{
str.erase(0, 1);
}
if (str.back() == '"')
{
str.erase(str.end() - 1);
}
}
+2
// https://shitcode.net/557
int getChar(char charachter){
int returnValue = Z;
switch(charachter){
case 'A': returnValue = A; break;
case 'a': returnValue = A; break;
case 'B': returnValue = B; break;
case 'b': returnValue = B; break;
case 'C': returnValue = C; break;
case 'c': returnValue = C; break;
case 'D': returnValue = D; break;
case 'd': returnValue = D; break;
case 'E': returnValue = E; break;
case 'e': returnValue = E; break;
case 'F': returnValue = F; break;
case 'f': returnValue = F; break;
case 'G': returnValue = G; break;
case 'g': returnValue = G; break;
case 'H': returnValue = H; break;
case 'h': returnValue = H; break;
case 'I': returnValue = I; break;
case 'i': returnValue = I; break;
case 'J': returnValue = J; break;
case 'j': returnValue = J; break;
case 'K': returnValue = K; break;
case 'k': returnValue = K; break;
case 'L': returnValue = L; break;
case 'l': returnValue = L; break;
case 'M': returnValue = M; break;
case 'm': returnValue = M; break;
case 'N': returnValue = N; break;
case 'n': returnValue = N; break;
case 'O': returnValue = O; break;
case 'o': returnValue = O; break;
case 'P': returnValue = P; break;
case 'p': returnValue = P; break;
case 'Q': returnValue = Q; break;
case 'q': returnValue = Q; break;
case 'R': returnValue = R; break;
case 'r': returnValue = R; break;
case 'S': returnValue = S; break;
case 's': returnValue = S; break;
case 'T': returnValue = T; break;
case 't': returnValue = T; break;
case 'U': returnValue = U; break;
case 'u': returnValue = U; break;
case 'V': returnValue = V; break;
case 'v': returnValue = V; break;
case 'W': returnValue = W; break;
case 'w': returnValue = W; break;
case 'X': returnValue = X; break;
case 'x': returnValue = X; break;
case 'Y': returnValue = Y; break;
case 'y': returnValue = Y; break;
case 'Z': returnValue = Z; break;
case 'z': returnValue = Z; break;
case ' ': returnValue = _; break;
case '3': returnValue = B2; break;
case '<': returnValue = TEMP; break;
case '*': returnValue = FULL; break;
case '|': returnValue = LINE; break;
case '_': returnValue = _; break;
case ':': returnValue = COL; break;
case '-': returnValue = DASH; break;
case ')': returnValue = BRA2; break;
case '%': returnValue = SMILE; break;
case '.': returnValue = DOT; break;
case '^': returnValue = COLDOT; break;
}
return returnValue; //RETORNO DE INFORMAÇÃO
}
Тут IsBukva до getChar допромоутили
+5
#include <stdio.h>
#define UPP 300
float conversion(float fahr);
main(){
float far;
int a;
a = UPP;
for(far = 0; far <= a; ++++++++++++++++++++++++++++++++++++++++far)
printf("%.f\t%.1f\n", far, conversion(far));
}
float conversion(float cels){
float c;
c = ((5*(cels-32))/(9));
return c;
}
how do I make it 20 by 20 in a shorter way, without having to put 20 times "++" please
https://www.reddit.com/r/C_Programming/comments/ff5zph/how_do_i_make_it_20_by_20_in_a_shorter_w ay/
+3
#include <iostream>
#include <iomanip>
#include <sstream>
int main()
{
std::stringstream ss;
std::string in = "String with spaces, and embedded \"quotes\" too";
std::string out;
ss << std::quoted(in);
std::cout << "read in [" << in << "]\n"
<< "stored as [" << ss.str() << "]\n";
ss >> std::quoted(out);
std::cout << "written out [" << out << "]\n";
// read in [String with spaces, and embedded "quotes" too]
// stored as ["String with spaces, and embedded \"quotes\" too"]
// written out [String with spaces, and embedded "quotes" too]
}
Блядь! В крестостандарте есть стандартная функция для экранирования кавычек!
Интересно, когда нам ждать std::mysql_real_escape_string()?
https://en.cppreference.com/w/cpp/io/manip/quoted
+1
// https://habr.com/ru/post/490222/
Почему мы должны сломать ABI
Прежде всего, есть несколько полезных изменений в реализации стандартной библиотеки, которые можно внедрить, если нарушить текущий ABI:
...
* Ускорить работу std::regex (На данный момент быстрее запустить PHP и выполнить на нем поиск по регулярному выражению, чем использовать стандартный std::regex)
Какой багор! Именно поэтому я за PHP
0
Дано
1) std::vector<int> v размером 4 миллиона элементов.
2) функция:
size_t rand_index(size_t n);
Возвращающая случайное число от 0 до n - 1
Написать функцию удаляющую из массива v случайно выбранный элемент за O(1).
+1
Задачка с собеседования.
Удалить из неупорядоченного массива чисел представленного как std::vector<int> элемент за O(1).
А я тупил, и дошел до ответа только с подсказками.
+4
static bool ShouldIgnoreHeaderForCacheReuse(AtomicString header_name) {
// FIXME: This list of headers that don't affect cache policy almost certainly
// isn't complete.
DEFINE_STATIC_LOCAL(
HashSet<AtomicString>, headers,
({"Cache-Control", "If-Modified-Since", "If-None-Match", "Origin",
"Pragma", "Purpose", "Referer", "User-Agent"}));
return headers.Contains(header_name);
}
https://chromium.googlesource.com/chromium/src/+/refs/heads/master/third_party/blink/renderer/platform/loader/fetch/raw_resource.cc
Вот есть такая крутая фича под названием «preload»: https://developer.mozilla.org/en-US/docs/Web/HTML/Preloading_content.
Tl;dr: указываем «<link rel="preload" href="/comments.html" [...]>» в начале index.html, после чего браузер начнёт загружать comments.html в фоновом режиме. В «NGK» «Ангуляр» загружает этот самый comments.html для отрисовки главной страницы, поэтому предварительная загрузка (до того, как загрузится, собственно, «Ангуляр») может сэкономить несколько десятков миллисекунд. Ура.
Но нельзя так просто взять и сделать что-то без пердолинга! Чтобы браузер смог использовать предварительно загруженный документ, необходимо, чтобы все заголовки, за исключением представленных в коде, в обоих запросах (из preload и из «Ангуляра») совпадали, что, конечно же, не лишено смысла. Поэтому, если просто взять и включить предварительную загрузку, «Хром» выдаст печальное «A preload for 'https://gcode.space/comments.html' is found, but is not used because the request headers do not match».
Окей, повозившись с CORS, наш инженерный отдел добился полного совпадения заголовков, за исключением «Origin» (его браузер в «простых» запросах через XHR принципиально не ставит) и «Accept». «Ангуляр» по-умолчанию суёт в «Accept» «application/json, text/plain, */*», а для запроса через preload консоль разработчика показывает просто «*/*».
Не беда! Наш инженерный отдел нагуглил, как поправить заголовки запросов в «Ангуляре», поставил там «*/*» и, довольный собой, приготовился наблюдать неебическое ускорение загрузки: https://i.imgur.com/q0CtQXp.png.