当前位置: 首页 > news >正文

摄影网站源码软文是啥意思

摄影网站源码,软文是啥意思,宝鸡品牌网站开发,wordpress技术教程 pdf前言 本篇文章记录的是一些关于string的补充说明 string与const char*之间的相互转换 const char* 转换成string 在C中存在着从const char到string的隐式类型转换,换句话说,如果一个函数的参数类型是string类,直接传入const char类型的参…

前言

本篇文章记录的是一些关于string的补充说明

string与const char*之间的相互转换

const char* 转换成string

在C++中存在着从const char到string的隐式类型转换,换句话说,如果一个函数的参数类型是string类,直接传入const char类型的参数是没问题的

const char* cstr = "demo";
string str(cstr);

string与const char*的转换

在传入参数时i,有时我们传入string在编译时是会报错的,所以我们就需要传入const char* 类型

我们可以使用成员函数c_str(),来返回string对应的char数组

string str = "demo";
const char* cstr = str.c_str();

并且,在进行文件读写的时候,使用const char* 比使用string更安全
因为,string是会自动分配内存的,其内部的存储方式是不可见的
而const char*类型是整存整取的,或者也可以自己手动存入每一部分

注意

为了修改string字符串的内容,下标访问操作符[]和函数at都会返回字符串中某个字符的引用,但当字符串的内存被重新分配之后,可能会发生错误

此处给出一个例子(string内部的内存分配机制)方便理解:
字符串str中有十个元素,当我想往里面复制11个元素时,先复制了10个元素,在放第十一个元素的时候,原字符串不够放,那就会在堆区的另一个地方找一个更大的位置,比如找了一个能存放20个元素的位置,
首先,会之前存储的10个元素拷贝到新的空间里,之后再将第11个元素存储到后面,最后将之前存储10个元素的空间释放掉

那么,当我想通过之前的引用找到原来对应的字符时,就会发生未知的错误

大小写转换

在C语言中,我们只能通过循环来改变每个字符,利用ASCII码值或者toupper/tolower函数将其转换成大写或小写

而使用STL的话,一行就能解决这个问题
在STL算法库中,已经将这种遍历修改的过程进行了封装
我们可以直接复用:

transform(str.begin, str.end(), str.begin(), toupper);
//字符串转大写transform(str.begin(), str.end(), str.begin(), tolower);
//字符串转小写

这里面的算法就是transform算法,包含四个参数
前两个参数是源容器的首未迭代器
第三个参数是目标容器的首迭代器
第四个参数是函数指针,也就是要执行的操作

之后会有对于迭代器的解释和学习,在这里会用就行

字符串和数字之间的转换

实数转字符串

在C++11新标准中,提供了全局函数std::to_string
可以将类型转换成string类型

下面给出一些例子
将带符号 / 不带符号整数和实数转换成字符串

string to_string(int val);string to_string(long val);string to_string(long long val);string to_string(unsigned int val);string to_string(unsigned long val);string to_string(unsigned long long val);string to_string(float val);string to_string(double val);string to_string(long double val);

字符串转实数

int stoi(const string& str, size_t* idx = 0; int base = 10);long stol(const string& str, size_t* idx = 0, int base = 10);long long stoll(const string& str, size_t* idx = 0, int base = 10);

补充说明

1.

idx返回字符串中第一个非数字的位置,即数值部分的结束位置

2.

base为进制,10就是10进制,8就是8进制

3.

该组函数会自动保留符号和自动去除前导0

C风格字符数组转换成实数

在C语言中,也提供了一些函数来帮助我们将字符数组转换成实数

int atoi(const char* str);long atol(const char* str);long longstoll(const char* str);double atof(const char* str);

注意:
atof函数中的f指的是浮点数(包含float、double、long double类型),atof函数的返回类型是double

结语

关于string的补充说明到这里就结束了,
之后我会出一些刷题的笔记以及C++相关知识的学习和介绍

我们下篇文章见~

http://www.zhongyajixie.com/news/19177.html

相关文章:

  • 福田住房和建设局网站官网优化网络
  • 创业做网站APP开发爱营销电信版下载app最新版
  • 做网站必须要公司才能做吗app拉新平台有哪些
  • 网站建设维护费百度搜索网站优化
  • 网站如何在360做提交百度站长工具怎么用
  • 做网站需要什么认证推广软文怎么写
  • 那做网站seoul是什么品牌
  • 做adsense对网站有什么要求投稿网站
  • 房产信息网站模板百度客服电话4001056
  • 一家做特卖的网站叫什么app拉新一手渠道商
  • 网站架构图怎么做win7系统优化大师
  • 如何用网页设计制作个人网站荆门网络推广
  • wordpress代码添加游戏优化大师
  • 深圳设计公司有哪家网站推广与优化平台
  • 网站备案会检查空间郑州众志seo
  • 网站编辑的栏目怎么做韩国vs加纳分析比分
  • 焦作 网站建设大连seo建站
  • 做网站 二维码登录网络营销推广工具有哪些?
  • 网站开发工作经验简历seo优化基础教程pdf
  • 建设厅培训中心网站微信视频号可以推广吗
  • 做的比较好的个人网站广告营销方式有哪几种
  • excel服务器做网站西安网页设计
  • 住建局人员名单青岛关键词优化报价
  • 模块化网站建设新网站快速排名软件
  • 怎么建动态网站站长工具介绍
  • 开发网站能赚多少钱关键词歌词含义
  • 虚拟机web网站怎么做推广标题怎么写
  • 温州网站设计力推亿企帮广告联盟平台哪个好
  • 专门做招商的网站是什么情况neotv
  • 分类信息网站如何做排名万能优化大师下载