Skip to content

Instantly share code, notes, and snippets.

@adachic
Created January 8, 2017 14:24
Show Gist options
  • Select an option

  • Save adachic/a13f94dcca4848ce6ee4e56256db12bd to your computer and use it in GitHub Desktop.

Select an option

Save adachic/a13f94dcca4848ce6ee4e56256db12bd to your computer and use it in GitHub Desktop.
moveの使い出がある場面
//ticketIdが一致するチケットを探し、保存した配列から消す(std::move使わない版)
PathTicket *PathFindTicketStore::getAndRemoveById(int ticketId) {
PathTicket *_ticket = nullptr;
_mtx.lock();
for (auto ticket : *_ticketsVec) {
if (ticket->id == ticketId) {
_ticket = PathTicket::copyFrom(ticket);
delete(ticket);
ticket = nullptr;
break;
}
}
_mtx.unlock();
return _ticket;
}
//ticketIdが一致するチケットを探し、保存した配列から消す(std::move使わない版)
PathTicket *PathFindTicketStore::getAndRemoveById(int ticketId) {
PathTicket *_ticket = nullptr;
_mtx.lock();
for (auto ticket : *_ticketsVec) {
if (ticket->id == ticketId) {
_ticket = std::move(ticket);
break;
}
}
_mtx.unlock();
return _ticket;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment