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

C ++の新しい配置の使用は何ですか?


簡単に言うと、配置newを使用すると、特定の変数にすでに割り当てられているオブジェクトをメモリ上に「構築」できます。これは、すでに割り当てられているのと同じメモリを再割り当ておよび再利用しない方が高速であるため、最適化に役立ちます。次のように使用できます-

new (address) (type) initializer
指定されたタイプの新しいオブジェクトを作成するアドレスを指定できます。

#include<iostream>
using namespace std;
int main() {
   int a = 5;
   cout << "a = " << a << endl;
   cout << "&a = " << &a << endl;

   // Placement new changes the value of X to 100
   int *m = new (&a) int(10);

   cout << "\nAfter using placement new:" << endl;
   cout << "a = " << a << endl;
   cout << "m = " << m << endl;
   cout << "&a = " << &a << endl;

   return 0;
}
出力 これにより出力が得られます-

a = 5
&a = 0x60ff18

新しい配置を使用した後-

a = 10
m = 0x60ff18
&a = 0x60ff18

  1. C ++のconstキーワードとは何ですか?

    const修飾子を使用して、変数を定数として宣言します。つまり、変数が初期化されると、値を変更することはできません。 constを使用すると、非常に大きなメリットがあります。たとえば、PIの値のような定数値がある場合、プログラムのどの部分もその値を変更したくないでしょう。したがって、それを定数として宣言する必要があります。 const修飾型で宣言されたオブジェクトは、コンパイラによって読み取り専用メモリに配置される場合があります。また、constオブジェクトのアドレスがプログラムに取り込まれない場合は、まったく格納されない場合があります。たとえば、 #include<iostream&

  2. C#での「new」キーワードの使用は何ですか?

    newキーワードを使用して、配列のインスタンスを作成します- int [] a = new int[5]; new演算子は、オブジェクトを作成したり、オブジェクトをインスタンス化したりするために使用されます。この例では、新しい-を使用してクラスのオブジェクトが作成されています。 例 using System; namespace CalculatorApplication {    class NumberManipulator {       public void swap(int x, int y) {     &