初读c++标准库有个疑惑请大神讲解

阿鼎不是阿顶 2020-09-09 04:20:46
如图,画中的“值可被标定的类型”指的是什么?跪谢了
...全文
174 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
双杯献酒 2021-05-07
  • 打赏
  • 举报
回复
这里的 "可" 是 "可以被"
源代码大师 2021-05-07
  • 打赏
  • 举报
回复
希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10768339.html
阿鼎不是阿顶 2020-09-14
  • 打赏
  • 举报
回复
引用 2 楼 taodm的回复:
好复杂的断句。原来是“标的”类型,我会翻译为“目标”类型
这么一说恍然大悟,牛批
阿鼎不是阿顶 2020-09-14
  • 打赏
  • 举报
回复
引用 3 楼 qybao的回复:
首先理解这里的“值”是什么?这里的“值”就是指代码中用到的字面量,比如 int a = 5,这个 5 就是字面量,这里的“值”指的就是这个字面量 5 其次再来理解“标的类型”,这里的翻译虽然有点怪,但也讲得通,“标”一个意思就是LS说的“目标”类型(target),另一个意思就是代码中变量被“标注”的类型,比如 int a = 5,这里的 int 就是这个“标的类型” 所以整句话连起来就是,如果一个 字面量 的精度不超过变量本身 被标注的目标 类型,那么它就不会窄化。int n = 5.3,这里的 5.3 这个 字面量 被编译器识别为 double 类型,而变量 n 本身被 标注的目标 类型为 int,显然 double 的精度超过了 int 的精度,所以 5.3 就被窄化。反过来,double n = 5,5 这个字面量被编译器识别为 int 类型,而变量 n 本身被 标注的目标 类型为 double,显然 int 的精度不会超过 double 的精度,所以 5 没有被窄化。
爱了爱了,多谢大佬解惑
sdghchj 2020-09-09
  • 打赏
  • 举报
回复
target type, 根据上下文语义,就是用来给变量赋值的那个量的类型。翻译为“标的类型”是比较怪。
qybao 2020-09-09
  • 打赏
  • 举报
回复
首先理解这里的“值”是什么?这里的“值”就是指代码中用到的字面量,比如 int a = 5,这个 5 就是字面量,这里的“值”指的就是这个字面量 5 其次再来理解“标的类型”,这里的翻译虽然有点怪,但也讲得通,“标”一个意思就是LS说的“目标”类型(target),另一个意思就是代码中变量被“标注”的类型,比如 int a = 5,这里的 int 就是这个“标的类型” 所以整句话连起来就是,如果一个 字面量 的精度不超过变量本身 被标注的目标 类型,那么它就不会窄化。int n = 5.3,这里的 5.3 这个 字面量 被编译器识别为 double 类型,而变量 n 本身被 标注的目标 类型为 int,显然 double 的精度超过了 int 的精度,所以 5.3 就被窄化。反过来,double n = 5,5 这个字面量被编译器识别为 int 类型,而变量 n 本身被 标注的目标 类型为 double,显然 int 的精度不会超过 double 的精度,所以 5 没有被窄化。
taodm 2020-09-09
  • 打赏
  • 举报
回复
好复杂的断句。原来是“标的”类型,我会翻译为“目标”类型

64,646

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