define für Umbennenung verwenden?
-
Hi, eine Funktion wurder leicht verändert, dadurch sind die Initialwerte ein wenig anders.
vorher:
class Klasse{ //buffer int * data1; int * data2; int * data3; int * data4; void function(){ fun(data1, data2); fun2(data2, data3); fun3(data4, data1); .... } }
jetzt:
class Klasse{ //buffer int ** data1p; int ** data2p; int ** data3p; int ** data4p; void function(){ int off = off_fun() int * data1 = data1p[off]; int * data2 = data2p[off]; int * data3 = data3p[off]; int * data4 = data4p[off]; fun(data1, data2); fun2(data2, data3); fun3(data4, data1); .... } }
Da wird doch dann immer eine neue Variable erstellt. Sollte man daher lieber:
class Klasse{ //buffer int ** data1p; int ** data2p; int ** data3p; int ** data4p; void function(){ int off = off_fun() #define data1 = data1p[off]; #define data2 = data2p[off]; #define data3 = data3p[off]; #define data4 = data4p[off]; fun(data1, data2); fun2(data2, data3); fun3(data4, data1); .... } }
Oder etwas anders tun? Alles unbennen fördert nicht der Übersicht und macht es schwerer, wenn man es wieder ändern will.
-
Hi,
die Variablen kann der Optimierer entfernen. Kannst ja auch eventuel den Optimierer dabei helfen:
int * const data1 = data1p[off];
Die define Idee ist jedenfalls Mist.
VG
-
Hi, danke für die Antwort.
Ich hatte ausversehen das falsche compiliert. War verwundert das define da überhaupt geht.