随笔分类 -  C++

摘要:转自:http://blog.sina.com.cn/s/blog_673ef8130100imsp.html 指针传递参数本质上是值传递的方式,它所传递的是一个地址值。值传递过程中,被调函数的形式参数作为被调函数的局部变量处理,即在栈中开辟了内存空间以存放由主调函数放进来的实参的值,从而成为了实参 阅读全文
posted @ 2018-12-17 09:07 maxiongying 阅读(3657) 评论(0) 推荐(1) 编辑
摘要:C++的四种cast操作符的区别发信站: 水木社区 (Thu Jan 26 21:15:16 2006), 站内声明 by NetMD:并非我的原创,来自互联网,且是两篇帖子的合集,个人觉得这样才比较完备 Q:什么是C风格转换?什么是static_cast, dynamic_cast 以及 rein 阅读全文
posted @ 2018-11-19 09:11 maxiongying 阅读(773) 评论(0) 推荐(0) 编辑
摘要:近日在写代码,各个.cpp源文件编译时没有问题,将*.o进行链接时,出现了许多multiple definition of XXX的链接错误。于是在网上搜索了一番,结合自己的代码包含逻辑,最终发现了问题,记载如下: 一、问题描述: Threadpool.h: 声明了一些函数原型和一些全局变量,这些标 阅读全文
posted @ 2018-07-19 14:50 maxiongying 阅读(7781) 评论(0) 推荐(0) 编辑
摘要:(一)inline函数(摘自C++ Primer的第三版) 在函数声明或定义中函数返回类型前加上关键字inline即把min()指定为内联。 inline int min(int first, int secend) {/****/}; inline函数对编译器而言必须是可见的,以便它能够在调用点内 阅读全文
posted @ 2017-11-27 16:51 maxiongying 阅读(999) 评论(0) 推荐(0) 编辑
摘要:本文是我在追查一个诡异core问题的过程中收获的一点心得,把公司项目相关的背景和特定条件去掉后,仅取其中通用的C++虚函数实现部分知识记录于此。 在开始之前,原谅我先借用一张图黑一下C++: “无敌”的C++ “无敌”的C++ 如果你也在写C++,请一定小心…至少,你要先有所了解: 当你在写虚函数的 阅读全文
posted @ 2017-11-14 15:46 maxiongying 阅读(1002) 评论(0) 推荐(0) 编辑
摘要:先看代码: 都知道C++中的多态是用虚函数实现的: 子类覆盖父类的虚函数, 然后声明一个指向子类对象的父类指针, 如Base *b = new Derive();当调用b->f()时, 调用的是子类的Derive::f()。 这种机制内部由虚函数表实现,下面对虚函数表结构进行分析,并且用GDB验证。 阅读全文
posted @ 2017-11-14 15:38 maxiongying 阅读(310) 评论(0) 推荐(0) 编辑
摘要:1. 内联函数 在C++中我们通常定义以下函数来求两个整数的最大值: 复制代码 代码如下: int max(int a, int b){ return a > b ? a : b;} 为这么一个小的操作定义一个函数的好处有: ① 阅读和理解函数 max 的调用,要比读一条等价的条件表达式并解释它的含 阅读全文
posted @ 2017-11-14 14:08 maxiongying 阅读(514) 评论(0) 推荐(0) 编辑
摘要:1.虚函数(impure virtual) c++虚函数主要是提供“运行时多态”,父类提供虚函数的默认实现,子类可以虚函数进行重写。 2.纯虚函数(pure virtual) c++纯虚函数也是“运行时多态”,父类不能提供函数的实现,子类提供函数的实现。包含纯虚函数的类,称为“”抽象类“”,无法用n 阅读全文
posted @ 2017-11-14 10:44 maxiongying 阅读(188) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示