字句定数、字句演算子、字句スコープなどがあります。「字句」という用語は、文字列リテラル、任意の演算子、または一部の識別子のスコープの意味をどのように変更しますか?C++で「語彙」とは何を意味しますか?
8
A
答えて
0
「字句定数」という用語を使用することは、異なる種類の定数を意味するものではありません。
一般的に、C++文法について語るときは、字句これという字句を使用します。オブジェクトに定数が格納されているのとは対照的に、ファイルのスコープやマトリックス上の演算子です。
だから私は定数等を有しているコードの行、について話している場合:(32786)
私は数だけC++トークンとして存在することを意味を確認するために(多分不必要)字句の単語を使用することができます。
私がC++ tokensとその関係について話しているとき、私はwikipedia doesのような語彙を使用しています。
7
"字句"は、ソースコードに関連していることを意味します。
たとえば、1
は字句定数です。 OTOH、sizeof(char)
もコンパイル時の整数定数式ですが、字句定数ではありません。語彙的には、それはsizeof
演算子の呼び出しです。
レキシカル演算子はソースコード上で動作します。プリプロセッサ演算子はこのカテゴリに分類されます。
ほとんどの場合、自分のプログラムのどこにでも1
またはsizeof(char)
を使用しても差はありません。
#define STR(x) #x
std::string one = STR(1);
std::string also_one = STR(sizeof(char));
最後に、レキシカルスコープは、プログラムソースの一部を意味します。実際のコードではなく、評価の結果にこれらの作業はので、しかし、字句演算子#
または##
の引数としては、かなりの違いが識別子が存在するコードが存在する(認識され、使用可能)。これは、オブジェクトの存続期間(オブジェクトの存続期間ともいう)とは対照的です。これは、オブジェクトが存在する(その値を保持し、ポインタ名または参照を介して間接的に操作される可能性がある、名前がレキシカルスコープではないにもかかわらず) 。
string f(string x) { return "2" + x; } // main's "y" is not in lexical scope, however it is in dynamic scope, and will not be destroyed yet
int main(void)
{
string y = "5.2"; // y enters lexical scope and dynamic scope
string z = f("y"); // y leaves lexical scope as f is called, and comes back into lexical scope when f returns
return z.size();
// z leaves lexical and dynamic scope, destructor is called
}
関連する問題
- 1. レガシーデータベースという用語は何を意味しますか?
- 2. 「データベースシーディング」という用語は何を意味しますか?
- 3. 「BODMAS」という用語は何を意味しますか?
- 4. 「メタデータ」という用語は何を意味しますか?
- 5. C/C++プログラミングで%0x%xは何を意味しますか?
- 6. Spring MVCでformBackingObjectとModelAttributeという用語は何を意味しますか?
- 7. C++のパラメータ型と&&は何を意味しますか?
- 8. "不透明タイプ"という用語は、 "CFBundleRef opaque type"の意味で何を意味しますか?
- 9. Objective-Cでは "return"ステートメントは何を意味しますか?
- 10. C++では "void *(*)(void *)"は何を意味しますか?
- 11. Objective-Cでは "and"キーワードは何を意味しますか?
- 12. C++では "= 0"は何を意味しますか?
- 13. gitの文脈でTREESAMEという単語は何を意味しますか?
- 14. .cと.hのファイル拡張子はCとは何を意味しますか?
- 15. 「テキスト検索クエリに語彙が含まれていない」とはどういう意味ですか?
- 16. CソケットプログラミングでSOMAXCONNは何を意味しますか?
- 17. "name :: name"はC++で何を意味しますか?
- 18. "()=>"はC#で何を意味していますか?
- 19. このステートメントはC#で何を意味していますか?
- 20. 'ccp'はCocos2d/Objective-Cで何を意味しますか?
- 21. "class:"はC++で何を意味しますか?
- 22. | =演算子はC++で何を意味しますか?
- 23. C#でこれは正確に何を意味しますか?
- 24. このシンボルはC++で何を意味しますか? "〜"
- 25. %はC#で何を意味しますか?
- 26. これはc int a:16;で何を意味しますか?
- 27. 「Calli」という用語の意味的推論または意味は何ですか?
- 28. C言語の*の意味
- 29. getActivity()は何を意味しますか?
- 30. (+ var)は何を意味しますか