您好,登錄后才能下訂單哦!
本篇內容介紹了“C++怎么避免相同類型的無關參數相鄰”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
相同類型的毗鄰參數很容易被弄反。
Example, bad(反面示例)
Consider(考慮下面的代碼):
void copy_n(T* p, T* q, int n); // copy from [p:p + n) to [q:q + n)
這個K&R C風格接口的危險變種。它很容易弄反to和from兩參數。
為from參數使用const修飾。
void copy_n(const T* p, T* q, int n); // copy from [p:p + n) to [q:q + n)
譯者注:如果from緩沖區為const類型,弄反參數就會產生編譯錯誤。
如果參數的順序不重要,則沒有問題:
int max(int a, int b);
不要以指針形式傳遞數組,傳遞一個·表現range的對象(例如span):
void copy_n(span<const T> p, span<T> q); // copy from p to q
將參數類型定義一個結構體并為并根據參數為字段命名:
struct SystemParams { string config_file; string output_path; seconds timeout;};void initialize(SystemParams p);
由于參數通常被調用者根據名稱賦值,這樣做有助于將來的讀者更明確地調用該函數。
Enforcement(實施建議)
(簡單)如果有兩個連續的參數的類型相同,報警。
“C++怎么避免相同類型的無關參數相鄰”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。