一、思维导图
二、练习
练习一
定义自己的命名空间,其中有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;