Quick question
Adam D. Ruppe
destructionator at gmail.com
Mon Feb 1 16:26:25 UTC 2021
On Monday, 1 February 2021 at 16:19:13 UTC, Ruby The Roobster
wrote:
> Thanks. However for a char[], .sizeof = .length because a char
> is one byte.
Nope, char[].sizeof is a platform-specific constant not related
to the length at all.
void main() {
import std.stdio;
char[] a = "test".dup;
writeln(a.sizeof); // 8 on 32 bit, 16 on 64 bit
independent of content
writeln(a.length); // 4 because of the content "test"
}
With a static array sizeof and length would happen to match but a
dynamic array is different. sizeof is the size of the length and
pointer, not the content.
More information about the Digitalmars-d-learn
mailing list