.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 配列から別のものに変更していて、気付いていませんか?