相关疑难解决方法(0)

对于数组,为什么a [5] == 5 [a]?

正如Joel在Stack Overflow播客#34中用C编程语言(又名:K&R)所指出的那样,在C中提到了数组的这种属性:a[5] == 5[a]

乔尔说,这是因为指针运算,但我仍然不明白.为什么a[5] == 5[a]

c arrays pointers pointer-arithmetic

1567
推荐指数
16
解决办法
9万
查看次数

C++ 03和C++ 11之间c_str函数规范的区别

在C++ 参考c_str()std::string出现以下:

返回值
指向基础字符存储的指针.
data()[i] == operator[](i) for every i in [0, size())(直到C++ 11)
data() + i == &operator[](i) for every i in [0, size()] (自C++ 11起)

我不明白两者之间的区别,除了自C++ 11以来一个元素的范围增加.

前一种说法data()[i] == operator[](i)对后者来说也不正确吗?

c++ string c-str c++11 c++03

26
推荐指数
2
解决办法
1605
查看次数

标签 统计

arrays ×1

c ×1

c++ ×1

c++03 ×1

c++11 ×1

c-str ×1

pointer-arithmetic ×1

pointers ×1

string ×1