我正在四處尋找一種方法來使用模板或類似的東西返回不同大小的位集。我還沒有真正玩過這個遊戲的機會,但是我只是好奇,如果有人曾經搞砸過這個,並且設法完成這個。返回可變大小的位集
這裏的目標是避免爲4個不同大小的位集(32,17,10,5)編寫4個函數。我想我可以使用某種模板來實現這一點(只需將模板直接放在函數本身上,而不是類實現或類似的東西)。
所以它會是這個樣子:
template<something SIZE>
static bitset<SIZE> function(bitset<SIZE>);
我基本上可以通過在尺寸大小的位集合,然後一些東西是做給它後返回該尺寸的bitset回來。
我大概可以用矢量做到這一點,然後再投射,但我感覺有一些方法可以完成我在這裏要做的事情。如果有人有任何想法,請隨時讓我知道。我打算稍後深入研究並做一些測試,所以我會在找到一些東西時更新它。
在此先感謝。
----- -----編輯
我已經先行一步,並實施Mark_B的解決方案,它似乎運作良好。如果任何人有另一個實現,我會很高興看到它,但我只是使用模板來實現這一點。
感謝您的快速回復。
調用者在編譯時是否知道大小? –
是的,調用者在編譯時會知道這個大小。它只是作爲一個靜態函數來對位集進行微小的修改。在這種情況下,Mark_B的解決方案似乎是有效的,所以我暫時將繼續這樣做。如果其他人有另一種可能更好的解決方案,或者可能只是以不同的方式工作,我很樂意聽到它。 – Monatrox