Понял, но почему тогда не работает следующий код:
В первом случае я создаю экземпляр класса и вызываю (), во втором тоже самое
hash<int> tt();
hash<int>
По аналогии с тем, что я прочитал в интернете
Но работает этот:
#include<functional>
struct MyHash
{
size_t operator() (int obi) const
{
std::hash<int> tt;
return tt(obi);
}
};
int main()
{
auto x = MyHash()(42);
}
#include<functional>
struct MyHash
{
inline size_t operator()(int obi) const
{
std::hash<int> tt = std::hash<int>();
return tt.operator()(obi);
}
// inline constexpr MyHash() noexcept = default;
// inline constexpr MyHash(const MyHash &) = default;
// inline constexpr MyHash(MyHash &&) = default;
// inline ~MyHash() noexcept = default;
};
int main()
{
unsigned long x = MyHash().operator()(42);
}
как с этим бороться?
// ...
tmp = rint(tt);
// ...
// ...
fesetround(FE_TONEAREST);
// ...
Для выполнения своей профессиональной работы, программист должен уметь работать самостоятельно в одиночку, не рассчитывая на помощь других. Он должен обладать понимаем ответственности за свои действия и за свою работу, уметь проводить оперативный и наиболее верный анализ всех действий и происходящей ситуации, быстро соскакивать с одного дела на другое, при этом не теряясь, выполнять все свои функции. Из личных качеств у программиста должно быть развито логическое и пространственное мышление, усидчивость и терпеливость, он должен не пугаться и не отвлекаться в экстренных ситуациях, уметь сохранять спокойствие при нехватке времени и в особо напряжённых моментах.
Дело в том, что у меня Linux, а программу я пишу для Windows.
на виртуальную машину
В образовательных целях. Друг попросил сделать вирус на виртуальную машину.
T& T::foo() // ссылка
{
return *this;
}
auto T::foo() // T(const T&)
{
return *this; // T&
}
The expression ∗this refers to the object for which a member function is invoked.
In a non-static member function, the keyword this is a pointer to the object for which the function
was invoked. In a non-const member function of class X, the type of this is X∗. However, this
is considered an rvalue, so it is not possible to take the address of this or to assign to this. In a
const member function of class X, the type of this is const X∗ to prevent modification of the object
itself
The operand of the built-in indirection operator must be pointer to object or a pointer to function, and the result is the lvalue referring to the pointer or function to which expr points.
<code lang="java">
</code>