3.34
p1 += p2 - p1;
p1 =p1+( p2 - p1)令p1和p2指向同一个地址。
.
3.35
int main()
{
int arr[10];
int *p = arr;
for (int i = 0; i < 10; ++i,++p) {
*p = 0;
}
return 0;
}
3.36
#include <iostream>
#include <vector>
#include <iterator>
using namespace std;
bool compare(int* const pb1, int* const pe1, int* const pb2, int* const pe2)
{
if ((pe1 - pb1) != (pe2 - pb2))
return false;
else
{
for (int* i = pb1, *j = pb2; (i != pe1) && (j != pe2); ++i, ++j)
if (*i != *j) return false;
}
return true;
}
int main()
{
int arr1[3] = { 0, 1, 2 };
int arr2[3] = { 0, 1, 2 };
if (compare(begin(arr1), end(arr1), begin(arr2), end(arr2)))
cout << "相等" << endl;
else
cout << "不相等." << endl;
vector<int> vec1 = { 0, 1, 2 };
vector<int> vec2 = { 0, 1, 2 };
if (vec1 == vec2)
cout << "相等" << endl;
else
cout << "不相等" << endl;
return 0;
}