
C/C++基础
Summer8918
这个作者很懒,什么都没留下…
展开
-
继承与虚函数重载
继承与虚函数重载基类的指针可指向派生类或基类,运行过程中调用的函数取决于指针绑定的对象类型(多态)。deriv重载了虚函数f1,没有重载f2,deriv对象的函数指针指向deriv对象的虚函数表,base::f1()被deriv::f1()替代,base::f2()不被改变class base{public: void virtual f1(){ cout<&l...原创 2020-03-27 18:33:11 · 348 阅读 · 0 评论 -
静态链接和动态链接的区别
在理解静态和动态(共享)库链接之间的区别之前,让我们先看一个典型程序的生命周期。从编写源代码到执行它。首先使用任何程序员选择的编辑器以文本文件的形式编写程序,然后必须对其进行编译以将文本文件转换为机器可以理解和执行的目标代码。通常我们编写的程序可能会使用其他程序或程序库。 我们编写的程序必须与这些其他程序或库一起才能执行。链接是将我们编写的外部程序成功执行所需的外部程序组合在一起的过程。 静态...翻译 2020-03-06 20:25:53 · 2639 阅读 · 0 评论 -
cpp const的作用
小Q在周末的时候和他的小伙伴来到大城市逛街,一条步行街上有很多高楼,共有n座高楼排成一行。小Q从第一栋一直走到了最后一栋,小Q从来都没有见到这么多的楼,所以他想知道他在每栋楼的位置处能看到多少栋楼呢?(当前面的楼的高度大于等于后面的楼时,后面的楼将被挡住)输入描述:输入第一行将包含一个数字n,代表楼的栋数,接下来的一行将包含n个数字wi(1<=i<=n),代表每一栋楼的高度。1...原创 2020-01-15 21:24:09 · 1565 阅读 · 0 评论 -
C/C++语言自定义函数如何返回数组?
此类问题,应用场景往往为了解决函数间相互通信,比如某个函数内处理的完的结果数据需要交接给另一个函数的情况,那么一般来说,总结有以下三种:直接使用全局变量:这种方法最方便,但此方法打破了函数间的通信及封装的思想,所以不推荐使用; 通过堆区动态开辟内存解决:C语言中,通常用malloc来在堆区动态开辟内存,利用堆区“现用现开辟,用完手动收回”特点,实现灵活管理; 由调用方传入数组指针:此种方法...原创 2018-08-29 11:24:59 · 10053 阅读 · 1 评论 -
动态内存
到现在为止,我们编写的程序中所使用的对象都有着严格定义的生存期。全局对象在程序启动时分配,在程序结束时销毁;对于局部自动对象,当我们进入其定义所在的程序块时被创建,在离开块时销毁;局部static对象在第一次使用前分配,在程序结束时销毁。除了自动和static对象外,C++还支持动态分配对象。动态分配的对象的生存期与它们在哪里创建无关,只有当显式地被释放时,这些对象才会销毁。动态对象的正...原创 2019-01-07 14:19:41 · 140 阅读 · 0 评论