- 1
.
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−1
.
Предлагаю написать топ 10 местных программистов, руководствуясь общением с ними в комментариях или восхищением глубиной знаний.
−103
C++ — гниль
+1
.
С Новым Годом, программные инженеры!
Желаю всем интересной работы, высоких заработков и крепкого здоровья!
−1
.
Как попасть в гугол по рекомендации Романа Кашицына?
+3
// A sample standard C++20 program that prints
// the first N Pythagorean triples.
#include <iostream>
#include <optional>
#include <ranges> // New header!
using namespace std;
// maybe_view defines a view over zero or one
// objects.
template<Semiregular T>
struct maybe_view : view_interface<maybe_view<T>> {
maybe_view() = default;
maybe_view(T t) : data_(std::move(t)) {
}
T const *begin() const noexcept {
return data_ ? &*data_ : nullptr;
}
T const *end() const noexcept {
return data_ ? &*data_ + 1 : nullptr;
}
private:
optional<T> data_{};
};
// "for_each" creates a new view by applying a
// transformation to each element in an input
// range, and flattening the resulting range of
// ranges.
// (This uses one syntax for constrained lambdas
// in C++20.)
inline constexpr auto for_each =
[]<Range R,
Iterator I = iterator_t<R>,
IndirectUnaryInvocable<I> Fun>(R&& r, Fun fun)
requires Range<indirect_result_t<Fun, I>> {
return std::forward<R>(r)
| view::transform(std::move(fun))
| view::join;
};
// "yield_if" takes a bool and a value and
// returns a view of zero or one elements.
inline constexpr auto yield_if =
[]<Semiregular T>(bool b, T x) {
return b ? maybe_view{std::move(x)}
: maybe_view<T>{};
};
int main() {
// Define an infinite range of all the
// Pythagorean triples:
using view::iota;
auto triples =
for_each(iota(1), [](int z) {
return for_each(iota(1, z+1), [=](int x) {
return for_each(iota(x, z+1), [=](int y) {
return yield_if(x*x + y*y == z*z,
make_tuple(x, y, z));
});
});
});
// Display the first 10 triples
for(auto triple : triples | view::take(10)) {
cout << '('
<< get<0>(triple) << ','
<< get<1>(triple) << ','
<< get<2>(triple) << ')' << '\n';
}
}
«C++20»: ещё больше модерна! Ещё больше шаблонов! Ещё больше ебанутых конструкций! Ещё больше блядского цирка!
s: http://aras-p.info/blog/2018/12/28/Modern-C-Lamentations/
+1
template<class T, class U> bool convertStrToInt(const char* str, int base, T &res, T def, U (*strto)(const char *, char **, int ))
{
char *endptr = NULL;
errno = 0;//man wants it
if ( ! str || *str == '\0' )
{
res = def;
return false;
}
U result = strto(str, &endptr, base);
if (errno == ERANGE || (*endptr != '\0') || ! *str) {
std::stringstream errorStr;
errorStr << "convertStrToInt failed ; string = '" << str << "' result ='" << result << "' endptr = '" << endptr << "' errno = '" << errno << "'";
res = def;
log_error("%s", errorStr.str().c_str());
return false;
}
res = static_cast<T>(result);
return true;
}
Преобразование строки в число
+2
luabind::object FlowerEventModel::RewardInfo(int index) const {
luabind::object result = luabind::newtable(Core::luaState);
if (index < 0 && index >= (int)_presents.size()) {
return result;
}
return result;
}
−2
Есть те, кто вопреки IT-культуре, не зассыт написать свою зп?
Есть те, кто вопреки IT-культуре, не зассыт написать свою зп?
−2
Кто рад из местных своей работой на галере?
Кто рад из местных своей работой на галере?
−1
Почему пхпшники получают поболя крестоблядей?
Почему пхпшники получают поболя крестоблядей?