3.25C++

定义自己的命名空间,其中有string类型的变量,再定义两个函数,一个函数完成字符串的输入,一个函数完成求字符串长度,再定义一个全局函数完成对该字符串的反转

cpp 复制代码
#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指向的内容都不可以修改

相关推荐
香蕉卜拿拿拿1 天前
软件解耦与扩展的利器:基于C++与C#的插件式开发实践
c++
CoderCodingNo1 天前
【GESP】C++五级真题(贪心和剪枝思想) luogu-B3930 [GESP202312 五级] 烹饪问题
开发语言·c++·剪枝
阿闽ooo1 天前
深入浅出适配器模式:从跨国插头适配看接口兼容的艺术
c++·设计模式·适配器模式
oioihoii1 天前
跨越进程的对话之从管道到gRPC的通信技术演进
c++
爱装代码的小瓶子1 天前
算法【c++】二叉树搜索树转换成排序双向链表
c++·算法·链表
阳洞洞1 天前
cmake中如何从include_directories中移除某个特定的头文件
c++·cmake
墨雪不会编程1 天前
C++【string篇1遍历方式】:从零开始到熟悉使用string类
java·开发语言·c++
蓝色汪洋1 天前
经典修路问题
开发语言·c++·算法
DARLING Zero two♡1 天前
接入 AI Ping 限免接口,让 GLM-4.7 与 MiniMax-M2.1 成为你的免费 C++ 审计专家
开发语言·c++·人工智能
程序喵大人1 天前
constexpr
开发语言·c++·constexpr