C++ 3.25作业

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

#include <iostream>

using namespace std;

namespace DX
{
    string s1;
    string fun_in(string s1);
    void fun_length(string s1);
}
using namespace DX;

string DX::fun_in(string s1)
{
    cout << "请输入字符串:" ;
    getline(cin,s1);
    return s1;
}

void DX::fun_length(string s1)
{
    cout << "字符串长度为:" << s1.length() << endl;
}

void fun_swap(string s1)
{
    char temp = 0;
    int len = s1.size();
    int i = 0;
    while(i < (len-1-i))
    {
        temp = s1.at(i);
        s1.at(i) = s1.at(len-1-i);
        s1.at(len-1-i) = temp;
        i++;
    }
    cout << "反转后的字符串为:" << s1 << endl;
}

int main()
{
    string s1 = fun_in(DX::s1);
    cout << s1 << endl;
    fun_length(s1);
    fun_swap(s1);
    return 0;
}

2、思维导图

3.有以下定义,说明哪些量可以改变哪些不可以改变?
①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指向的内容都不可以修改

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/489221.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL--Buffer Pool

虽然说 MySQL 的数据是存储在磁盘里的&#xff0c;但是也不能每次都从磁盘里面读取数据&#xff0c;这样性能是极差的。为此&#xff0c;Innodb 存储引擎设计了一个缓冲池&#xff08;Buffer Pool&#xff09;&#xff0c;来提高数据库的读写性能。 有了缓冲池后&#xff1a; …

Go微服务实战——metrics指标监控(Prometheus框架与Grafana可视化)

安装Prometheus 参考官网 安装完后访问http://IP:9090如下所示&#xff1a; 这是Prometheus自带的UI。 该地址是数据监控地址http://localhost:9090/metrics所有输出的监控项。 可以正常浏览上述信息是表示安装完成。 Promethus简介 promethus中文网 Prometheus中文文档 …

分享5款能让电脑更高效的软件

​ 你想让你的电脑更好用吗&#xff1f;这里有五款电脑软件可以帮你&#xff0c;它们可以让你的电脑更高效、美观、安全&#xff0c;快来看看吧&#xff01; 1.远程协助——TeamViewer ​ TeamViewer是一款功能强大的远程桌面连接软件&#xff0c;支持跨平台操作&#xff0c;…

基于SSM+Jsp+Mysql的毕业生就业信息管理系统

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

牛客网BC-33 统计成绩(数组排序思想)

题目如下 --------------------------------------------------------------------------------------------------------------------------------- 思路&#xff1a;以数组形式输入&#xff0c;并将数组顺序&#xff08;或者逆序&#xff09;排序&#xff0c;最后输出最大值最…

静态代理与动态代理

静态代理与动态代理 静态代理 某个对象提供一个代理&#xff0c;代理角色固定&#xff0c;以控制对这个对象的访问。 代理类和委托类有共同的父类或父接口&#xff0c;这样在任何使用委托类对象的地方都可以用代理对象替代。代理类负责请求的预处理、过滤、将请求分派给委托类…

在项目中数据库如何优化?【MySQL主从复制(创建一个从节点复制备份数据)】【数据库读写分离ShardingJDBC(主库写,从库读)】

MySQL主从复制 MySQL主从复制介绍MySQL复制过程分成三步&#xff1a;1). MySQL master 将数据变更写入二进制日志( binary log)2). slave将master的binary log拷贝到它的中继日志&#xff08;relay log&#xff09;3). slave重做中继日志中的事件&#xff0c;将数据变更反映它自…

基于GA优化的CNN-LSTM-Attention的时间序列回归预测matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1卷积神经网络&#xff08;CNN&#xff09;在时间序列中的应用 4.2 长短时记忆网络&#xff08;LSTM&#xff09;处理序列依赖关系 4.3 注意力机制&#xff08;Attention&#xff09; 5…

JetBrains GoLand 2023---高效Go语言开发环境的首选工具【Mac/Windows】

JetBrains GoLand 2023是一款专为Go语言开发者设计的强大集成开发环境&#xff08;IDE&#xff09;。它提供了智能代码提示、自动补全和强大的调试工具&#xff0c;帮助开发者快速编写和调试Go语言代码。JetBrains GoLand 2023的功能特色主要表现在以下几个方面&#xff1a; 强…

万象奥科携手RT-Thread,线下体验RK3568混合部署!

