C++小细节
cin不仅遇到EOF会返回无效状态(通常用来终止循环),遇到无效输入的时候也会返回无效状态,比如向整型变量输入字符。char类型的大小和机器有关,最小8位,大多数机器字节(byte)是8位,byte是可寻址的最小内存块,所以地址的尺寸就是byte的尺寸。char是signed char或者unsigned char,具体取决于编译器。给无符号类型类型赋值超出范围时,取模。比如
unsigned char,赋值对256取模。给有符号类型类型赋值超出范围时,UB。
有符号数和无符号数混合运算(size一样,size不一样,会转换到dasize的类型),有符号数会被转化为无符号数,
char例外,所以要避免有符号数和无符号数混合运算。字面值(如
13)没有负数,-13只是对字面值取负。字符串字面值(如
"hello"),实际上是由常量字符组成的数组。转义字符后跟的是8进制或者16进制数字,如
\8是错误的,\x8是正确的。int a{1.211},会报错标识符不要以两个下划线或者一个下划线加大写字母开头。
vector下标运算符只能访问存在的对象,不能用于添加对象任何一种影响
vector容量的操作,都会导致原先的迭代器失效两个指针没有指向同一个对象,或者同一个数组,那么两个指针做运算是UB。
数组在以下几种情况下不会转换成指针:
decltype- 作为取地址符
&,int a[10]; /*数组a的指针*/ int (*p)[10] = &a; sizeoftypeid
左值使用的是对象的身份(位置),右值使用的是对象的内容(值)。
decltype(左值)返回一个引用类型m%n结果符号匹配m。C++11重载函数无法区分顶层形参,只能区分底层const和const引用
在块内声明函数会覆盖掉块外的函数,而不会构成重载。
给定作用域中的一个形参只能被赋予一次默认实参。
const成员函数,const修饰的是this指针,所以const成员函数如果返回this,那这个指针是底层const的。友元函数的的声明只是权限的声明,并不是真正的函数声明。
编译器编译类的时候,先处理成员和函数声明,最后处理函数定义,无论是否定义在类外。
类的静态成员变量必须在类内声明,类外定义。即使该变量是
const或者constexpr也最好这样。
C++小细节的更多相关文章
- Oracle Sales Cloud:管理沙盒(定制化)小细节2——使用对象触发器更新数字字段
在上一篇 "管理沙盒(定制化)小细节1" 的随笔中,我们使用公式法在 "业务机会" 对象(单头)上建立了 "利润合计" 字段,并将它等于 & ...
- Oracle Sales Cloud:管理沙盒(定制化)小细节1——利用公式创建字段并显示在前端页面
Oracle Sales Cloud(Oracle 销售云)是一套基于Oracle云端的CRM管理系统.由于 Oracle 销售云是基于 Oracle 云环境的,它与传统的管理系统相比,显著特点之一便 ...
- Oracle Sales Cloud:报告和分析(BIEE)小细节2——利用变量和过滤器传参(例如,根据提示展示不同部门的数据)
在上一篇随笔中,我们建立了部门和子部门的双提示,并将部门和子部门做了关联.那么,本篇随笔我们重点介绍利用建好的双提示进行传参. 在操作之前,我们来看一个报告和分析的具体需求: [1] 两个有关联的提示 ...
- Oracle Sales Cloud:报告和分析(BIEE)小细节1——创建双提示并建立关联(例如,部门和子部门提示)
Oracle Sales Cloud(Oracle 销售云)是一套基于Oracle云端的客户商机管理系统,通过提供丰富的功能来帮助提高销售效率,更好地去了解客户,发现和追踪商机,为最终的销售成交 (d ...
- php课程---Json格式规范需要注意的小细节
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Programming Lan ...
- ASP.NET MVC 自定义路由中几个需要注意的小细节
本文主要记录在ASP.NET MVC自定义路由时,一个需要注意的参数设置小细节. 举例来说,就是在访问 http://localhost/Home/About/arg1/arg2/arg3 这样的自定 ...
- [小细节,大BUG]记录一些小问题引起的大BUG(长期更新....)
[小细节,大BUG] 6.问题描述:当从Plist文件加载数据,放入到tableView中展示时,有时有数据,有时又没有数据.这是为什么呢?相信很多大牛都想到了:我们一般将加载的数据,转换成模型,放入 ...
- C++在使用Qt中SLOT宏须要注意的一个小细节
大家都知道C++虚函数的机制,对于基类定义为虚函数的地方,子类假设覆写,在基类指针或者引用来指向子类的时候会实现动态绑定. 但假设指针去调用非虚函数,这个时候会调用C++的静态绑定,去推断当前的指针是 ...
- SQL小细节
平时有些小细节,不留意的话很容易得到错误的答案,我们来看下下面的代码,看看你是否能答对呢? ) ,) SELECT @str = '中国CH',@info='MyTest' SELECT [字符串]= ...
- C++在使用Qt中SLOT宏需要注意的一个小细节
大家都知道C++虚函数的机制,对于基类定义为虚函数的地方,子类如果覆写,在基类指针或者引用来指向子类的时候会实现动态绑定. 但如果指针去调用非虚函数,这个时候会调用C++的静态绑定,去判断当前的指针是 ...
随机推荐
- ThinkPHP 6.0 SQL注入漏洞修复
公司买的官网被政府网安检测出SQL注入漏洞: 隐患描述 SQL漏洞证明语句: python3 sqlmap.py -u "http://xxxx?keywords=1" -p ke ...
- mysql备份导入
mysqldump -uroot -p --single-transaction --master-data=2 --flush-logs --flush-privileges --routines= ...
- 【开工大吉】推荐4款开源、美观的WPF UI组件库
前言 经常有小伙伴在技术群里提问:WPF有什么好用的UI组件库?,今天大姚给大家推荐4款开源.美观的WPF UI组件库. WPF介绍 WPF 是一个强大的桌面应用程序框架,用于构建具有丰富用户界面的 ...
- CentOS7中搭建GitLab踩坑实录
今晚闲来无事,尝试了下自己搭建一台git服务器,很多人可能不明白平时自己随手就可以提交代码,为什么还要自己搭建服务器呢?首先你有没有考虑过你是怎么能把代码提交上去的?如果公司突然有一天需要你来负责搭建 ...
- Js的GC机制
Js的GC机制 在Js七种基本类型中的引用类型Object的变量其占据内存空间大且大小不固定,在堆内存中实际存储对象,在栈内存中存储对象的指针,对于对象的访问是按引用访问的.在栈区中执行的变量等是通过 ...
- webrtc 的理解
常规视频的传输包括以下几个步骤:采集,编码,推流,转码,分发,拉流,解码和渲染 在一个实时的音视频系统架构里,上面的每个环节都会有一定程度的优化空间. 以下内容摘自:rtmp直播和webrtc直播对比 ...
- "explicit" 的使用
今天在编译项目时,代码审查提示 "Single-parameter constructors should be marked explicit" 于是就在构造函数前加上 expl ...
- 使用Gulp压缩静态资源
如果希望对在静态页面中引入的相关资源进行压缩(比如:CSS,JavaScript,图片等),可以使用Gulp实现. 当然,还可以使用其他打包工具,比如:Grunt,Webpack等等. Gulp是什么 ...
- 2021-10-25 css中零值0后面是否要省略单位
原理 在css中如果值为0,可以省略单位. 在css应用场景中,有可能是多端多人维护.即可能维护的人有A及B及C-,应用场景中有电脑端及手机端及小程序及打印机之类的. 结论 个人认为不要省略单位,不要 ...
- 项目打包setup.py(setuptools)
参考 https://www.cnblogs.com/dan-baishucaizi/p/13564333.html https://www.cnblogs.com/dan-baishucaizi/p ...