::と->C++の意味
3135 ワード
,
class A
{
public:
int test();
}
int A::test()// test A
{
return 0;
}
,
--------------------
int a;
void test ()
{
int a = ::a;// a, a
}
::は演算子の中で最も等級が高く、3つに分けられます:1)global scope(グローバル役割ドメイン記号)、用法(::name)2)class scope(クラス役割ドメイン記号)、用法(class::name)3)namespace scope(ネーミングスペース役割ドメイン記号)、用法(namespace::name)彼らはすべて左関連(left-associativity)彼らの役割はすべてあなたの望む変数をより明確に呼び出すためです.プログラムのいずれかでグローバル変数aを呼び出したい場合は、class Aのメンバー変数aを呼び出したい場合は、A::aと書き、namespace stdのcoutメンバーを呼び出したい場合は、あなたはstd::cout(using namespace stdに相当する;cout)と書きます.ここでcoutオブジェクトはネーミングスペースstdのcout(つまり標準ライブラリの中のcout)だと思います.彼らはC++の基礎です.うまく運用すれば、プログラムのエラー率が大幅に下がるかもしれません.
c++中->どういう意味ですか、どう使いますか
次のコードがプログラムに複数回表示されます.
memory->destroy (BOP_index);
memory->create (BOP_index,nall,"BOP_index");
まだ
int *tag = atom->tag;
int timestep = update->ntimestep;
int newton_pair = force->newton_pair;
困ったことになる
->はポインタの指向演算子で、通常は構造体とともに使用されます.
使用方法については、以下の手順を参照してください.
#include
struct stu //
{
char name[10]; //
int num; //
int age; //
};
void main()
{
struct stu *s; //
char str[]="ZhangLi";
s->name = str; // name
s->num = 2015120; // num
s->age = 18; // age
}
初学MFC、1つの記号の疑惑
void CScribDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
ar <> m_sizeDoc;
m_graphList.Serialize(ar);
}
上の関数のように、“<>「あ、この2つの記号はc++に入出力用ではないのですが、ここではどういう意味でしょうか.迷っています.------ソリューション--------データストリームの書き込みと書き出しと見なすことができます.これはデータのシーケンス化でしか使用されません------ソリューション--------CArchiveクラスにoperator<------ソリューション--------はい、<>本来はC++の中の挿入オペレータと抽出オペレータです.挿入オペレータ<>は、標準入力ストリームからデータを抽出し、その後の変数に格納する役割を果たします.私の理解によると、入力とは、プログラムが実行されたときに、プログラムの外部からデータを取り込んでプログラム自身のものにすることです.出力とは、プログラムが実行されるときに、プログラム自体のデータを外部に送って外部で使用することです.次のC++コードでは、この2つのオペレータの使い方を説明します.
#include
void main()
{
int a;
cout<>a;
cout<
このコードについてお話しします.
void CScribDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring()) // ( )
ar <> m_sizeDoc; // 。 ar , ar m_sizeDoc
m_graphList.Serialize(ar); // m_graphList Serialize
}
---------------------------------------------------------------------------
参照:
void CScribDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
ar
<< m_sizeDoc;
else
ar
>> m_sizeDoc;
m_graphList.Serialize(ar);
}
上の関数のように、「<>」、この2つの記号はc++に入出力用ではありませんか.ここではどういう意味ですか.迷っています.
CArchiveはこの2つのオペレータを書き換えた.------解決策---------------とcin、coutは同じ意味です.------ソリューション---------------シリアル番号クラスには、この2つのオペレータが再ロードされています.ソリューション---------------ここでは、入出力の意味です.