您好,登錄后才能下訂單哦!
本篇內容介紹了“C++最小化模板對上下文的依賴是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
T.60:最小化模板對上下文的依賴
Reason(原因)
Eases understanding. Minimizes errors from unexpected dependencies. Eases tool creation.
讓理解更容易。盡量減少由于意外的依賴引發的錯誤。方便工具生成。
Example(示例)
template<typename C>
void sort(C& c)
{
std::sort(begin(c), end(c)); // necessary and useful dependency
}
template<typename Iter>
Iter algo(Iter first, Iter last)
{
for (; first != last; ++first) {
auto x = sqrt(*first); // potentially surprising dependency: which sqrt()?
helper(first, x); // potentially surprising dependency:
// helper is chosen based on first and x
TT var = 7; // potentially surprising dependency: which TT?
}
}
Templates typically appear in header files so their context dependencies are more vulnerable to #include order dependencies than functions in .cpp files.
模板通常出現在頭文件中,相比在CPP文件中的情況,它們的上下文依賴會更容易受到#include次序的影響。
Note(注意)
Having a template operate only on its arguments would be one way of reducing the number of dependencies to a minimum, but that would generally be unmanageable. For example, algorithms usually use other algorithms and invoke operations that do not exclusively operate on arguments. And don't get us started on macros!
讓模板操作僅僅操作參數是一種將依賴個數減少到最小的一種方式。但是那樣通常會無法實現。例如,算法通常會使用其他算法并調用無法對參數進行排他操作的操作。
“C++最小化模板對上下文的依賴是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。