Eigene Resourcedatei ist nur ein paar Bytes groß
-
Och, wir nehmen die Noobs halt gerne mal 'n bisschen hart ran. Aber wirklich nur 'n bisschen!
Hast du denn die letzten beiden Posts verstanden? Dann müsstest du jetzt schon weiterkommen.
-
Das ist mir alles ehrlich gesagt zuviel aufwand. Ich verwende jetzt einfach das Resourcing von QT.
-
[quote="Bennisen"]
std::string targetTex = (std::string)argv[2] + "textures.res";
Das halte ich auch für sehr gewagt
-
[quote="DocShoe"]
Bennisen schrieb:
std::string targetTex = (std::string)argv[2] + "textures.res";
Das halte ich auch für sehr gewagt
Warum?
-
Weil
argv[2]
einconst char*
ist und keinstd::string
. Der C-style cast führt keine Konvertierung aus und verhält sich wie einreinterpret_cast
. Oder etwa nicht?Ächz, diese ganzen Sonderfälle machen mich fertig o.O
Bei einer gültigen Konvertierung verhält sich der C-cast wie ein
static_cast
, ansonsten eher wie einreinterpret_cast
?
-
DocShoe schrieb:
Weil
argv[2]
einconst char*
ist und keinstd::string
. Der C-style cast führt keine Konvertierung aus und verhält sich wie einreinterpret_cast
. Oder etwa nicht?Ächz, diese ganzen Sonderfälle machen mich fertig o.O
Bei einer gültigen Konvertierung verhält sich der C-cast wie ein
static_cast
, ansonsten eher wie einreinterpret_cast
?Nein, es wäre wie:
std::string targetTex = std::string(argv[2]) + "textures.res";
-
manni66 schrieb:
DocShoe schrieb:
Weil
argv[2]
einconst char*
ist und keinstd::string
. Der C-style cast führt keine Konvertierung aus und verhält sich wie einreinterpret_cast
. Oder etwa nicht?Ächz, diese ganzen Sonderfälle machen mich fertig o.O
Bei einer gültigen Konvertierung verhält sich der C-cast wie ein
static_cast
, ansonsten eher wie einreinterpret_cast
?Nein, es wäre wie:
std::string targetTex = std::string(argv[2]) + "textures.res";
Sicher? Denn das 2. ist was ganz was anderes als das erste.
Ich glaub kaum dass bei einem (std::string)argv[2] ein std::string constructor aufgerufen wird
-
firefly schrieb:
manni66 schrieb:
Bei einer gültigen Konvertierung verhält sich der C-cast wie ein
static_cast
, ansonsten eher wie einreinterpret_cast
?
Nein, es wäre wie:std::string targetTex = std::string(argv[2]) + "textures.res";
Sicher? Denn das 2. ist was ganz was anderes als das erste.
Ich glaub kaum dass bei einem (std::string)argv[2] ein std::string constructor aufgerufen wirdDoch, das ist so. Hat mich auch schwer verwundert.
-
Ich glaub kaum dass bei einem (std::string)argv[2] ein std::string constructor aufgerufen wird
Seit wann ist Programmieren eine Glaubensfrage?
-
Doch, es wird ein temporäres Objekt erstellt (bzw nicht, wegen RVO)
struct Test { int anderes[5]; int s; Test(int i) : s(i) { std::cout << i; } }; Test t = (Test)5; t = (Test)6; t = Test(7);
Ausgabe:
567
-
wob schrieb:
Ich glaub kaum dass bei einem (std::string)argv[2] ein std::string constructor aufgerufen wird
Seit wann ist Programmieren eine Glaubensfrage?
Komm schon, wob. Solche Kommentare hast du doch nicht nötig