Initialisierung zur Compilezeit
-
Wie kann ich es schaffen, dass folgendes bereits zur Compilezeit initialisiert wird?
unsigned char S[256]; for(int i=0; i<256; ++i) { S[i] = i; }
Wäre schon praktisch, wenn man das bereits weg haben könnte. Wäre zwar nicht so schlimm, wenn nicht, da es nur einmal im Konstruktor passieren würde, aber ich finde, es sieht so unschön aus
-
Du meinst so?
unsigned char S[256] = {0,1,2,3,4,..., 255};
-
Ja, das meine ich, aber ich hab keine Lust, dass zu tippen :p
Bei 256 Zahlen vertippt man sich dann ja doch mal.
-
viande schrieb:
Ja, das meine ich, aber ich hab keine Lust, dass zu tippen :p
Bei 256 Zahlen vertippt man sich dann ja doch mal.#include <iostream> using std::cout; int main() { cout << "unsigned char[256] = {1"; for(int i=0; i<256; ++i) { cout << ", " << i; } cout << "};"; }
Wobei die Scriptsprache deiner Wahl wohl die etwas geschicktere Variante wäre
-
man kann ja #include und ein kleines perl, python, php, sonstwas script verwenden
-
Shade Of Mine schrieb:
man kann ja #include und ein kleines perl, python, php, sonstwas script verwenden
wie?
-
hehejo schrieb:
Shade Of Mine schrieb:
man kann ja #include und ein kleines perl, python, php, sonstwas script verwenden
wie?
char const array={ #include "werte" }
und ein target erstellen, dass ein script ausfuehrt und die datei "werte" fuellt.
-
Ah!
Ok, danke! Ich dachte man kann direkt anderen Code einfügen bzw. benutzen.
-
loel, da ja nun die Antworten ins ironische abrutschen, werde ich wohl bei der for-Schleife bleiben :p
-
viande schrieb:
loel, da ja nun die Antworten ins ironische abrutschen, werde ich wohl bei der for-Schleife bleiben :p
Mein vorschlag ist ernst gemeint.
bei soetwas primitiven wie alle zahlen von 0 bis 200 ist es unwichtig, aber wenn du zB die ersten 500 primzahlen oder so brauchst, ist mein ansatz durchaus sinnvoll.
du packst das script einfach ins makefile, so dass du dich nie wieder darum kuemmern musst...