News for hackers. Stuff that matters.
Re:Don't pass structs bigger than 16 bytes on AMD64 by jtasdlfj234 on Friday January 05, 2024 @12:11PM (#38881530)
Please prove me wrong on these points. My current belief and understanding is that:

1. `foo(T)` indicates polymorphic over both `T::T(const T&)` and `T::T(T&&)`. This gives you benefits of both pass-by-move (using `std::move` as needed), or copy.

2. Usage of `foo(T&&)` signals code-smell or an anti-pattern as `foo(T)` should be used instead unless it is perfecting forwarding / universal reference `template <typename T> foo(T&&)`.

There are no comments on this comment yet.