私はこのリソースを見ています:
http://www.cplusplus.com/reference/vector/vector/
たとえば、クラスベクトルのイテレータメンバータイプ。
「メンバー型」は、単純にtypedefまたはベクタークラスに類似したものとして実装されますか?「メンバータイプ」が実際に何を意味するのかは私にはわかりません。C++の教科書をいくつか見てきましたが、このフレーズについてはまったく触れていません。
私はこのリソースを見ています:
http://www.cplusplus.com/reference/vector/vector/
たとえば、クラスベクトルのイテレータメンバータイプ。
「メンバー型」は、単純にtypedefまたはベクタークラスに類似したものとして実装されますか?「メンバータイプ」が実際に何を意味するのかは私にはわかりません。C++の教科書をいくつか見てきましたが、このフレーズについてはまったく触れていません。
C++ 標準でも、このフレーズは使用されていません。代わりに、ネストされた型名(§9.9) と呼びます。
入手方法は以下の4通りあります。
class C
{
public:
typedef int int_type; // as a nested typedef-name
using float_type = float; // C++11: typedef-name declared using 'using'
class inner_type { /*...*/ }; // as a nested class or struct
enum enum_type { one, two, three }; // nested enum (or 'enum class' in C++11)
};
ネストされた型名はクラス スコープで定義され、そのスコープ外からそれらを参照するには、名前修飾が必要です。
int_type a1; // error, 'int_type' not known
C::int_type a2; // OK
C::enum_type a3 = C::one; // OK
メンバータイプは、(そのクラスの)メンバーであるタイプを単に表します。それはtypedef
あなたが言うように(vector
それがそうである可能性が高い場合T*
)またはネストされているclass
(またはstruct
)可能性があります。
メンバー型は、「ネストされたクラス」または「ネストされた構造」を参照する場合があります。別のクラス内のクラスを意味します。テキストブックを参照したい場合は、「ネストされたクラス」を検索してください。