Nein, das ist nicht legal.
Eine explizite Typumwandlung im Funktionsstil erfordert einen einfachen Typ-Bezeichner , gefolgt von einer eingeklammerten Ausdruck-Liste . (§5.2.3) Offensichtlich wäre es legal, wenn Und dann: Natürlich erhalten Sie eine Zwei-für-Eins mit unsigned char
ist nicht ein einfacher Typ-Spezifizierer ; Dies steht im Zusammenhang mit einer Frage, die von James . unsigned char
ein einfacher Typ-Spezifizierer wäre. Ein Workaround ist die Verwendung von std::identity
: std::identity<unsigned char>::type
ist ein einfacher Typ-Specifier und sein Typ ist einfach der Typ des Template-Parameters. static_cast
. Dies ist die bevorzugte Casting-Methode.
Nein, ist es nicht - eine Funktion-Stil-Besetzung kann keinen Platz in seinem Namen haben.
Ein Fall für einen C-Style-Cast vielleicht:
%Vor%Ich bin mir ziemlich sicher, dass es eine Microsoft-Erweiterung ist.
Warum versuchst du sogar, von einem char zu einem unsignierten char zu gehen und das einem int zuzuweisen? Sie setzen einen vorzeichenlosen Wert in einen signed int (was legal, aber uncool ist).
Schreiben von '0' gibt Ihnen ein Zeichen mit Wert 48. Sie können
versuchen %Vor%Auf diese Weise nimmst du das Zeichen, wirfst es auf einen int und verwendest es. Du könntest sogar sagen
%Vor%Und das würde das Gleiche tun. Was genau versuchst du zu tun?
Versuchen Sie, die ganze Zahl 0 oder das Zeichen '0' hinein zu bekommen? Das Zeichen '0' bei den meisten Implementierungen ist nämlich nur die Ganzzahl 48, aber in 8 Bits.
Der einzige Unterschied zwischen einem char und einem int besteht darin, dass char kleiner oder gleich short int sein muss. und int muss dementsprechend größer oder gleich sein als short int, dies macht normalerweise char 8 Bits, kurz in 16, und in 32 heutzutage.
Stuf wie 'a'+2
bekommt 'c'
funktioniert nämlich. Wenn Sie ein Array haben, das lang genug ist, können Sie es auch wie array[' ']
indizieren, um Index 32 zu erhalten.
Wenn Sie versuchen, es auf den Ganzzahlwert 0 zu setzen, würde dies eine tatsächliche Funktion erfordern, die das bestimmt.
Tags und Links c++