C++: pastikan variabel yang dipakai sudah terinisialisasi

Singkatnya, selalu pastikan bahwa variabel yang kamu pakai sudah diberi nilai tertentu sebelum kamu gunakan untuk operasi lain; utamanya di bahasa pemrograman C++ yang relatif lebih tidak disiplin dibanding C.

 

Contoh baik:

double *x_min, *x_max, *y_min, *y_max;
x_min = (double *) malloc(sizeof(double)*MARKER_COUNT);
y_min = (double *) malloc(sizeof(double)*MARKER_COUNT);
x_max = (double *) malloc(sizeof(double)*MARKER_COUNT);
y_max = (double *) malloc(sizeof(double)*MARKER_COUNT);

double moment_x_temp, moment_y_temp, mass_temp;

image_height = image.rows;
image_width = image.cols;

for (int i=0; i<MARKER_COUNT; i++){
y_min[i]= image_height;
x_min[i]= image_width;

}

 
Contoh kurang baik:

double *x_min, *x_max, *y_min, *y_max;
x_min = (double *) malloc(sizeof(double)*MARKER_COUNT);
y_min = (double *) malloc(sizeof(double)*MARKER_COUNT);
x_max = (double *) malloc(sizeof(double)*MARKER_COUNT);
y_max = (double *) malloc(sizeof(double)*MARKER_COUNT);

double moment_x_temp, moment_y_temp, mass_temp;

for (int i=0; i<MARKER_COUNT; i++){
y_min[i]= image_height;
x_min[i]= image_width;
}

image_height = image.rows;
image_width = image.cols;

Kekurangbaikannya ini yang susah diprediksi, isi aray y_min dan x_min bakal diambil dari bagian statis kode program yang entah isinya apa. Dijamin proses yang bersangkutan dengan variabel tersebut bakal memiliki keanehan-keanehan macam “nilai ini dapat dari mana, sih?”.