作业要求:
- 整理思维导图
- 定义自己的命名空间,其中有string类型的变量,再定义两个函数,一个函数完成字符串的输入,一个函数完成求字符串长度,再定义一个全局函数完成对该字符串的反转
- 有以下定义,说明哪些量可以改变哪些不可以改变?
const char *p;
const (char *) p;
char *const p;
const char* const p;
char const *p;
(char *) const p;
char const* const p;
作业1:
作业2:
运行代码:
#include <iostream>
#include <cstring>
using namespace std;
namespace Str{
string str1;
void strscan();
int mystrlen();
}
using namespace Str;
void Str::strscan(){
getline(cin,str1);
}
void strback(string *str,int len){
int i;
for(i=0;i<len/2;i++){
char temp = (*str)[i];
(*str)[i]=(*str)[len-i-1];
(*str)[len-1-i]=temp;
}
}
int Str::mystrlen(){
int len = str1.length();
return len;
}
int main()
{
int len = 0;
strscan();
cout<<"str1="<<str1<<endl;
len = Str::mystrlen();
cout<<"strlen="<<len<<endl;
strback(&str1,len);
cout<<"str1="<<str1<<endl;
return 0;
}
运行截图:
作业3:
可以变 不可以变
const char *p; 指向 值
const (char *) p; 指向 值
char *const p; 值 指向
const char* const p; 值和指向
char const *p; 指向 值
(char *) const p; 值 指向
char const* const p;