#include <iostream>
#include <vector>
#include <string>
#include <cctype>
#include <algorithm>
bool is_equal(int a1[], int a2[]);
using namespace std;
int main()
{
int num[3] = {};
int num_2[3] = {};
vector<int> vec_1 = { 1, 2, 3 };
vector<int> vec_2 = { 1, 1, 3 };
int *p1 = num, *p2 = num;
p1 += p2 - p1;
cout << *p1; // p1 is 1.nothing has happen...
int *m_beg = num;
int *m_end = m_beg + 3;
for (m_beg; m_beg < m_end; m_beg++) // use while failed
{
cout << *m_beg;
*m_beg = 0; // don't miss *
}
printf("");
if (is_equal(num,num_2))
{
printf("equal.");
}
else
{
printf("not equal.");
}
if (vec_1 == vec_2) // vector can use ==,array not support
{
printf("equal.");
}
else
{
printf("not equal.");
}
getchar();
return 0;
}
bool is_equal(int a1[], int a2[])
{
int size_1 = sizeof(a1);
int size_2 = sizeof(a2);
if (size_1 != size_2)
{
return false;
}
int *p1 = a1, *p2 = a2;
int *en_1 = p1 + size_1;
int *en_2 = p1 + size_2;
for (p1; p1 < en_1; p1++, p2++)
{
if (*p1 != *p2)
{
return false;
}
}
return true;
}
C++Primer3.5.3练习题。
最新推荐文章于 2020-12-28 15:50:12 发布