見出し画像

【Python/C++】わかりづらい「:(コロン)」と「::(ダブルコロン)」

python + openCVの時に毎回忘れて「何っ??」ってなるのでメモ

【よくある使い方?】

「:(コロン)」、通常はArrayに対する演算、処理の際に用いられるスライス(範囲の指定)に使う

「::(ダブルコロン)」はステップ数を指定している(つまり第一引数と第二引数を省略した記法)

※こっちはpython、スライスとかで調べたら出るから、載せてない(ただ面倒くさいだけ・・・)

【今回のケース】

「:(コロン)」は型アノテーション

「変数名: 変数型」の形で変数の型を明示(関数の場合も戻り値の型を明示できる)

「::(ダブルコロン)」はpython一般の話ではなく、OpenCVの内部的な話、つまりC++のスコープ解決演算子と思われる。

スコープ解決演算子的な使用例.

cv:: Mat

cvクラスのMAT関数??(cvモジュール内のMATクラス??)的な感じ

参考1:スコープ解決演算子「::」は何者

参考2:スコープ解決演算子 :: (C++ のみ)

参考3:C++ クラスの簡単な書き方 ヘッダファイル

参考4:C++ コロンコロン 2つ ::ダブルコロンの意味は?

元はと言えばOpenCVを調べてたはず・・・

OpenCVのctvColor()の引数と戻り値について、調べていたところで、公式ドキュまで行って詰まってしまった。OpenCVのcv2.cvtColor()については、別記事参照

最近は公式ドキュやソースコードを読み込もうとあがいているが、まだまだモヤモヤする日々が続いている。


いいなと思ったら応援しよう!