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

自己做网站哪种好做百度推广和哪些网站有合作

自己做网站哪种好做,百度推广和哪些网站有合作,湖南监理建设协会网站,wordpress加载评论很慢前言 本篇文章记录的是一些关于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.yayakq.cn/news/540449/

相关文章:

  • cdn如何做网站备案免费的微商城平台
  • 网站可以做哪些广告语开个小网站要怎么做
  • 商贸网站建设wordpress gif插件
  • 20m做网站天津网站建设开发
  • 有什么做任务拿钱的网站贵阳做网站公司吗
  • 网站联盟推广网络营销和网上销售的区别
  • 上海专业高端网站建设嵌入式软件开发平台有哪些
  • 温州网站建设方案服务自己开发app怎么赚钱
  • 基于asp网站开发 论文wordpress与drupal对比
  • 网站设计制作要多少钱工商局外网
  • 网页游戏网站首页舟山城乡建设培训中心网站
  • 金华网站建设公司哪个好长沙网络公司营销推广
  • php红酒网站建设服装外贸网站建设
  • 哈尔滨建设工程信息网官方网站东莞娱乐场所开放通知
  • 网站适配手机怎么做廉政建设网评文章网站
  • 怎样建设一个能上传数据的网站seo优化代运营
  • 建网站的详细技术泉州网页定制
  • 伴奏在线制作网站wordpress首页非常慢
  • 怎么知道网站谁建的网站开发华企云商
  • 保定网站推广费用提升神马关键词排名报价
  • 淘宝客手机网站手机建设银行网站进不去
  • 禅城网站制作wordpress视频api
  • 哪里有做网站的单位宝塔建站wordpress
  • 眉山企业网站建设网站设计的技术选择
  • 区块链网站开发台州公司网站建设
  • 郑州做网站找赢博科技手机移动端网站是什么
  • 安远网站建设给网站做网络安全的报价
  • 网站站长统计怎么做医药做网站
  • wordpress开启多站点模式厚街建设网站
  • 太原网站推广排名网站开发运营经理