import core.stdc.stdio;
import std.stdio;
import std.array;
import core.stdc.stdlib;
void main() @trusted
{
string word = "hello";
int sizeOfString = word.length;
string* words = cast(string*)malloc(char.sizeof*sizeOfString);
string[] letters = "hello".split("");
for(auto i = 0; i < letters.length;i++) {
words[i] = letters[i];
}
writeln(*(words[4]).ptr);
free(words);
}
@nogc 属性 标记您的函数一样简单。因此,在您的代码中,您应该使用@nogc,而不是@trusted。
当 D 编译器遇到标记为 @nogc 的函数时,它将确保在该函数的上下文中不会完成任何内存分配。 @nogc 函数只允许调用其他 @nogc 函数。