- 定义自己的命名空间,其中有string类型的变量,再定义两个函数,一个函数完成字符串的输入,一个函数完成求字符串长度,再定义一个全局函数完成对该字符串的反转
- 有以下定义,说明哪些量可以改变哪些不可以改变?
const char *p;
数据不可以改,地址能改
const (char *) p;
数据不可以改,地址能改
char *const p;
地址不能改,数据可以改
const char* const p;
地址和数据都不能改
char const *p;
数据不可以改,地址能改
(char *) const p;
地址不能改,数据可以改
char const* const p;
地址和数据都不能改
#include <iostream>
#include <string>
using namespace std;
namespace A {
string myString; // 在命名空间A中定义string类型的变量
void inputString() {
cout << "请输入一个字符串: ";
getline(cin,myString);
}
int getStringLength() {
return myString.length();
}
}
// 全局函数用于反转字符串
string reverseString(string str) {
int n = str.length();
for (int i = 0; i < n / 2; i++) {
char temp = str[i];
str[i] = str[n - i - 1];
str[n - i - 1] = temp;
}
return str;
}
int main() {
using namespace A;
inputString();
cout << "输入的字符串长度为: " << getStringLength() << endl;
cout << "反转后的字符串为: " << reverseString(A::myString) << endl;
return 0;
}