3月21日&#xff0c;万象奥科联合RT-Thread在上海张江举办RK3568OpenAMP混合部署线下workshop&#xff0c;体验在一个SOC上的同时运行RT-Thread和Linux&#xff0c;为电力、医疗、工业控制、机器人、新能源等行业应用提供新思路。 万象奥科为伙伴们提供RK3568全功能开发板&…

flutter使用Command库调用cmd命令或者shell命令,并支持多个参数和指定文件夹目录

想要在不同的平台上运行flutter doctor命令&#xff0c;就需要知道对应的平台是windows还是linux&#xff0c;如果是windows就需要调用cmd命令&#xff0c;如果是linux平台&#xff0c;就需要调用sh命令&#xff0c;所以可以通过cfg!实现不同平台的判断&#xff0c;然后调用不同…

私人健身与教练预约管理系统设计与实现|SpringBoot+ Mysql+Java+ B/S结构(可运行源码+数据库+设计文档)

本项目包含可运行源码数据库LW&#xff0c;文末可获取本项目的所有资料。 推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 2024年56套包含java&#xff0c;…

Java基础面试复习

一、java基础 1、jdk、jre、jvm的区别 jdk&#xff1a;Java程序开发工具包。 jre&#xff1a;Java程序运行环境。 jvm&#xff1a;Java虚拟机。 2、一个Java源文件中是否可以包含多个类有什么限制 解&#xff1a;可以包含多个类但是只有一个类生命成public并且要和文件名一致 …

开源鸿蒙系统调试模式屏幕截图功能如何实现

开源鸿蒙系统调试模式屏幕截图功能如何实现&#xff0c;适用于需要获取软件app运行界面的场景。 使用工具&#xff1a;鸿蒙官方hdc_std.exe jietu.bat里面内容为&#xff1a; set filepath/data/%date:~0,4%%date:~5,2%%date:~8,2%%time:~1,1%%time:~3,2%%time:~6,2%.jpeg ec…

[Linux]知识整理(持续更新)

前言 Linux的目录结构 Linux的目录结构是一个树型结构 Windows 系统可以拥有多个盘符, 如 C盘、D盘、E盘 Linux没有盘符这个概念, 只有一个根目录 /, 所有文件都在它下面 Linux路径的描述方式 第一章 基本命令 命令格式 例:ls –la /etc 说明: 1)个别命令使用不遵循…

力扣---最长公共子序列---二维动态规划

思想&#xff1a; 定义g[i][j]&#xff1a;text1的前i位和text2的前j位的最长公共子序列长度。递推公式&#xff1a;如果text[i]text[j]&#xff0c;那么只需要看g[i-1][j-1]即可&#xff0c;此时g[i][j]g[i-1][j-1]1。如果text[i]!text[j]&#xff0c;那么g[i][j]max(g[i-1][j…

Gif动图怎么快速制作?两招教你在线做

Gif动图作为一种实用的图片格式&#xff0c;因为其体积小&#xff0c;画面丰富&#xff0c;所以在各大聊天软件中非常的受欢迎。小伙伴们是不是很好奇这种gif动态图片是如何制作的吧&#xff01;下面&#xff0c;小编就给大家分享两个快速制作gif动画的小技巧&#xff01;不用下…

【Python机器学习系列】sklearn机器学习模型的保存---pickle法

这是我的第246篇原创文章。 一、引言 pickle是Python 的标准库&#xff0c;用于序列化对象。可以使用 pickle.dump()将模型保存到文件&#xff0c;然后使用 pickle.load()从文件中加载模型。 序列化&#xff1a;指将一个对象转换为字节流&#xff0c;能够存储在文件或网络上&…

OpenCV4.9关于矩阵上的掩码操作

返回&#xff1a;OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇:如何使用OpenCV扫描图像、查找表和时间测量 下一篇:OpenCV4.9的是如何进行图像操作 引言&#xff1a; 矩阵上的掩码操作非常简单。这个想法是&#xff0c;我们根据掩码矩阵&#xff08…

PTA题解 --- 浪漫侧影(思路题解)

今天是PTA题库解法讲解的第九天&#xff0c;今天我们要讲解浪漫侧影&#xff0c;题目如下&#xff1a; 题解思路&#xff1a; 要解决这个问题&#xff0c;首先需要根据给定的中序遍历和后序遍历序列重建二叉树。然后&#xff0c;通过分别进行层序遍历的方式&#xff0c;记录每…