首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么b[2]是false?

为什么b[2]是false?
EN

Stack Overflow用户
提问于 2019-10-17 16:55:36
回答 1查看 178关注 0票数 11
代码语言:javascript
运行
AI代码解释
复制
string s;
bool b[] = {s=="",  s==s.c_str(),  s.c_str()==""};

集合

代码语言:javascript
运行
AI代码解释
复制
b[] = {true, true, false};

为什么b[2]是false?

如果是A==BA==C,这是否意味着B==C

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-17 16:58:09

在此表达式中

代码语言:javascript
运行
AI代码解释
复制
s.c_str()==""

有两个比较的指针(地址)。第一个是由s.c_str()返回的指针,第二个是指向字符串文字""的第一个字符(终止为零字符)的指针。

很明显,地址是不同的(还请记住,字符串文字具有静态存储持续时间)。

为了得到预期的结果,你应该改写

代码语言:javascript
运行
AI代码解释
复制
std::strcmp( s.c_str(), "" ) == 0

至于这两个表达式

代码语言:javascript
运行
AI代码解释
复制
s==""

代码语言:javascript
运行
AI代码解释
复制
s==s.c_str()

然后是比较字符串,因为标准类std::string重载了右操作数的运算符==。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58437446

复制
相关文章
面试:a==1 && a==2 && a==3 是 true 还是 false?
这是一个JS社区抛出来的问题。第一眼看到这个问题的时候,感觉这似乎是一个无稽之谈,一个变量怎么可能会同时满足俩个条件呢!
程序猿DD
2021/07/13
6270
面试:a==1 && a==2 && a==3 是 true 还是 false?
面试题:a==1 && a==2 && a==3 是 true 还是 false?
这是一个JS社区抛出来的问题。第一眼看到这个问题的时候,感觉这似乎是一个无稽之谈,一个变量怎么可能会同时满足俩个条件呢!
良月柒
2021/07/13
5640
面试题:a==1 && a==2 && a==3 是 true 还是 false?
2022-09-30:以下go语言代码输出什么?A: true true false true false; B: true false false true
2022-09-30:以下go语言代码输出什么?A: true true false true false; B: true false false true false; C: true true true false false;D: true true false true true。
福大大架构师每日一题
2022/09/30
1.3K0
2022-09-30:以下go语言代码输出什么?A: true true false true false; B: true false false true
面试题-0.1 + 0.2 === 0.3为什么是false,如何解决
我们在浏览器上执行会发现 0.1 + 0.2 是等于 0.30000000000000004
用户10106350
2022/10/28
5980
2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D
2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D:false true。
福大大架构师每日一题
2022/11/06
9060
2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D
2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D:false true。 pac
2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D:false true。
福大大架构师每日一题
2022/10/28
1.1K0
2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D:false true。 pac
小姐是野生的,2B是天生的
一路走来算不上星途坦荡,也算火花带闪电,未料而今要靠码字吃饭,白天伺候客户,晚上伺候合伙人。碰上啥也不懂的还好,碰上主意正的,恨不得他说你写,字字不差。二姐也是个有调性的写手,如今为两斗米折腰,还被吐槽满满的负能量!为了保持调性,二姐决定在自己的地盘上放开喷一次,告诉你,小姐还是那个野生的小姐。
科技云报道
2022/04/12
2090
小姐是野生的,2B是天生的
为什么 Java 中 1000==1000 为 false ?
基本知识:我们知道,如果两个引用指向同一个对象,用 == 表示它们是相等的。如果两个引用指向不同的对象,用 == 表示它们是不相等的,即使它们的内容相同。
程序猿DD
2023/04/04
4240
为什么 Java 中 1000==1000 为 false ?
为什么 Java 中 1000==1000 为 false ?
基本知识:我们知道,如果两个引用指向同一个对象,用 == 表示它们是相等的。如果两个引用指向不同的对象,用 == 表示它们是不相等的,即使它们的内容相同。
后端码匠
2020/09/24
6180
为什么 Java 中 1000==1000 为 false ?
杂谈 什么是伪共享(false sharing)?
主内存(RAM)是数据存放的地方,CPU 和主内存之间有好几级缓存,因为即使直接访问主内存也是非常慢的。
彤哥
2019/07/08
9850
杂谈 什么是伪共享(false sharing)?
为什么S2b时代互联网家装的必然是新家装?
文|孟永辉 上世纪九十年代,中国香港电影依然引领着整个亚洲电影市场的发展。成龙、洪金宝、周星驰、吴镇宇、梅艳芳……诸多带有强烈中国香港符号的明星让我们总是能够回想起那个灿烂辉煌的年代。即使港片的辉煌时代已然落幕,我们依然能够透过这些明星了解到属于那个时代的辉煌。 一个时代的落幕总是会给我们留下一些印记,互联网时代同样如此。成为一种基础设施,发挥马云口中的"水电气"的作用,减少中间环节,提升行业效率成为互联网留给当下行业发展的宝贵财富。即使在互联网成为行业标配的当下,我们依然能够借助它的力量
孟永辉
2018/05/15
7430
面试官:为什么“false == []”和“false == ![]”都返回true?
英文 | https://javascript.plainenglish.io/interviewer-why-do-false-and-false-both-return-true-6e7944220337
winty
2023/01/09
1K0
简述B2B2B系统与B2B平台转化条件和区别
B2B模式的厂家需要借助各种2B平台,实现用B2B模式对市场更有效率的覆盖,并且实现对终端的更有效率的营销。需要借助各种2C平台实现与消费者的链接,特别是要重点挖掘直接面对消费者的营销价值。需要借助各种020平台实现链接消费者,并实现到家模式的快速覆盖。
数商云
2020/08/07
1.4K0
简述B2B2B系统与B2B平台转化条件和区别
ValidateRequest=”false” 是做什么的「建议收藏」
大家好,又见面了,我是你们的朋友全栈君。ValidateRequest=”false” 比如说:有一个后台提交 新闻 的textbox。
全栈程序员站长
2022/06/27
6330
为什么1000==1000返回false,100==100返回true?
这可能是个讨论得较多的话题,但是我觉得它很有趣:为什么1000==1000返回false,100==100返回true?
三哥
2018/12/19
1.3K0
c#学习之路: CheckForIllegalCrossThreadCalls = false 是干嘛的?
中的CheckForIllegalCrossThreadCalls设置为false.这是线程就
TSINGEYE清眸物联
2023/01/04
5860
2B or not 2B: 前端大泥球
今天给大家带来的是 2B 领域的一个架构难题,我们最终也没有找到一个较好「解决」方案, 或者说它本来就是一个伪命题。
_sx_
2023/10/20
2540
2B or not 2B: 前端大泥球
2022-05-16:A -> B,表示A认为B是红人,A -> B -> C,表示A认为B是红人,B认为C是红人,规定“认为”
A -> B -> C,表示A认为B是红人,B认为C是红人,规定“认为”关系有传递性,所以A也认为C是红人,
福大大架构师每日一题
2022/06/04
2940
2022-05-16:A -> B,表示A认为B是红人,A -> B -> C,表示A认为B是红人,B认为C是红人,规定“认为”
C2C、B2C 、B2B、O2O、C2M
C2C 是Consumer to Consumer 是个人对个人的,运用了物流,比如淘宝的淘小铺
似水的流年
2020/08/27
1.1K0
点击加载更多

相似问题

( "a==b“+”是“+a==b)打印false而不是”a==b是真“

34

B= false vs if (b) b= false

21

为什么false 1‘>2是假的?

27

为什么"a b c [2] d c“-match "b c [2]”是假的?

228

为什么(a=>1,b=>2){a}是语法错误?

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档