0

.h ファイル

public:
Class(int x, int y); //constructor for this question

private:
char (*1dArrayObjectPtr)[size] = nullptr;
char nameof2dArray[notImportantX][size];

初期化してから割り当てることの違いは何ですかClass (*1dArrayObjectPtr)[size] = nullptr;:

cpp ファイル

Class::Class(int x, int y) : x(x), y(y) {1dArrayObjectPtr = nameOf2dArray;};

また:

Class::Class(int x, int y) : x(x), y(y), 1DArrayObjectPtr(nameof2dArray) {};

次のようにアクセスすると、上のオプションではセグメンテーション違反が発生し、下のオプションでは発生しないのはなぜですか。

*(*(1DArrayObjectPtr+i)+j) また 1DArrayObject[i][j]

新しいクラスに渡す1DArrayObjectPtrと、同じことを繰り返すことができますか?:

newClass::newClass(char* 1DArrayObjectPtr) : newClassPtr(1DArrayObjectPtr) {};

*(*(newClassPtr+i)+j) または として繰り返すnewClassPtr[i][j]

それとも、1dpointer を 2D 配列から別のものに変更していて、気付いていませんか?

4

1 に答える 1