【问题标题】:What does transparent mean in“null-terminated transparent array of elements”“以null结尾的透明元素数组”中的透明是什么意思
【发布时间】:2016-04-02 07:02:36
【问题描述】:

快照是basic_string 类源代码的一部分。以下评论中的透明是什么意思。在我看来,透明这个词是多余的,可以去掉。我说的对吗?

我电脑上的系统是 Visual Studio 2010 RTMRel。

【问题讨论】:

    标签: c++ string data-structures stdstring


    【解决方案1】:

    我相信这里所说的“透明”是指std::basic_string类型的接口管理着一个可供客户端直接访问的数组。字符串逻辑上是一个元素数组,这意味着它的功能就好像它是一个字符数组,特别是std::basic_string类型将字符存储在一个实际的 字符数组。例如,客户端可以对字符串中各个字符的地址进行指针运算,并保证正常工作。

    将其与std::deque 进行对比,std::deque 在逻辑上是 一个数组,但实际上可能实际上 不会被实现为一个数组。想要使用std::deque 的客户无法安全地获取std::deque 元素的原始地址,并以可以保证正确运行的方式对它们进行指针运算。

    【讨论】:

      猜你喜欢
      • 2012-02-27
      • 1970-01-01
      • 2022-01-02
      • 2013-05-06
      • 2010-11-02
      • 2013-06-27
      • 1970-01-01
      • 1970-01-01
      • 2011-12-15
      相关资源
      最近更新 更多