随笔分类 -  C++

类对象作为函数参数进行值传递
摘要:这个是今天踩到的坑,记录一下。 首先先给出几个概念: 1)类对象在创建时会调用构造函数,在释放是会调用析构函数; 2)函数中的局部变量在函数返回后,会由于弹栈从而内存被释放; 3)如果函数参数是采用值传递的方式传入类对象,则由于值传递的性质,先调用类复制构造函数产生一个临时对象,然后在函数返回后会调 阅读全文

posted @ 2018-03-17 21:49 chenjx_ucs 阅读(1031) 评论(0) 推荐(0)

关于迭代器失效
摘要:今天技术群讨论了一个问题,关于stl迭代器失效的,主要是关于vector和map删除元素的,但后来引申出了一个新的问题,特此记录一下。 (一)关于vector和map删除元素 首先是关于vector和map利用迭代器删除元素的方法,代码: 首先vector的迭代器在删除元素后会使得该迭代器之后的所有 阅读全文

posted @ 2018-03-16 15:06 chenjx_ucs 阅读(242) 评论(0) 推荐(0)

bind类成员函数
摘要:首先描述一个情景: 先贴出代码: 类成员函数对数组进行排序,排序使用的是STL自带的sort函数。上述代码无法编译通过,因为对于sort而言,第三个参数是自定义的比较函数,其函数不能够为一个非静态类成员函数。 如果需要使用compare,可以有两种方案,第一种,将compare函数声明为全局函数;第 阅读全文

posted @ 2018-02-01 14:08 chenjx_ucs 阅读(502) 评论(0) 推荐(0)

静态变量、全局变量和局部变量
摘要:1、从作用域角度 在C++中,变量根据定义的位置不同会具有不同的声明周期,具有不同的作用域。 (1)全局变量。具有全局作用域,全局变量只需要在一个源文件中定义,就可以在所有源文件中被使用。在其他源文件中,采用extern关键字(表明当前变量的定义在其他源文件中)就能够再次声明这个全局变量; (2)局 阅读全文

posted @ 2018-01-22 14:35 chenjx_ucs 阅读(465) 评论(0) 推荐(0)

简谈const限定符
摘要:const修饰的数据类型是常量类型,常量类型的对象和变量在定义初始化后是不能被更新的。其实只用记住这一个概念,就可以明白const操作对象的方法。 1)定义const常量 最简单的: const int a = 1; a = 2; (错误:a为const常量,在初始化后不能再进行改变) 而且由于这个 阅读全文

posted @ 2018-01-18 10:56 chenjx_ucs 阅读(194) 评论(0) 推荐(0)

导航