定义自己的命名空间,其中有string类型的变量,再定义两个函数,一个函数完成字符串的输入,一个函数完成求字符串长度,再定义一个全局函数完成对该字符串的反转
#include <iostream>
#include <cstring>
using namespace std;
namespace my {
string s;
void fun();
void len(string s);
}
void my::fun(){
cout<<"输入字符串";
getline(cin,s);
cout<<"s="<<s<<endl;
}
void my::len(string s){
cout<<"长度为"<<s.size()<<endl;
}
void restr(string s){
string s1=s;
int n=s.size();
for(int i=0;i<n/2;i++)
{
char temp = s1.at(i);
s1.at(i)=s1.at(n-i-1);
s1.at(n-i-1)=temp;
}
cout<<"反转前:"<<s<<endl;
cout<<"反转后:"<<s1<<endl;
}
using namespace my;
int main()
{
my::fun();
my::len(my::s);
restr(my::s);
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; p的指向可以修改,p指针指向的内容不可以修改
②const (char *) p; 和1一样,p的指向可以修改,p指针指向的内容不可以修改
③char *const p; p指针指向的内容可以修改,p的指向不可以修改
④const char* const p; p的指向和p指向的内容都不可以修改
⑤char const *p; 和1一样,p的指向可以修改,p指针指向的内容不可以修改
⑥(char *) const p; 和3一样,p指针指向的内容可以修改,p的指向不可以修改
⑦char const* const p; p的指向和p指向的内容都不可以修改