c++ - 是否可以将 std::deque 的成员函数作为参数传递?
问题描述
我想使用push_front
或push_back
取决于用户输入。是否可以将其包含在函数参数中,然后编写一个函数以节省内存?
解决方案
是否可以将其包含在函数参数中?
没有。你不能。
在这个讨论中可以找到一个很好的解释: 我可以获取标准库中定义的函数的地址吗?
但是,可以通过明确告诉函数应该在哪里插入来解决问题。
#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);
推荐阅读
- sql - Repost : SQl 查询按月/年汇总金额
- base64 - 如何通过 src 标签显示包含 base64 格式图像的数组?
- ios - 快速在 UIDocumentPicker 中设置文档扩展名
- java - NumberFormatException 用于法语语言的输入字符串
- image - 在 Codeigniter 中裁剪和上传图像
- python - 合并两个带有附加条件的数据框
- python - AWS Sagemaker | 如何训练文本数据 | 用于票证分类
- alert - MarkLogic 的 SNMP 陷阱
- javascript - 如何使用来自公共组件的按钮作为 href 并在反应中使用 onClick 事件?
- dart - Fluter setState() 使循环始终被调用