当我遇到数据运算符时,我只是在阅读有关向量的内容。在下面的示例中,正在使用数据运算符。
#include <iostream>
#include <vector>
int main ()
{
std::vector<int> myvector (5);
int* p = myvector.data();
*p = 10;
++p;
*p = 20;
p[2] = 100;
std::cout << "myvector contains:";
for (unsigned i=0; i<myvector.size(); ++i)
std::cout << ' ' << myvector[i];
std::cout << '\n';
return 0;
}
输出:
myvector contains: 10 20 0 100 0
我的问题是为什么0到100和100的位置向后移动一个位置。 为:
p
相当于myvector[0]
,其值为10
。++p;
现在p
指向myvector[1]
给定值20
20
之后,100
应该会出现0
。答案 0 :(得分:7)
因为你做了
时你已经变异了p
++p
所以这个操作
p[2]
已经被1个索引偏移,所以就像你做的那样
p[2 + 1]
来自p
答案 1 :(得分:-1)
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^ https://example.com%{REQUEST_URI} [NE,R=301,L]