溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C++最小化模板對(duì)上下文的依賴是什么

發(fā)布時(shí)間:2021-11-24 10:58:41 來(lái)源:億速云 閱讀:95 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容介紹了“C++最小化模板對(duì)上下文的依賴是什么”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

T.60:最小化模板對(duì)上下文的依賴

Reason(原因)

Eases understanding. Minimizes errors from unexpected dependencies. Eases tool creation.

讓理解更容易。盡量減少由于意外的依賴引發(fā)的錯(cuò)誤。方便工具生成。

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?
   }
}
Note(注意)

Templates typically appear in header files so their context dependencies are more vulnerable to #include order dependencies than functions in .cpp files.

模板通常出現(xiàn)在頭文件中,相比在CPP文件中的情況,它們的上下文依賴會(huì)更容易受到#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!

讓模板操作僅僅操作參數(shù)是一種將依賴個(gè)數(shù)減少到最小的一種方式。但是那樣通常會(huì)無(wú)法實(shí)現(xiàn)。例如,算法通常會(huì)使用其他算法并調(diào)用無(wú)法對(duì)參數(shù)進(jìn)行排他操作的操作。

“C++最小化模板對(duì)上下文的依賴是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

c++
AI