C++ のテンプレート クラスを理解しようとしています。まず、この行の意味を理解したいと思います。
template <typename T, typename Ord = columns, typename All = abc::allocator<T,16> >
class matrix
ここで、columns と allocator はそれぞれ別の場所 (名前空間 abc の 2 番目) で定義された構造体とクラスです。私を悩ませているのは、すでに初期化されている型名を持っているように見えるという事実です。これは何を意味するのでしょうか?このテンプレートを使用する場合、Ord と All の型名も初期化する必要がありますか?
さらに、この唯一のコンストラクターもあります。
explicit matrix(unsigned int rows = 0, unsigned int cols = 0, T init = T())
しかし、すでに初期化されているようです。そして、initは何を意味するのでしょうか?
すべてのコードを確認しましたが、理解を深めるのに役立つものは何もありません。ご清聴ありがとうございました。
編集:ご回答いただきありがとうございます。少し安心させてください(私はC ++の初心者です):
int const& operator() operator()(unsigned int i, unsigned int j) const
このメソッドは、クラス foo を初期化するときに、foo()(1,2) で呼び出すことができることを意味します。ここで、i=1 および j=2 です。私は正しいですか?そして、2つの「const」は何を指していますか?
ありがとうございました!