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

wordpress 去掉版权信息seo黑帽教学网

wordpress 去掉版权信息,seo黑帽教学网,连云港网站建设公司,one dirve做网站目录 补缺: 正题开始: 思考: 解决方案: 1.string类 2.redis库 简介: 对于处理字符串的好处: 下期预告:内容待定 补缺: 在上期内容的结尾我留下了一个问题,这个问…

目录

 

补缺:

正题开始:

思考:

解决方案:

1.string类

2.redis库

简介:

对于处理字符串的好处:

下期预告:内容待定


 

补缺:

在上期内容的结尾我留下了一个问题,这个问题是让大家思考八位二进制的最大值和最小值以及它们之间的关系。相信大家都有了自己的一个思考,现在解析开始。算是补码的一个小奇葩。

首先这个问题我们要先想到在八位二进制中最大值是多少(补码中),最大值是127(0111 1111)。第二个要想一想在补码中的规则(在补码中首位是符号位,不参与计算),所以最大值的表达就是剩下的七位是1,首位是0代表最大的有符号数。然后我们再思考,在补码中负数是由正数的二进制取反加一来表达的,所以我们只要找到正数最大数然后取反就可以了?由于补码中八位二进制的最大数127,那么我们应该取反加一就行了吗?不不不,在这里C语言中用到了一个巧妙地方法(与之前的方法不同)。C语言在八位二进制数的最大值127(0111 1111)后面直接加一从而得到(1000 0000)也就是-128。这里的方法和补码的规则不太一样,这种方法只是在补码中对于由最大的二进制数转换到最小的二进制数的过程,其他的转换还是补码的规则(保留首位,取反加一)。我们加上一之后满足二进制的规则(逢二进一),我们就会得到(1000 0000)这个数,而这恰恰满足补码中对于有符号数的表达(首位的1恰好看作是符号位),所以这就是补码中关于最大数转换成为最小数的过程(循环)中的一个方法,整数溢出导致的二进制数循环的最特殊的一步。

总结:补码中对于最大数到最小数的转换的规则就是找到最大数的二进制表达方式,然后加一得到的二进制数就是最小数的表达。至于为什么说这是循环可以看看我上一篇的内容C语言整数溢出的问题              提升补充内容——补码


正题开始:

首先我们要清楚字符串其实就是字符数组,所以字符数组的结尾也是有\0存在的。而且在C语言中通过字符数组的指针(首地址)和字符数组的结束符来控制字符数组。

#include<iostream>
using namespace std;
int main()
{
char z1[]="hello"
cout<<strlen(z1)<<endl;//5
cout<<sizeof(z1)/sizeof(z1[0]);//6char z2[]="hel\0lo"
cout<<strlen(z2)<<endl;//3
cout<<sizeof(z2)/sizeof(z2[0]);//4char z3[30]="hello2";
strcat(z3[],z2[]);
cout<<z3<<endl;//hellohel
cout<<strlen(z3)<<endl;//8
cout<<sizeof(z3)/sizeof(z3[0]);//9
}

上面的代码我们定义了三个个字符数组.我们都知道\0就是字符串的结束符,所以我们第一个数组输出的结果就是5和6。(这里的strlen就是数组的内容长度;sizeof算的是数组的存储长度,是包括\0的)。那么看z2这里由于hello中插入了一个\0所以hello的长度就被提前结束了所以内容长度只有3,但是它的存储长度却是因为多了一个\0,所以变成了8。接下来看z3,这个数组我们利用strcat来将两个数组进行拼接,结果是:内容长度是8,存储长度是9。(拼接的时候第一个数组的结束符会被删除,只保留第二个数组的结束符,相当于拼接后的字符数组只有一个结束符)。


思考:

那么你发现了什么。所有的字符数组都是和\0有直接的关系的,不论是内容长度还是存储的空间长度都是相关的。所以这就导致我们存储的内容是不能包含\0的而且这种检测存储长度的方法(sizeof)也会变得很慢,效率不高。


解决方案:

有两种:1 string类    2  redis库

1.string类

