javascript - 函数中的默认参数指向 c++ unordered_map 中的引用
问题描述
我是一名 JS 开发人员,为了实现这个函数头,我这样做:
function gridTraveler(m,n,memo={})
在这里,我知道对象将在 JS 中通过引用传递。
所以在 C++ 中,我决定这样做:
int gridTraveler(int m,int n,std::unordered_map<int,int>& memo = {})
但我收到一个错误:“对非 const 的初始引用必须是左值”。
我应该如何将默认参数传递给函数以及通过引用传递hasmap?
注意:我将通过在函数体中添加键和值来编辑备忘录对象
解决方案
您的意思可能可以通过处理无序映射生命周期的两个参数重载来实现。
int gridTraveler(int m,int n,std::unordered_map<int,int>& memo) {
//your implementation here
}
int gridTraveler(int m, int n) {
std::unordered_map<int,int> memo = {};
return gridTraveler(m, n, memo);
}
推荐阅读
- laravel-5 - 如何使用 Eloquent 范围获取最后一条记录?
- javascript - 一种遍历集合的跨浏览器方式。JS
- reactjs - 使用 React js 在 bootstrap 4 中获取导航栏的状态
- r - 我如何创建一个函数 gentimes() 来创建一个点的 nreps(w1,w2)
- html - 如何设置 Materialize 选择元素的大小?
- jmeter - JMETER:条件失败并出现语法错误
- c# - 我的机器的Application pool在Windows服务开发中消费第三方rest服务的作用是什么
- php - Laravel - 无法添加外键约束
- python - 为什么这个 Python 代码的 while 循环在运行时不会停止?
- linux - 如何打印在 linux elf 二进制文件中记录的编译目录?