d更好的C中动态数组和切片

原文
我认为在-betterC下,不可用动态数组.

extern(C) void main() {
   import core.stdc.stdio : printf;
   int[] A;
   printf("Hello betterC\n");
}
//dmd -betterC -run Example_02

期望编译失败,但运行成功.而

void main() {
   import core.stdc.stdio : printf;
   int[] A;
   printf("Hello betterC\n");
}
//dmd -betterC -run Example_03
//链接而非编译时失败

动态数组更好的C中不可用.切片是可用的.
切片是不需要运行时基础结构来操作指针+长度对.
在所有操作(如追加)发生的GC中,动态数组是有引用内部状态的切片.

posted @ 2023-01-08 22:56  zjh6  阅读(9)  评论(0)    收藏  举报  来源