Embark on a journey of knowledge! Take the quiz and earn valuable credits.
Take A QuizChallenge yourself and boost your learning! Start the quiz now to earn credits.
Take A QuizUnlock your potential! Begin the quiz, answer questions, and accumulate credits along the way.
Take A QuizGeneral Tech Bugs & Fixes 2 years ago
Posted on 16 Aug 2022, this text provides information on Bugs & Fixes related to General Tech. Please note that while accuracy is prioritized, the data presented might not be entirely correct or up-to-date. This information is offered for general knowledge and informational purposes only, and should not be considered as a substitute for professional advice.
Either you need to pass the pointer by reference
void conditional_reassign2(std::unique_ptr<MyClass>& ptr) {...}
std::unique_ptr<MyClass> myPtr;
conditional_reassign2(myPtr);
or return the pointer, which requires a single move
std::unique_ptr<MyClass> conditional_reassign2(std::unique_ptr<MyClass> ptr) {...}
std::unique_ptr<MyClass> myPtr;
myPtr = conditional_reassign2(std::move(myPtr));
Also you can return ptr directly from the function without explicitly calling move.
std::unique_ptr<MyClass> conditional_reassign2(std::unique_ptr<MyClass> ptr)
{
if (my_condition)
ptr = std::make_unique<MyClass>(new_param);
return ptr;
}
No matter what stage you're at in your education or career, TuteeHub will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.
General Tech 10 Answers
General Tech 7 Answers
General Tech 3 Answers
General Tech 9 Answers
Ready to take your education and career to the next level? Register today and join our growing community of learners and professionals.
manpreet
Best Answer
2 years ago
Background
With normal pointers">pointers, I can do something like the following
And I can pass in the pointer I want to change like following
I wish to reimplement this with
std::unique_ptr
. Here's what I came up withAnd I would call it with the following
Question
I'm not quite happy with the verbosity of the line
Is there a way to implement
conditional_reassign2
so that I can call it in a manner similar toconditional_reassign(ptr)