-
Couldn't load subscription status.
- Fork 1
Open
Labels
bugSomething isn't workingSomething isn't workingperformanceThis can be done fasterThis can be done faster
Description
- use C++ type style:
-Type& val
-Type* val - use
std::movefor forwardstd::string(and other big [not fundamental] types)
constructor(std::string string)
: field(std::move(string)) - use
const &for [big type] argument - use
universal referenceto forward template argument - use
std::forwardto forward template argument
auto function(std::vector<big_type>& list, big_type case1, const big_type& case2, auto&& case3)
{
list.push_back(std::move(case1)) // one copy/only move, but call function(list, std::move(val), ..., ...)
list.push_back(case2) // always one copy
list.push_back(std::forward<decltype(case3)>(case3)) // same case1 but have other features
}auto function(big_type case1, const big_type& case2, auto&& case3)
{
case1.readonly_func() // (( always one copy
case2.readonly_func() // )) no copy
case3.readonly_func() // )) no copy
}Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingperformanceThis can be done fasterThis can be done faster