#include<iostream>
using namespace std;
#include<string>
int main()
{
char z1[]="hello"
cout<<strlen(z1)<<endl;//5
cout<<sizeof(z1)/sizeof(z1[0]);//6char z2[]="hel\0lo"
cout<<strlen(z2)<<endl;//3
cout<<sizeof(z2)/sizeof(z2[0]);//4char z3[30]="hello2";
strcat(z3[],z2[]);
cout<<z3<<endl;//hellohel
cout<<strlen(z3)<<endl;//8
cout<<sizeof(z3)/sizeof(z3[0]);//9//C++的改进方案:string zz1="hello";
cout<<zz1.length()<<endl;//5
cout<<zz1.capacity()<<endl;//15
cout<<sizeof(zz1)<<endl;//28string zz2="hel\0lo";
cout<<zz2.length()<<endl;//3
cout<<zz2.capacity()<<endl;//15
cout<<sizeof(zz2)<<endl;//28zz1+=zz2;
cout<<zz1.length()<<endl;//8
cout<<zz1.capacity()<<endl;//15
cout<<sizeof(zz1)<<endl;//28}

我们看上面的代码是用C++的方案写出的。我们可以看出关于内容长度上C++的length还是3;其中的capacity是预存空间(随着编译器的变化而变化);但是看sizeof这个时候的存储空间就是整个string的存储空间,不再单独是字符串的存储空间。而且string类的内容很多,也跟利于字符串的使用,这就是C++的升级。


2.redis库

简介:

Redis 是一个开源的、使用 ANSI  C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。它通常被称为数据结构服务器,因为值(value)可以是字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)、位图(bitmaps)、超日志(hyperloglogs)和地理空间(geospatial)索引半径查询的索引等类型。


对于处理字符串的好处:

1.性能高效:Redis是基于内存的数据库,所以存取字符串的速度非常快,非常适合处理高频次的数据读写操作。
2.灵活的数据类型:虽然叫做字符串,但Redis的字符串实际上可以存储任何形式的字符串,包括二进制数据,这让它非常灵活。
3.丰富的操作命令:Redis提供了许多操作字符串的命令,比如SET、GET、INCR(用于整数类型的字符串,实现自增)、DECR(自减)等,可以满足各种复杂场景的需求。
4.原子性操作:Redis的很多字符串操作都是原子性的,这意味着这些操作在执行过程中不会被其他客户端的指令打断,保证了数据的一致性。
5.易于使用:Redis的字符串操作接口简单,易于理解和使用,无论是对于开发者还是运维人员来说,都是非常友好的。
6.这些好处使得Redis在处理字符串类型的数据时,相比其他类型的数据库或存储系统,具有非常明显的优势!

关于这个库的使用这里就先不讲,不然内容肯定会十分繁杂。

这是链接,可以自行看一下源码。

redis库             GitHub里的redis库


🆗到这里,这篇关于C语言字符串缺陷就说完了,求一个免费的赞,感谢阅读。还有一部分内容放到下期。

下期预告:C语言字符串缺陷的补充

 

 

 

http://www.khdw.cn/news/61890.html

相关文章:

  • 广州网站推广模板app运营需要做哪些
  • 网站里图片的作用aso网站
  • 东圃手机网站制作费用搜狗站长平台打不开
  • 页面设计工作要求3seo
  • 找灵感的网站情感营销案例
  • 建设项目环保验收网站营销策划方案公司
  • 袁隆平网站设计模板带佣金的旅游推广平台有哪些
  • 北京 网站设计搜索引擎优化的具体措施
  • 80端口被封怎么做网站小白如何学电商运营
  • wordpress页面单独样式seo的中文意思是什么
  • 长春免费做网站百度账号怎么改名字
  • 新网站前期如何做seo产品推广策略怎么写
  • asp网站开发心得体会西安网络优化培训机构公司
  • 黄石做网站建设的百度指数入口
  • 国内建网站知名企业优化大师哪个好
  • 注册域名建设网站衡阳seo快速排名
  • 产品设计流程8个步骤seo软件代理
  • wordpress 登录框seo站外推广
  • 网站建设的销售好做吗百度客服号码
  • 网站备案当面核验拼多多女装关键词排名
  • 网站建设遇到哪些问题大学生网页制作成品模板
  • 从零开始做网站seo最好的小说网站排名
  • 建立网站域名的费用免费seo关键词优化排名
  • b s网站建设方案及报价抖音推广怎么收费
  • 莱特币做空 网站百度首页 百度一下
  • 易点科技网站建设淘宝关键词排名
  • 做国际交友网站翻译怎样在网上做推广
  • 做数据的网站惠州seo排名收费
  • 重庆奉节网站建设公司哪里有网站搭建一般要多少钱
  • 网站建设免费加盟代理财经新闻每日财经报道