回答編集履歴

2

修正

2020/09/09 15:31

投稿

Zuishin
Zuishin

スコア28669

test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
 
22
22
 
23
- ここに yolov3_post_process の宣言は二つあります。これは同名で引数や戻り値の異なる関数が(少なくとも)二つあることを示します。このように同名の関数を複数作ることをオーバーロードと呼びます。名前は同じですが、異なった関数で、引数の数や種類で呼び分けます。
23
+ ここに yolov3_post_process の宣言は二つあります。これは同名で引数や戻り値の異なる関数が(少なくとも)二つあることを示します。このように、一つのクラスに同名のメソッドを複数作ることをオーバーロードと呼びます。これらは名前は同じですが、異なった関数で、引数の数や種類で呼び分けます。
24
24
 
25
25
 
26
26
 

1

追記

2020/09/09 15:31

投稿

Zuishin
Zuishin

スコア28669

test CHANGED
@@ -9,3 +9,21 @@
9
9
 
10
10
 
11
11
  .hpp はヘッダファイルで、通常このような宣言ばかりが主に書かれます。.cpp という拡張子のファイルを探してみてください。もしかしたらソースは提供されていなくて、コンパイル済みかもしれません。
12
+
13
+
14
+
15
+ ### 追記
16
+
17
+
18
+
19
+ > 2.YOLOv3Result型のstd::vectorを返り値に持つ関数なのかどうかわからない。関数だとしたらどうゆう構造、使い方でどのような意味の返り値を返してるのでしょか?
20
+
21
+
22
+
23
+ ここに yolov3_post_process の宣言は二つあります。これは同名で引数や戻り値の異なる関数が(少なくとも)二つあることを示します。このように同名の関数を複数作ることをオーバーロードと呼びます。名前は同じですが、異なった関数で、引数の数や種類で呼び分けます。
24
+
25
+
26
+
27
+ 片方は YOLOv3Result が戻り値で、もう片方は std::vector<YOLOv3Result> が戻り値です。
28
+
29
+ std::vector<T> は配列の上等なものと思ってください。つまり片方は YOLOv3Result を一つしか返さないが、もう片方は複数返すということです。