![](/img/trans.png)
[英]Pass an empty unordered_map by default to function in C++
[英]How do you pass an unordered_map as a function parameter within C++?
我的程序最初設置為通過函數傳遞數組。 此后,我將其更改為unordered_map。 我如何通過函數傳遞unordered_map而不是類似的東西:
int function(int array[])
作為參考:
int function(unordered_map<K, T> &map)
像這樣:
int function(const std::unordered_map<int, int> &map)
除非您需要修改地圖,否則不需使用const。
如果是我的程序,我將輸入typedef map:
typedef int result_t;
typedef std::unordered_map<int, result_t> memoization_table_t;
result_t function(memoization_table_t &map)
我只是編造了東西,因為我不知道你在做什么。 typedef使模板化容器更易於使用,並且它們使用描述性類型名來記錄代碼。
你為什么感到困惑? 只需將int
替換為unordered_map<int, int>
。
int foo(unordered_map<int, int> x)
如果您不需要修改它,則需要使用const引用傳遞它。
int foo(const unordered_map<int, int> &x)
如果要修改用於調用函數的原始對象,請不要使用const。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.