2017-07-04 78 views
0

顯然,搜索引擎似乎沒有將這個符號'<>'放入搜索中,因此任何人都可以向我解釋這個符號的含義和聲明是什麼?這句話是什麼意思'p = I.ptr <uchar>(i);'做?

對於聲明,我可以猜測,

p = I.ptr<uchar>(i); 

p發生在我[I]地址是指向。

謝謝:)

+0

是否OpenCV的沒有在線文檔? – juanchopanza

+1

您正在查找的Google查詢是「C++模板」 – iehrlich

+0

@iehrlich這非常有幫助。謝謝 – MaNyYaCk

回答

0

它調用類的與i參數的成員函數。例如

#include <iostream> 

using std::cout; 
using std::endl; 

class Something { 
public: 
    template <typename T> 
    T do_something(T in) { 
     cout << __PRETTY_FUNCTION__ << endl; 
     return in; 
    } 
}; 

int main() { 
    auto something = Something{}; 
    // <int> not really needed here, the type can be deduced, 
    // just here for demonstration purposes 
    auto integer = something.do_something<int>(1); 
    (void) integer; 
} 

注意的是,爲了在模板類型的情況下做到這一點,你將需要前綴template方法調用在這個問題解釋 - Where and why do I have to put the "template" and "typename" keywords?

+0

因此ptr是類I的函數並且傳遞的參數是i? 在你的代碼中做了什麼? – MaNyYaCk

+0

@MaNyYaCk'ptr'是該類的一個方法,通過的參數是'i'是的。我的代碼中的'int'和你我的'i'完全相同。雖然不需要'',但可以推導出 – Curious

+0

,因此我的代碼中的基本上是一個類型轉換? – MaNyYaCk

相關問題