• cin不仅遇到EOF会返回无效状态(通常用来终止循环),遇到无效输入的时候也会返回无效状态,比如向整型变量输入字符。

  • char类型的大小和机器有关,最小8位,大多数机器字节(byte)是8位,byte是可寻址的最小内存块,所以地址的尺寸就是byte的尺寸。

  • charsigned 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

  • 数组在以下几种情况下不会转换成指针:

    1. decltype
    2. 作为取地址符&,int a[10]; /*数组a的指针*/ int (*p)[10] = &a;
    3. sizeof
    4. typeid
  • 左值使用的是对象的身份(位置),右值使用的是对象的内容(值)。

  • decltype(左值)返回一个引用类型

  • m%n结果符号匹配m。C++11

  • 重载函数无法区分顶层形参,只能区分底层const和const引用

  • 块内声明函数会覆盖掉块外的函数,而不会构成重载

  • 给定作用域中的一个形参只能被赋予一次默认实参。

  • const成员函数,const修饰的是this指针,所以const成员函数如果返回this,那这个指针是底层const的。

  • 友元函数的的声明只是权限的声明,并不是真正的函数声明。

  • 编译器编译类的时候,先处理成员和函数声明,最后处理函数定义,无论是否定义在类外。

  • 类的静态成员变量必须在类内声明,类外定义。即使该变量是const或者constexpr也最好这样。

C++小细节的更多相关文章

  1. Oracle Sales Cloud:管理沙盒(定制化)小细节2——使用对象触发器更新数字字段

    在上一篇 "管理沙盒(定制化)小细节1" 的随笔中,我们使用公式法在 "业务机会" 对象(单头)上建立了 "利润合计" 字段,并将它等于 & ...

  2. Oracle Sales Cloud:管理沙盒(定制化)小细节1——利用公式创建字段并显示在前端页面

    Oracle Sales Cloud(Oracle 销售云)是一套基于Oracle云端的CRM管理系统.由于 Oracle 销售云是基于 Oracle 云环境的,它与传统的管理系统相比,显著特点之一便 ...

  3. Oracle Sales Cloud:报告和分析(BIEE)小细节2——利用变量和过滤器传参(例如,根据提示展示不同部门的数据)

    在上一篇随笔中,我们建立了部门和子部门的双提示,并将部门和子部门做了关联.那么,本篇随笔我们重点介绍利用建好的双提示进行传参. 在操作之前,我们来看一个报告和分析的具体需求: [1] 两个有关联的提示 ...

  4. Oracle Sales Cloud:报告和分析(BIEE)小细节1——创建双提示并建立关联(例如,部门和子部门提示)

    Oracle Sales Cloud(Oracle 销售云)是一套基于Oracle云端的客户商机管理系统,通过提供丰富的功能来帮助提高销售效率,更好地去了解客户,发现和追踪商机,为最终的销售成交 (d ...

  5. php课程---Json格式规范需要注意的小细节

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Programming Lan ...

  6. ASP.NET MVC 自定义路由中几个需要注意的小细节

    本文主要记录在ASP.NET MVC自定义路由时,一个需要注意的参数设置小细节. 举例来说,就是在访问 http://localhost/Home/About/arg1/arg2/arg3 这样的自定 ...

  7. [小细节,大BUG]记录一些小问题引起的大BUG(长期更新....)

    [小细节,大BUG] 6.问题描述:当从Plist文件加载数据,放入到tableView中展示时,有时有数据,有时又没有数据.这是为什么呢?相信很多大牛都想到了:我们一般将加载的数据,转换成模型,放入 ...

  8. C++在使用Qt中SLOT宏须要注意的一个小细节

    大家都知道C++虚函数的机制,对于基类定义为虚函数的地方,子类假设覆写,在基类指针或者引用来指向子类的时候会实现动态绑定. 但假设指针去调用非虚函数,这个时候会调用C++的静态绑定,去推断当前的指针是 ...

  9. SQL小细节

    平时有些小细节,不留意的话很容易得到错误的答案,我们来看下下面的代码,看看你是否能答对呢? ) ,) SELECT @str = '中国CH',@info='MyTest' SELECT [字符串]= ...

  10. C++在使用Qt中SLOT宏需要注意的一个小细节

    大家都知道C++虚函数的机制,对于基类定义为虚函数的地方,子类如果覆写,在基类指针或者引用来指向子类的时候会实现动态绑定. 但如果指针去调用非虚函数,这个时候会调用C++的静态绑定,去判断当前的指针是 ...

随机推荐

  1. windows10 安装运行docker

    windows10 安装使用docker part01.windows设置 启用windows 虚拟化 任务管理器-性能-CPU-虚拟化启用 启用Hyper-v 控制面板(Win+R -> 输入 ...

  2. Hello,World! 6.28

    代码 public class Hello{ public static void main(String[] args){ System.out.print("Hello,World!&q ...

  3. 微信小程序 Path2D 不支持 svg 路径的解决办法

    问题 开发一个微信小程序项目的时候需要用到Path2D这个对象,但是发现小程序的Path2D对象不支持实例化的时候直接传入'svg path',导致下面的代码运行的时候报错(浏览器中可运行) #其它代 ...

  4. Google三驾马车之二:MapReduce

    第一次接触mr还是在入门mit6.824的lab1,最近重新读了一遍原始论文,又有了一些新的想法,简单做一些记录. 作为Google分布式系统的重要组成,本篇文章核心在于map/reduce操作带来的 ...

  5. Apache HTTP Server、IIS反向代理设置

    Apache HTTP Server 在 Apache 中设置反向代理,需要使用 mod_proxy 和相关的模块,如 mod_proxy_http.以下是一个基本的配置示例: 确保已经安装并启用了  ...

  6. 微信小程序引入iconfont实现添加自定义颜色图标

    说明 最近搞微信小程序,需要添加一些图标,发现引入iconfont还是有几个步骤,就记录下来分享以下. 以下配置方法支持自定义颜色的. 操作步骤 1. 在iconfont网站挑选自己需要的图标,添加到 ...

  7. Oracle正则表达式实战

    原文链接:http://oracle-base.com/articles/misc/regular-expressions-support-in-oracle.php Introduction Exa ...

  8. Java Base64编码使用介绍

    Base64编码介绍     BASE64 编码是一种常用的字符编码,Base64编码本质上是一种将二进制数据转成文本数据的方案. 但base64不是安全领域下的加密解密算法.能起到安全作用的效果很差 ...

  9. Java并发编程实例--2.获取和设置线程信息

    常用线程属性 ID: 每个线程的唯一标识: Name: 线程名称: Priority: 线程优先级,从1-10,数字越大优先级越高:不推荐改变线程优先级: Status: 线程状态,包含6种状态:ne ...

  10. Linux中作业控制命令

    开门见山,最近.NET劝退师要在linux上写些长时间运行的脚本,获取Azure BlobStorage存储的数据. 记录一下Linux中后台执行作业的命令. Linux作业 作业(Job)是shel ...