簡體   English   中英

Mat類opencv中的begin()方法聲明

[英]begin() method declaration in Mat class opencv

在查看有關使用begin()方法的opencv參考手冊時,我來到了以下聲明:

template<typename _Tp> MatIterator_<_Tp> Mat::begin()

我不太擅長C ++,我只是想知道“ MatIterator”是什么,以及“ _”的整個用法是什么? (在C ++中它有什么特殊含義)

在C ++中,下划線所附加的唯一特殊含義是, _Tp名稱, _Tp在其后帶有另一個下划線或大寫字母,以供實現。

尾隨的下划線(例如在MatIterator_ )通常用於表示類成員。

從外觀MatIterator_MatIterator_是一種類型,顯然用作矩陣上的迭代器。

至於整個聲明,它看起來像:

“ template”“ <” template-parameters “>” 返回類型 * function-name *“(”“ function-parameters ”)“

哪里:

template-parameter可以是classtypename后跟任意名稱(它也可以是非類型模板參數或模板模板參數,但由於本文未使用任何代碼,因此我們不再贅述)。 實例化模板時,此名稱將表示實例化模板的類型。

return-type只是某種類型,它將是函數返回的類型。 在這種情況下,它取決於template參數,因此它說“對於某些類型_Tp ,這將返回稱為MatIterator<_Tp>的類型”。

function-name只是您要定義的函數的名稱。 在這種情況下,它是成員函數,因此形式為“類名::成員名”。

在這種情況下, function-parameters為空,因此我們也不會考慮。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM