Egor
То есть pair<const Key, Value>. А ещё лучше — то же самое по константной ссылке.
Egor
Да и захватывать лучше по ссылке.
Egor
Если это большие переменные
Anonymous
понято, спасибо
Anonymous
сейчас попробую
Anonymous
спасибо, заработало
Dmitrii
Anonymous
code
🦥Alex Fails
🦥Alex Fails
#onlinecode
🦥Alex Fails
пункт 1
Dmitrii
code
Dmitrii
У меня обычным текстом выводится. Так-то знал про три backtick'а.
Dmitrii
Что-то пошло не так.
🦥Alex Fails
хм, странно
Dmitrii
Раньше вроде работало, но внешний вид был как и у однострочных блоков. А сейчас вижу, что даже фоном выделяется -- подумал, что новая фича какая-то появилась. Ну, да ладно.
Berkus
один backtick для текста в строке, три бэктика для простыни кода
Oleh
Ребята,подскажите пожалуйста каким образом можно передать лямбду в другую функцию
Oleh
Vladislav
а зачем там std::function<T>, а не просто T?
Oleh
компилятор ругается о том, что не нашел подходящую функцию:
error: no matching function for call to ‘methodIter(main()::<lambda(int)>&, float, double)’
cout « "x = " « ApproximateCalc::methodIter(fx, 7.f , 0.00001) « endl;
^
Vladislav
Александр
лучше T f(std::function<T(T)>, T x, T eps)
Vladislav
ну и еще T надо явно передать, так как он его заинферрить не может в данном случае
Oleh
Александр
Vladislav
Vladislav
из-за промежуточного std::function
Vladislav
хотя надо затестить
Vladislav
ну вот в gcc будет хуже, значит)
Александр
тогда надо внутри функции расставить static_assert на принимаемый и возвращаемый тип F
Vladislav
а строгость можно придать static_assert'ом, если очень хочется
Vladislav
Oleh
Oleh
https://ideone.com/3ixgSW
Alexander "SonnySlave"
float != double
Oleh
Спасибо всем!)
Alexander "SonnySlave"
Проверь с fastmath
как опция компиляции влияет на систему типов языка?
Alexander "SonnySlave"
Max
float != double
вообще лучше сравнивать с погрешностью
bool AreSame(double a, double b)
{
return fabs(a - b) < EPSILON;
}
Vladislav
Max
Крылатый
Alexander "SonnySlave"
Berkus
Nikita
А float и double точно коммутируют?
Александр
громкое заявление, я бы не стал утверждать
Alexander "SonnySlave"
Вакансии в личку @AlexFails
Anonymous
коллеги, у меня еще один вопрос
у меня есть
boost::posix_time::ptime
и мне надо его округлить до минут. Как это лучше сделать?
Anonymous
нет
Aidar
нет
Легко работать с точками времени и промежутками, но нельзя нормально получить из человекочитаемого вида и перевести в него
Anonymous
http://en.cppreference.com/w/cpp/chrono/time_point/time_point_cast
типа этого?
Berkus
Aidar
Anonymous
абсолютное
Aidar
Если ты знаешь чему то оно относительно
Anonymous
у меня время отсчитавается от 1970.1.1 поэтому хз чему оно там равно
Aidar
time_point ты не переведёшь в человеческий вид без силибы
Aidar
Только duration
Alexander "SonnySlave"
Aidar
Ждём тот кусок std с с++ аналогом localtime
Aidar
Anonymous
коллеги, еще вопрос
using TransactionPair = std::pair<uint256, XBridgeTransactionDescrPtr>;
std::map<uint256, XBridgeTransactionDescrPtr> trList;
auto cmp = [timestamp](const TransactionPair &a, const TransactionPair &b)
{
return timestamp(a.second->created) < timestamp(b.second->created);
};
std::sort(trList.begin(), trList.end(), cmp);
Anonymous
/usr/include/c++/6/bits/stl_algo.h:1966: ошибка: no match for ‘operator-’ (operand types are ‘std::_Rb_tree_iterator<std::pair<const uint256, boost::shared_ptr<XBridgeTransactionDescr> > >’ and ‘std::_Rb_tree_iterator<std::pair<const uint256, boost::shared_ptr<XBridgeTransactionDescr> > >’)
std::__lg(__last - __first) * 2,
Anonymous
шо опять не так?
Berkus
operator - для итератора не нашелся
Anonymous
это понятно, непонятно что с этим делать
Alexander
map и так упорядоченный контейнер
Anonymous
да
Anonymous
только по ключам