-1

重複の可能性:
演算子のオーバーロード

C ++のオブジェクトに「+、-、*、/」のような記号を定義することは可能ですか?ドキュメントが見つかりません。これを行うと便利でエキサイティングです。

4

1 に答える 1

0

プログラミングをするときに学ばなければならないことの 1 つは、微妙な違いが重要だということです。多くの場合、それらは非常に重要です。専門用語とその正確な意味に慣れる必要があります。

あなたはそれらを「シンボル」と呼びました。C++ では、シンボルはいくつかの可能なものの 1 つです。

  • プログラムの一部を接続するためにリンカーが使用するものを参照しています。関数とグローバル変数の名前は「シンボル」になります。
  • または、通常「シンボル」と呼ばれる個々の文字のクラスを参照しています。これは非常にあいまいなセットですが、通常、米国英語キーボードで Shift キーを押しながらすべての数字を入力すると得られるほとんどのものが含まれています。しかし、シンボルとして、これらは C++ にとっては意味がありません。

あなたの質問の文脈から、「シンボル」という言葉を参照するときに、これら2つのことのいずれも意味しないことは明らかです. 上記の 2 番目のケースを参照していると思われます。しかし、表面的にはそう見えるかもしれませんが、そうではありません。あなたが言及しているものは「オペレーター」と呼ばれます。演算子は、値を操作しようとしていることをコンパイラに伝えるものです。それらは式の一部として発生します。C++ には、ほとんどの言語と比較して非常に多くの数があります。

シンボルは、コンパイラによって演算子として解釈されます。しかし、記号は演算子ではなく、演算子は記号ではありません。たとえば&&、オペレーターです。しかし、それは 2 つの&シンボルでもあります。別の例として、はシンボルですが、標準 C++ に@は演算子はありません。@

「演算子のオーバーロード」で検索すると、お探しの情報が得られます。

于 2012-12-16T23:14:15.293 に答える