一、思维导图
二、练习
练习一
定义自己的命名空间,其中有string类型的变量,再定义两个函数,一个函数完成字符串的输入,一个函数完成求字符串长度,再定义一个全局函数完成对该字符串的反转
#include <iostream>
using namespace std;
//定义自己的命名空间
namespace Mynamespqce
{
//输入字符串
string str;
void inputstr()
{
cout << "请输入字符串:";
getline(cin,str);
}
//求字符串长度
int str_len()
{
return str.length();
}
}
//全局字符串反转函数
void revStr()
{
string& s=Mynamespqce::str;
int length = Mynamespqce::str_len();
for(int i =0;i<length/2;i++)
{
char temp = s[i];
s[i] = s[length -i -1];
s[length -i -1] = temp;
}
}
int main()
{
while(1)
{
//输入后求长度
Mynamespqce::inputstr();
cout << "长度:" <<Mynamespqce::str_len() << endl;
//反转
revStr();
cout << "反转后的字符串:" << Mynamespqce::str <<endl;
}
return 0;
}
运行结果
练习二
有以下定义,说明哪些量可以改变哪些不可以改变?
const char *p;
const (char *) p;
char *const p;
const char* const p;
char const *p;
(char *) const p;
char const* const p;
可以改变指针指向的地址:const char *p;、char *const p;
不可以改变指针指向的地址,也不可以修改指针指向的内容:const char* const p;、char const* const p;
只能修改指针指向的内容,但不能改变指针指向的地址:char *const p;
只能修改指针指向的内容,但不能改变指针指向的地址:const char *p;、char *const p;