How to use unique_ptr& as a parameter for C++
This article mainly introduces "how C++ uses unique_ptr& as a parameter". In daily operation, I believe many people have doubts about how C++ uses unique_ptr& as a parameter. The editor consulted all kinds of materials and sorted out simple and easy-to-use methods of operation. I hope it will be helpful to answer the doubts about "how C++ uses unique_ptr& as a parameter". Next, please follow the editor to study!
R.33: when the expression function resets widget, use unique_ptr& as an argument.
Reason (reason)
Using unique_ptr in this way enforces the reset semantics of function calls both in terms of documentation and implementation.
Note (Note)
"reset" means to make a pointer or smart pointer reference another object.
Example (sample)
Void reseat (unique_ptr&); / / "will" or "might" reseat pointerExample, bad (negative example)
Void thinko (const unique_ptr&); / / usually not what you want
Enforcement (implementation recommendations)
(Simple) Warn if a function takes a Unique_pointer parameter by lvalue reference and does not either assign to it or call reset () on it on at least one code path. Suggest taking a T * or T & instead.
(simple) warn if a function uses a Unique_pointer type parameter with a left reference, but does not assign a value to it or call the reset method on at least one code path. It is recommended to use T* or T& instead.
(Simple) (Foundation) Warn if a function takes a Unique_pointer parameter by reference to const. Suggest taking a const T * or const T & instead.
(simple) ((basic)) give a warning if a function uses the Unique_pointer parameter in the form of a constant reference. It is recommended to use const T * or const T & instead.
At this point, the study of "how C++ uses unique_ptr& as a parameter" is over. I hope to be able to solve your doubts. The collocation of theory and practice can better help you learn, go and try it! If you want to continue to learn more related knowledge, please continue to follow the website, the editor will continue to work hard to bring you more practical articles!