C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++で*ptr++、* ++ ptr、および++*ptrを比較します


このセクションでは、C++の*ptr ++、* ++ ptr、および++*ptrの違いを確認します。

ここでは、CまたはC++でのpostfix++とprefix++の優先順位を確認します。接頭辞++または--の優先順位は、間接参照演算子「*」よりも優先され、接尾辞++または-は、接頭辞++および間接参照演算子「*」の両方よりも優先されます。

ptrがポインタの場合、* ptr ++は*(ptr ++)を示し、++ * prtは++(* ptr)を参照します

サンプルコード

#include<iostream>
using namespace std;

int main() {
   char arr[] = "Hello World";
   char *ptr = arr;
   ++*ptr;
   cout << *ptr;
   return 0;
}

出力

I

したがって、ここで最初にptrは「H」を指しています。 ++ * ptrを使用すると、Hが1増加し、値は「I」になります。

サンプルコード

#include<iostream>
using namespace std;

int main() {
   char arr[] = "Hello World";
   char *ptr = arr;
   *ptr++;
   cout << *ptr;
   return 0;
}

出力

e

したがって、ここで最初にptrは「H」を指しています。 * ptr ++を使用するとポインタが増えるため、ptrは次の要素を指します。したがって、結果は「e」になります。

サンプルコード

#include<iostream>
using namespace std;

int main() {
   char arr[] = "Hello World";
   char *ptr = arr;
   *++ptr;
   cout << *ptr;
   return 0;
}

出力

e

この例でも、++を使用してptrを増やしています。ここでは、pre-increment ++の優先順位が高く、最初にポインターを増やし、次に*を使用して値を取得します。つまり、「e」を印刷しています。


  1. C++を使用してサッカーの五角形と六角形の数を見つける

    ご存知のように、五角形と六角形はサッカーの重要な部分です。これらの形状は、完全な球形を形成するためのパズルのように組み合わされます。ですから、ここにサッカーがあり、六角形と五角形を見つける必要があります。 問題を簡単に解決するためにオイラー標数を使用します。オイラー標数は、位相空間の特定の形状または構造を記述するために機能する数値です。したがって、サッカーの五角形と六角形の数を計算するために使用できます。 オイラー標数- chi(S) −比表面積Sの整数 F −顔 G −グラフ V −頂点 E −エッジはSに埋め込まれています。 V - E + F

  2. C ++を使用してOpenCVで画像をロードして表示するにはどうすればよいですか?

    このトピックでは、C++でOpenCVを使用して画像を読み込んで表示する方法を決定します。 OpenCVで画像を読み込んで表示するには、次の機能が必要です。 マット: マットは機能ではありません。これはデータ構造であり、変数の一種です。 C ++のint、char、string変数タイプと同様に、MatはOpenCVの変数であり、その中に画像をロードするためのマトリックスデータ構造を作成します。このプログラムでは、「MatmyImage;」と書きました。 これは、myImageという名前の行列変数を宣言していることを意味します。 namedWindow(): メモリを割り当て、画像を