相关疑难解决方法(0)

在C++ 11中,std :: string总是以null结尾吗?

在他的网站2008年的一篇文章中,Herb Sutter声明如下:

由于与并发相关的原因,有一个积极的建议是在C++ 0x中进一步加强这一点并且需要空终止并且可能禁止写时复制实现.以下是该文件:http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2534.html.我认为本文中的一个或两个提案很可能会被采纳,但我们将在下一个或两个会议上看到.

我知道C++ 11现在保证std :: string内容连续存储,但他们是否在最终草案中采用了上述内容?

现在使用类似的东西会安全&str[0]吗?

c++ string null-terminated language-lawyer c++11

44
推荐指数
1
解决办法
7517
查看次数

ptr [i]和*(ptr + i)之间有什么区别?

当使用指向数组的指针时,我总是使用索引器访问元素,例如myPtr[i] = stuff; 然而,我最近在查看BitConverter实现,并发现通过实现访问元素*(myPtr + i) = stuff.

我认为这很奇怪,因为两种方法(从我所知道的)做同样的事情,也就是说,它们返回地址myPtr + i,除了(在我看来)索引器方法看起来更具可读性.

那么为什么微软选择以他们的方式增加指针,这两种方法之间有什么区别(是否有性能优势)?

.net c# arrays pointers

6
推荐指数
1
解决办法
2285
查看次数

标签 统计

.net ×1

arrays ×1

c# ×1

c++ ×1

c++11 ×1

language-lawyer ×1

null-terminated ×1

pointers ×1

string ×1