我想根据用户输入使用 push_front
或 push_back
。是否可以将其包含在函数参数中,然后编写一个函数以节省内存?
最佳答案
没有 。你不能。
在这个讨论中可以找到一个很好的解释:
Can I take the address of a function defined in standard library?
但是,可以通过明确告诉函数应该在哪里进行插入来解决。
#include <iostream>
#include <deque>
enum class To{ front = 0, back };
void func(std::deque<int>& dq, const int value, const To where)
{
if (where == To::front)
{
dq.push_front(value);
// code
}
else if(where == To::back)
{
dq.push_back(value);
// code
}
}
你叫它
std::deque<int> dq;
func(dq, 1, To::back);
func(dq, 2, To::front);
关于c++ - 是否可以将 std::deque 的成员函数作为参数传递?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56096669/