[英]Ways to make variable name aliases
我寫了一些將迭代器作為參數的算法。 我希望這些迭代器的名稱為用戶反映一個事實,即它們表示一個范圍,因此我將其命名為:
template < typename T >
void foo( T begin_i, T end_i ) {
// ...
}
我也想在代碼中使用這些參數,但是在實現名稱的上下文中, begin_i
和end_i
不能反映它們的用途,因此我需要為它們使用名稱別名。 那就是參考的意思,對不對?
template < typename T >
void foo( T begin_i, T end_i ) {
T& context_dependent_name1 = begin_i;
T& context_dependent_name2 = end_i;
// Code using aliases
}
這對我begin_i
,但是最好隱藏初始名稱begin_i
和end_i
。 我的問題是:
另一種選擇是在聲明中使用一個名稱,在定義中使用另一個名稱:
template <typename T> void foo(T begin_i, T end_i);
以后,例如在.inl中
template<typename T>
void foo(T context_dependent_name1, T context_dependent_name2) {
// Implementation
}
但是,對於某些文檔工具,參數名稱不匹配可能會產生警告。
是。
沒有。
不要這樣 沒有用。
沒有。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.