[英]how to use a sublass of a template class to deduce the template parameters of a template function in C++?
[英]How to use a template function with multiple parameters in a template class C++
我正在嘗試為班級中的一個項目的問題做准備,其中我們的數據結構和方法已經預先定義。 實現使用這些模板的某些功能是我的工作。
例如,我應該創建一個following函數,該函數將執行此操作:如果我follows(q)
,其中q = {"h", "e", "l", "l", "o", "w", "r"}
並且q
的類型為ArrayQueue
,它將創建一個ArrayMap
,該ArrayMap
將單個隊列值作為鍵,並在該隊列值旁邊保存一組值。
如果我查看地圖內部,它將看起來像這樣:
Key -> Set Containing the Values
h -> set[e]
e -> set[l]
l -> set[l, o]
o -> set[w]
w -> set[r]
現在,我應該通過使用以下模板簽名來實現此功能:
template<class T>
ics::ArrayMap<T,ics::ArraySet<T>> follows (const ics::ArrayQueue<T>& q)
{
}
盡管我了解執行此操作的一般邏輯,但我確實需要做一件事:能夠訪問和更新返回的ArrayMap
的第二個參數,即ics::ArraySet<T>
那么,如何將這個ArraySet
作為變量進行修改呢?
根據您的描述,聽起來您應該能夠執行以下操作:
ics::ArraySet<T>& followers = the_array_map[x];
假設您有一個變量the_array_map
,該變量保存您正在構造(並從該函數返回)的跟隨者映射。
現在,您可以通過將所需元素附加到followers
來更新followers
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.