[發明專利]參數處理方法和裝置有效
| 申請號: | 201810646530.1 | 申請日: | 2018-06-21 |
| 公開(公告)號: | CN108932123B | 公開(公告)日: | 2022-03-11 |
| 發明(設計)人: | 趙肖勇;康高杰 | 申請(專利權)人: | 北京奇虎科技有限公司 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30;G06F16/901;G06F16/903 |
| 代理公司: | 北京恒博知識產權代理有限公司 11528 | 代理人: | 范勝祥 |
| 地址: | 100088 北京市西城區新*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 參數 處理 方法 裝置 | ||
本發明公開了參數處理方法和裝置。所述方法包括:獲取待處理的若干個參數;根據預設的參數轉換模板,將該若干個參數存儲為通用類型對象,得到與該通用類型對象對應的通用類型信息;將所述通用類型信息傳遞給參數接收者,由所述參數接收者根據所述通用類型信息獲取該若干個參數。該技術方案的有益效果在于,通過參數轉換模板理論上可以支持任意個數任意類型的參數,不需要進行序列化和反序列化處理,并且十分安全,效率更高。
技術領域
本發明涉及計算機技術領域,具體涉及參數處理方法和裝置。
背景技術
開發人員熟知,參數的類型多樣化,例如基本類型(整型int、長整型long、字符串char……)、函數、指針等都可以作為參數進行使用。
然而隨著需求的不斷變更,出現了很多新的問題。例如,參數接收者希望接收的參數類型、參數個數是不固定的,這樣如果要把所有情形一一考慮顯然是不容易實現的。一種做法是將待傳遞的參數序列化為一個字符串,由參數者接收到參數后進行反序列化處理,但是這樣很不安全,對參數有局限性,并且效率很低。
發明內容
鑒于上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的參數處理方法和裝置。
依據本發明的一個方面,提供了一種參數處理方法,包括:
獲取待處理的若干個參數;
根據預設的參數轉換模板,將該若干個參數存儲為通用類型對象,得到與該通用類型對象對應的通用類型信息;
將所述通用類型信息傳遞給參數接收者,由所述參數接收者根據所述通用類型信息獲取該若干個參數。
可選地,所述參數包括如下的一種或多種:
基本類型對象、lambda表達式、指針、智能指針、普通函數。
可選地,所述預設的參數轉換模板包括空的參數包裝基類,以及根據模板template實現的該參數包裝基類的派生類;
所述根據預設的參數轉換模板,將該若干個參數存儲為通用類型對象,得到與該通用類型對象對應的通用類型信息包括:
根據所述派生類構造生成與該若干個參數對應的派生類對象,得到與該派生類對象對應的基類指針。
可選地,所述根據所述派生類構造生成與該若干個參數對應的派生類對象包括:
根據所述派生類中的參數包裝方法,對該若干個參數進行包裝。
可選地,所述根據所述派生類中的參數包裝方法,對該若干個參數進行包裝包括:
根據所述參數包裝方法中的可變參數模板創建一個元組,將該若干個參數寫入所述元組中。
可選地,所述根據所述參數包裝方法中的可變參數模板創建一個元組包括:確定該若干個參數在所述元組中的索引信息。
可選地,所述索引信息包括所述元組中各位置對應參數的寫入類型。
可選地,所述根據所述派生類構造生成與該若干個參數對應的派生類對象包括:
當待處理的參數的數量為一時,判斷該參數的類型是否屬于預設類型;
是則在所述派生類申請的內存空間中存儲該參數,否則申請新的內存空間用于存儲該參數。
可選地,所述派生類申請的內存空間按順序分為三個區域,依序用于存儲虛函數表、基類指針和參數。
可選地,所述參數接收者為觀察者模式中的觀察者或者待執行函數。
依據本發明的另一方面,提供了一種參數處理方法,包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇虎科技有限公司,未經北京奇虎科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810646530.1/2.html,轉載請聲明來源鉆瓜專利網。





