【问题标题】:empty string in D programing languageD编程语言中的空字符串
【发布时间】:2012-04-14 16:37:54
【问题描述】:

什么是D编程语言中的空字符串?

字符串是字符数组(http://dlang.org/arrays.html#strings
大概:alias immutable(char)[] string

基于那个空字符串应该是一个空数组。但是,空数组是什么东西呢?

有什么想法吗?

【问题讨论】:

    标签: arrays string d


    【解决方案1】:

    任何(非静态)数组本质上是一个结构体,带有指向包含数组的内存块的开头和长度的指针

    一个空数组只有长度==0

    【讨论】:

      【解决方案2】:

      一个空的string 一个空数组。这是一个immutable(char)[] 类型的空数组。空数组是长度为 0 的数组。我不明白这有什么难理解的。

      无论如何,如果你想更好地理解 D 中的数组,那么你应该阅读this article。这是每个 D 程序员都应该阅读的内容之一,并且应该让您更好地理解 D 中的数组。

      【讨论】:

      • “我不明白这有什么难理解的。”在“棘轮怪胎”的回答之后,它真的很容易理解。 (array=struct{pointer;length}) 起初我认为(错误地)array 只是指向已分配内存块的指针,所以大小为 2 的空 array 将是指向大小为 2 和大小为 0 的内存块的指针数组将是指向大小为 0 的内存块的指针。但是内存块这是一种废话(认为可能 NULL 指针或指向某些 特殊 内存地址的指针据说是空的..)谢谢链接
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-15
      • 1970-01-01
      • 2014-11-07
      • 1970-01-01
      相关资源
      最近更新 更多