gpt4 book ai didi

c++ - 一元加 (+) 对文字字符串

转载 作者:IT老高 更新时间:2023-10-28 23:01:20 25 4
gpt4 key购买 nike

今天我写了一个表达式:

"<" + message_id + "@" +  + ">"
^
|
\____ see that extra '+' here!

并惊讶于它实际上已编译。 (PS message_id 是一个 QString,它也适用于 std::string)

我经常做这样的事情,在我工作的时候遗漏一个变量,我希望编译器告诉我我仍然缺少条目的地方。决赛看起来像这样:

"<" + message_id + "@" + network_domain + ">"

现在我想知道为什么 + 一元运算符对字符串文字有效!?

最佳答案

一元 + 可以应用于算术类型值、无范围枚举值和指针值,因为 ...

C++ 标准在 C++11 §5.3.1/7 中以这种方式定义它。

在这种情况下,字符串字面量是 char const 类型的数组,衰减为指向 char const 的指针。

当人们想知道某物的功能时,查看文档总是一个好主意。


“一元 + 运算符的操作数应具有算术、无范围枚举或指针类型,并且结果是参数的值。对整数或枚举操作数执行整数提升。结果的类型是提升的操作数的类型。”

关于c++ - 一元加 (+) 对文字字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20439442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com