の違いを知りたかっただけです。演算子と::演算子?
12212 次
3 に答える
24
前者 (ドット、.
) はオブジェクトのメンバーにアクセスするために使用され、後者 (二重コロン、::
) は名前空間またはクラスのメンバーにアクセスするために使用されます。
次の設定を検討してください。
namespace ns {
struct type
{
int var;
};
}
この場合、名前空間のメンバーである構造体を参照するには、 を使用します::
。タイプ のオブジェクトの変数にアクセスするにはtype
、 を使用します.
。
ns::type obj;
obj.var = 1;
于 2010-05-24T10:42:31.963 に答える
3
4 ドット '::' のもう 1 つの考え方はscope resolution operator.
、スコープ内に同じ名前のオブジェクトが複数ある場合です。どちらを使用するかを明示的に宣言します。
std::min(item, item2);
また
mycustom::min(item, item2);
ドット演算子「.」オブジェクトインスタンスのメソッドと属性を呼び出すことです
Myobject myobject;
myobject.doWork();
myobject.count = 0;
// etc
質問されませんでしたが、オブジェクト インスタンスが で動的に作成される場合に使用する別の演算子がありますnew
。矢印演算子 '->' です。
Myobject myobject2 = new Myobject();
myobject2->doWork();
myobject2->count = 1;
于 2016-04-02T22:59:20.087 に答える
1
オブジェクト インスタンスへのポインターを使用している場合は、「ドット」の代わりに -> を使用してオブジェクトのメンバーにアクセスする必要があります。
于 2010-05-24T11:11:42.190 に答える