C++知识点汇总一

1、endl:有输出换行的效果,且刷新于设备有关联的缓冲区。

2、标准库的头文件用<>括起来,非标准库的文件用‘’引入。

3、float 的有效精度只能保证6位,而double可以保证10位有效数字;

4、初始化和赋值是两个不同的概念,初始化有两种形式直接初始化()和复制初始化=,是指创建变量并给他赋初始值,而赋值是

      指擦除对象的当前值并用新值代替。

5、string读取时忽略所有开头的空白字符,直至再次遇到空白字符终止。getline读取整行文本,不忽略换行符。size操作返回

      string::size_type类型。

6、容器vector,size返回的类型vector< >::size_type。迭代器iterator,有begin和end操作。

7、数组下标类型为:size_t。指针相减的类型是ptrdiff_t。

8、const  int  *p:  p 是指向int类型const对象的指针,即对象的值(p所指的值)不可以改变,p可以重新赋值指向另一个const对象。

       int  *const  p:指向整形的常量指针,p不可以指向其他的对象,对对象的值可以改变。

      技巧在于,const的右边是什么,若是类型则值不可修改,若是指针,则指针本身是常量。

      在函数参数中,可以将const对象的指针初始化为指向费const对象,但不可以让指向非const对象的指针指向const对象。

      如需保护指针指向的值,则形参需定义为指向const对象的指针。

      将函数中不需修改的形参定义为const引用。普通的非const引用形参在使用时不可以用const对象初始化,也不能用字面值或产生

      右值的表达式实参初始化。

9、动态数组的创建:int  *p = new int[10];int  *p = new int();最后使用delete p 删除指针,delete [] p删除数组;new返回的是动态对

      象的地址,int  *p = new int()  这个表示初始化了的变量,而int  *p = new int  没有初始化。

10、内联函数:inline。在头文件中定义,避免多次调用而产生效率低的问题。

11、重载函数,相同作用域中的两个具有相同名字而形参表不同的函数,两种情况不能实现重载:1、当形参以副本传递时,不能基

        于形参是否为const来实现重载,(int  i)和(const  int  i)是一样的。2、不能基于指针是否为const来实现重载(int  *i)和

         (int  *const  i)这里const用于修饰指针本身,而不是修饰指针指向的类型。

12、函数默认值:在形参表中直接初始化,若某个参数没有默认值那么他前面的所有参数都不得有默认值,即设定默认值的参数要

        放在形参表的最后。

13、启动OS设置各种内存区域:全局名称空间、自由存储(堆)、寄存器、代码空间、和堆栈。

        函数所需的数据存储在堆栈里。对于自由存储区需申请内存单元的地址,将其存到指针,new返回的就是一个内存地址,申请的

        是自由存储区的空间,需要手动的将堆中的内存清空,如没有则将存在内存泄露。或者是在为释放内存之前重新给指针赋值,

        也将带来问题。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值