一、C++字符串反转
代码:
#include <iostream>
using namespace std;
void Reverse(char *s, int n) {
for (int i = 0, j = n - 1; i < j; i++, j--) {
char c = s[i];
s[i] = s[j];
s[j] = c;
}
}
int main()
{
char s[] = "hello";
Reverse(s, 5);
cout << s << endl;
system("pause");
return 0;
}
二、C++类模板template
1、有时,有两个或多个类,其功能是相同的,仅仅是数据类型不同。如果分别定义,会有很多重复性的工作。C++在发展的后期增加了模板(template)的功能,提供了解决这类问题的途径。可以声明一个通用的类模板,它可以有一个或多个虚拟的类型参数。
2、格式如下:
template <typename 类型参数>
class 类名{
类成员声明
};
3、举例代码:
代码:
#include <iostream>
using namespace std;
template<typename T> //模板声明,其中T为类型参数
class Compare {
public:
Compare(T i, T j)
{
x = i;
y = j;
}
T max()
{
return (x > y) ? x : y;
}
private:
T x, y;
};
int main()
{
Compare<int>com1(3, 7);
Compare<double>com2(12.34, 56.78);
Compare<char>com3('a', 'x');
cout << "其中的最大值是:" << com1.max() << endl;
cout << "其中的最大值是:" << com2.max() << endl;
cout << "其中的最大值是:" << com3.max() << endl;
system("pause");
return 0;
}
运行结果:
三、交换函数swap
四、C++中数组定义及初始化
(1)字符数组
字符串中每一个字符占用一个字节,再加上最后一位为转移字符‘\0’(空字符),该字符表示字符串已经结束。
例如:char array[10] = "cnblogs"
,虽然只有7个字节,但是字符串长度为8个字节。
也可以不用定义字符串长度,例如:char array[] = "cnblogs"
(2)定义并初始化一维静态数组array:int array[100] = {1,2};
定义并初始化二维静态数组array:int array[10][10] = { {1,1} , {2,2} };
五、C++输出换行符
cout<<endl"