- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
// a.h
inline struct $q1 {unsigned a;} $q1i;
// main.cpp
#include "a.h"
int main(int argc, char** args)
{
$q1i.a = argc;
return $q1i.a;
};
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+2
// a.h
inline struct $q1 {unsigned a;} $q1i;
// main.cpp
#include "a.h"
int main(int argc, char** args)
{
$q1i.a = argc;
return $q1i.a;
};
у некоторых линукс-юзеров может упасть на этапе линковки
0
#define REGISTERS_LIST A, B, C, D, E, SI, BP, SP, IP
#define LREGISTERS_LIST AH, AL, BH, BL, CH, CL, DH, DL, EH, EL, SIH, SIL, BPH, BPL, SPH, SPL, IPH, IPL
enum RegisterID
{
REGISTERS_LIST,
LREGISTERS_LIST
};
const static std::string registerId2registerName[] = {
#define _MAP(x) #x
MAP_LIST(_MAP, REGISTERS_LIST),
MAP_LIST(_MAP, LREGISTERS_LIST)
};
#undef _MAP
const static std::map<std::string, RegisterID> registerName2registerId = {
#define _MAP(x) {#x, x}
MAP_LIST(_MAP, REGISTERS_LIST),
MAP_LIST(_MAP, LREGISTERS_LIST)
};
#undef _MAP
покруче гомоиконности
0
const boost::escaped_list_separator<char> els("\\"s, " \n\t"s, "\"");
boost::replace_all(src, "\"", "\"\\\"");
const boost::tokenizer tok(src, els);
els не умеет в keeping quotes хнык хнык
0
auto DivisibleBy = [](int d)
{
return [d](int m) { return m % d == 0; };
};
if (ranges::any_of(v, DivisibleBy(7))) {
std::cout << "At least one number is divisible by 7\n";
}
https://en.cppreference.com/w/cpp/algorithm/ranges/all_any_none_of
−1
for (k = k + 0, j = 0; j < m; j++)
{
b[k] = mat[i][j];
cout << b[k];
}
Увидел в лабе у чела из универа. Почему бы лишний раз не присвоить k собственное значение
0
#include <string>
#include <iostream>
int foo() {
std::string str = "file://*";
std::cout << str << std::endl;
return 0;
}
/*
int bar() {
std::string str = "file://*"; // warning: '/*' within block comment [-Wcomment]
std::cout << str << std::endl;
return 0;
}
*/
int main() {
foo();
//bar();
}
Какой багор
https://ideone.com/NiXH2q
0
#include <functional>
#include <string>
void rooster(uint32_t number)
{
}
void rooster(std::string& str)
{
}
int main()
{
//не осилил ни один компилятор
std::function<void(std::string&)> f = std::bind(&rooster, std::placeholders::_1);
//осилил gcc6.1+, но не может осилить clang 13.0
std::function<void(std::string&)> f2 = std::bind<void(std::string&)>(&rooster, std::placeholders::_1);
return 0;
}
Почему компиляторы крестов не могут сами разрулить ситуацию?
0
#include <iostream>
int main() {
std::cout << "Hello, shhhit!";
}
0
// этот код дает Segment Fault
struct TypeNames
{
std::string typeName;
};
class LLVMRTTIHelperVCLinux
{
SmallVector<TypeNames> types;
}
// a этот нет
class LLVMRTTIHelperVCLinux
{
SmallVector<std::string> types;
}
ну и гавно этот ваш Clang. MSVC работает, GCС работает а Clang нет
+1
for (double x = xn, p = 1, n = 0, y = 0; x > xk ? cout<<p<<' '<<n, false : true; x += dx, y = cos(x) + x*5. / 2, y > 0 ? p *= y : y < 0 ? n++ : n );
Попросили помочь с задачей:
> Определить произведение негативных и количество позитивных значений функции y=cos(x)+x*5./2, если значение x изменяется от xn до xk с шагом dx.
Я постарался, как мог, всё-таки язык мне не очень близок (немного помогли). Возможно, ещё есть, куда "улучшить".