专栏首页MySQL从删库到跑路C++primer学习笔记(一)

C++primer学习笔记(一)

  • 假设p是指针,当delete p;时,后面一定要p=NULL将p指向空
  • cin cout cerr 都是iostream类型的对象。cout<<"hello world"<<endl; 其中cout是左操作数对象,<<是操作符,作用是将右操作数写到左操作数对象,"hello world"是右操作数,前面半句话的意思是将hello world写入cout对象。同理,<<endl是将endl写入cout,endl表示刷新缓冲区并换行。
  • std::cout ::是作用域操作符,表示std名空间下的cout,用来区别其它名空间同名变量。
  • 注释不能嵌套:/* /*...*/ */ 是错误的
  • 表示整数、字符和布尔值的算术类型合称为整形。区分类型是因为只有知道某地址值的类型,才能知道需要多少位表示这个变量和如何解释这些位。
  • 整形赋值超出取值范围,会被赋值数对该类型数值数目取模后的值。
  • long类型运行时代价远高于int类型。以0开头的字面值常量表示八进制、以0x开头的表示十六进制。任何字符可以表示为 \ooo【ooo表示一个八进制数】
  • 对象是内存中具有类型的区域。初始化不是赋值,初始化是创建并赋值。定义在函数体外的内置变量自动初始化成0,定义在函数体内的内置变量不进行自动初始化,类类型(string)调用默认构造函数初始化。
  • const把一个对象转换成一个常量【const int bufSize = 512】。 全局变量加const作用域只在本文件。再加extern可在整个程序访问。非const变量默认为extern。
  • 引用初始化后始终绑定到初始化的对象,不能改变【引用本身不占存储单元】。const对象必须由const引用指向【避免一个能修改,一个不能修改,既对象本身和代表其的引用必须同时为const】。普通引用不能初始化为常量,const引用可以。
  • typedef用来定义类型的同义词。
  • 头文件用于声明,不是定义,因而可以出现多次。定义的语句不应该放在头文件里,出现两次会导致多重定义链接错误。例外是头文件可以定义类,还有值在编译时就已经知道的const对象,还有inline函数。变量是声明还是定义看是否有extern,但不是绝对的,函数就看有无大括号{}
  • 两个迭代器指向同一个元素就相等【==】,否则不等。任何改变vector长度的操作都会使已存在的迭代器失效。difference_type存储迭代器间距离。
  • 设计良好的程序只有在强调速度时才在类实现的内部使用数组和指针。数组下标的正确类型是size_t。
  • 预处理器变量NULL在编译时会被数值0替换。指针做减法操作得到的是ptrdiff_t类型。指针p - 2 等效p[-2]。
  • 定义的多个变量具有相同的类型,就可以在for循环的初始化语句中同时定义他们。for(int a, b, c ...)
  • C++强制要求指向const对象的指针也必须具有const特性,可以把非const对象地址赋给const指针。
  • const指针:int *const cur = &cuss; 指向int型变量的指针,并且本身不能修改。
  • C风格字符串:const char *cp = "some value"; strlen(用于计算c风格字符串字符个数,不包括串最后的'\0')
  • 动态数组:int *p = new int[任意表达式,变量等] delete [] p;
  • new/delete是操作符,不但控制内存而且执行构造函数和析构函数,malloc/free是标准库函数,不在编译器控制权限内,不能执行构造和析构。

本文分享自微信公众号 - MySQL从删库到跑路(gh_574fe5c6adf5),作者:小当家

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 最简单的微服务部署测试实践

    微服务特别适合业务复杂,开发队伍庞大的项目。微服务可以到达化整为零,简化单个服务,降低沟通成本的效果。但微服务在性能上比单体服务低,也会有数据冗余的问题,要结合...

    震八方紫面昆仑侠
  • storm安装教程

    Storm是Twitter开源的分布式实时大数据处理框架,被业界称为实时版Hadoop。按照storm作者的说法,Storm对于实时计算的意义类似于Hadoop...

    震八方紫面昆仑侠
  • Anaconda安装和使用

    Anaconda是开源的Python包管理器。既是Python各种库的大礼包集合,也是一个能创建虚拟机环境的工具。我安装它的原因是因为我要使用Python的Ak...

    震八方紫面昆仑侠
  • Const的应用与备忘

    const直译“常量”。在软件的开发中,我们会经常需要定义一些不能修改的变量。但在cpp中,由于变量的结构比较复杂,对不能修改这个概念,在不同的变量类型中,co...

    Oceanlong
  • C++雾中风景3:const用法的小结

    const关键字,翻译成中文是常量,常数的意思。所以在绝大多数场合之中,const是来定义常量的,定义常量也是好的编程习惯。在C类语言之中,定义常量通常会使用宏...

    HappenLee
  • QMap容器小知识

    Qt君
  • const的那些事

    在我们使用c/c++的时候,或者在面试的时候,会被问道与const相关的问题,比如const修饰放在指针的哪个位置,const修饰的引用传递与值传递等等,这些究...

    公众号guangcity
  • 【ES6基础】const介绍

    在ES6之前,JavaScript被其他编程语言诟病没有定义常量的能力,甚至在大多数企业的开发文档中,对于常量的定义都使用var。一般经常会使用大写字母和下划线...

    前端达人
  • 学习c++中的小问题总结

    徐飞机
  • Effective C++条款3 我可以不使用const?

    const是C++中用得非常频繁的一个关键字,但是如果你不使用这个关键字,对程序的运行结果影响不大,那么,我可以不使用const吗?

    ACM算法日常

扫码关注云+社区

领取腾讯云代金券