diff --git a/src/MaaCore/Config/TaskData.cpp b/src/MaaCore/Config/TaskData.cpp index 1d549b1c4b..d3fe6a1044 100644 --- a/src/MaaCore/Config/TaskData.cpp +++ b/src/MaaCore/Config/TaskData.cpp @@ -122,7 +122,7 @@ bool asst::TaskData::lazy_parse(const json::value& json) const size_t MAX_CHECKING_SIZE = 10000; while (!task_queue.empty() && checking_task_set.size() <= MAX_CHECKING_SIZE) { - const std::string& name = task_queue.front(); + std::string name = std::move(task_queue.front()); task_queue.pop(); auto task = get(name); if (task == nullptr) [[unlikely]] { diff --git a/src/MaaCore/Config/TaskData.h b/src/MaaCore/Config/TaskData.h index 9023d93568..9a3483fd15 100644 --- a/src/MaaCore/Config/TaskData.h +++ b/src/MaaCore/Config/TaskData.h @@ -125,7 +125,7 @@ public: // json[name][x] = y; // Task.lazy_parse(json); // ``` - return std::dynamic_pointer_cast(get(std::string(name))); + return std::dynamic_pointer_cast(get(name)); } protected: