digitalmars.D - difference between void[] char[] and byte[]
- nix (38/38) Mar 16 2005 Hello,
- =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= (9/22) Mar 16 2005 void[] has a (void*) .ptr and holds "anything",
Hello,
i try to understand the difference between
void[],char[] and byte[]
is there any documentation about that?
Ok, i think void[] has no typ.
The read function in std.file use void[]
import std.stdio;
int main(){
void[] buf = "house";
char[] str = "windo";
byte[] byt = cast(byte[])"floor";
writefln("buf = %s",cast(char[])buf);
writefln("void Länge = %d",buf.length);
writefln("void size = %d\n",buf.sizeof);
//writefln("Typ von %s",typeid(typeof(buf))); // this didn't work for
void[]
writefln("str = %s",cast(char[])str);
writefln("str Länge = %d",str.length);
writefln("str size = %d",str.sizeof);
writefln("Typ von %s\n",typeid(typeof(str)));
writefln("byt = %s",cast(char[])byt);
writefln("byt Länge = %d",byt.length);
writefln("byt size = %d",byt.sizeof);
writefln("Typ von %s",typeid(typeof(byt)));
return 0;
}
Output:
buf = house
void Länge = 5
void size = 8
str = windo
str Länge = 5
str size = 8
Typ von char[]
byt = floor
byt Länge = 5
byt size = 8
Typ von TypeInfo_Ag ???
Mar 16 2005
nix wrote:i try to understand the difference between void[],char[] and byte[] is there any documentation about that?void[] has a (void*) .ptr and holds "anything", char[] has a (char*) .ptr and holds UTF-8 code units, byte[] has a (byte*) .ptr and holds signed bytes... They all three have their .length given in bytes.writefln("buf = %s",cast(char[])buf); writefln("void Länge = %d",buf.length); writefln("void size = %d\n",buf.sizeof); //writefln("Typ von %s",typeid(typeof(buf))); // this didn't work for void[]This a bug in Phobos, std/typeinfo/ti_Av.d is missing. :-(writefln("byt = %s",cast(char[])byt); writefln("byt Länge = %d",byt.length); writefln("byt size = %d",byt.sizeof); writefln("Typ von %s",typeid(typeof(byt)));[...]Typ von TypeInfo_Ag ???This is *another* Phobos bug, ti_Ag.d has no toString()... --anders
Mar 16 2005








=?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se>