- 1
- 2
const
#include "file.xpm"
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+8
const
#include "file.xpm"
У чувака в файле file.xpm объявлен массив static char * icon_xpm [] = { "..", "..", ... } и он не может заинклудить его в плюсовый код. Вот такой воркараунд ему предложили.
https://www.linux.org.ru/forum/development/10400992?cid=10406949
+8
#include <iostream>
using namespace std;
class Boolean {
public:
Boolean() : m_flag(false), m_val(0) {}
Boolean(bool flag) : m_flag(flag), m_val(0) {}
Boolean(bool flag, int val) : m_flag(flag), m_val(val) {}
Boolean operator || (int val) {
return Boolean(m_flag || val == m_val, m_val);
}
operator bool() { return m_flag; }
private:
bool m_flag;
int m_val;
};
class Integer {
public:
Integer() : m_val(0) {}
Integer(int val) : m_val(val) {}
operator int() { return m_val; }
Boolean operator == (int val) { return Boolean(val == m_val, m_val); }
Boolean operator == (const Integer & val) { return Boolean(val.m_val == m_val, m_val); }
private:
int m_val;
};
int main() {
Integer a(10);
cout << bool(a == 15 || 10) << endl;
cout << bool(a == 15 || 11) << endl;
cout << bool(a == 15 || 11 || 13 || 11 || 0 || 10 || 5) << endl;
cout << bool(a == 15 || 11 || 13 || 11 || 0 || 9 || 5) << endl;
return 0;
}
https://ideone.com/xwMvx7
+8
//как создать сильный пароль в php
$hp = md5(md5(md5(strong($_POST['hp'])))); // типо наш пароль
//а что же такое strong??
###############################
######## Фильтрация ###########
###############################
function strong($msg){
$msg = trim($msg);
$msg = htmlspecialchars($msg);
$msg = mysql_escape_string($msg);
return $msg;
}
Мануал по шифрованию паролей.
+8
https://github.com/mpak2/mpak.su/blob/master/include/mpfunc.php#L54
Новая система измерения файлов
+8
function getEntryByName(name) {
var entries = [];
var ent;
while(ent = getNextDBEntry()) {
entries.push(ent);
}
for(var i = 0; i < entries.length; i++) {
if(entries[i].getName() == name) {
return entries[i];
}
}
return nullEntry;
}
ААА, мои глаза!!!
+8
<?
function __echo($str){
return "$str\n";
}
function _echo ($str){
echo __echo($str);
}
function _echo_utf8($str){
_echo (iconv('windows-1251', 'UTF-8//IGNORE', $str));
}
_echo("<div id='class_edit_add' style='display:none;margin-left:30px;'>");
_echo("<div style='margin-bottom:30px;'><center>");
_echo_utf8("Добавить ");
_echo("<select id='chose_class_edit_add_something'>");
_echo("<option selected value='0'></option>");
_echo_utf8("<option value='1'>предмет</option>");
_echo_utf8("<option value='2'>учителя</option>");
_echo_utf8("<option value='3'>ученика</option>");
_echo_utf8("<option value='4'>подгруппу</option>");
_echo("</select>");
_echo("<input type='button' class='button' value='ok' onclick=\"class_edit_add_something();\">");
_echo("</сenter></div>");
_echo("<div id='div_class_edit_add_something_out' style='display:none'></div>");
_echo("</div>");
_echo_utf8
+8
template <size_t capacity, bool is_signed>
class fixed_int
{
// Описание ошибки компиляции в случае использования не поддерживаемой размерности
template <int x> struct unsupported_capacity { int i[1/(x-x)]; };
template <> struct unsupported_capacity<1> {};
template <> struct unsupported_capacity<2> {};
template <> struct unsupported_capacity<4> {};
template <> struct unsupported_capacity<8> {};
// Свойства базовых типов, необходимые для перебора
template<typename type> struct type_traits;
template<> struct type_traits <unsigned char> { typedef unsigned char current_type; typedef unsigned short next_type; };
template<> struct type_traits <unsigned short> { typedef unsigned short current_type; typedef unsigned int next_type; };
template<> struct type_traits <unsigned int> { typedef unsigned int current_type; typedef unsigned long next_type; };
template<> struct type_traits <unsigned long> { typedef unsigned long current_type; typedef unsigned long long next_type; };
template<> struct type_traits <unsigned long long int> { typedef unsigned long long int current_type; typedef unsupported_capacity<capacity> next_type; };
template<> struct type_traits <signed char> { typedef signed char current_type; typedef short next_type; };
template<> struct type_traits <short> { typedef short current_type; typedef int next_type; };
template<> struct type_traits <int> { typedef int current_type; typedef long next_type; };
template<> struct type_traits <long> { typedef long current_type; typedef long long next_type; };
template<> struct type_traits <long long int> { typedef long long int current_type; typedef unsupported_capacity<capacity> next_type;};
// Алгоритм выбора типа
template<typename type, bool>
struct type_choice
{
typedef typename type_traits<type>::current_type std_type;
};
template<typename type>
struct type_choice<type, false>
{
typedef typename type_traits<type>::next_type next_type;
typedef typename type_choice<next_type, sizeof(next_type) == capacity>::std_type std_type;
};
// Базовый тип для начала подбора
template <bool is_signed> struct base_type_selector { typedef signed char base_type; };
template <> struct base_type_selector<false> { typedef unsigned char base_type; };
public:
typedef typename type_choice< typename base_type_selector<is_signed>::base_type, sizeof(base_type_selector<is_signed>::base_type) == capacity >::std_type type;
};
"Зачем мне нужен stdint.h?
У меня нет времени, чтобы ебаться с ним!
Лучше я высру ещё десяток-другой шаблонов!"
https://habrahabr.ru/post/280542/
PS,
Пятая строка - вообще угар.
+8
public static bool IsObjectIs<T>(object o)
{
if (o == null)
return false;
try
{
object b = (T)o;
return true;
}
catch
{
return false;
}
}
Такая вот реализация c# оператора 'is'
+8
TOO_ENOUGH_DATA
+8
if(user.pass = pass_to_hash(password)){
return done(null, user);
}else{
return done('incorrect password');
}
Факир был пьян, и запер дверь, забыв ее закрыть)