![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深入cc++
failwest9527
这个作者很懒,什么都没留下…
展开
-
c++对象内存模型 小记------vs附带查看器
cl [source.cpp] /d1reportSingleClassLayout[classname] 编译选项示例:其中注意一点,继承中有时会出现一个奇怪的全零字段:vtordisp for vbase ..以下是解释,直接连接自博客园:http://www.cnblogs.com/fanzhidongyzby/archive/2013/01/14/2860015.html原创 2013-07-29 17:00:46 · 1412 阅读 · 0 评论 -
从一道题谈C++中构造函数调用构造函数
源地址:http://blog.csdn.net/fisher_jiang/article/details/2473698题目如下:问下列代码的打印结果为0吗? #include cstdlib>#include iostream>using namespace std;struct CLS{ int m_i; CLS( int i转载 2013-09-18 14:38:15 · 809 阅读 · 0 评论 -
宏与内联函数
建议:1)使用const定义常量而不是#define2)使用inline内联函数而不是#define来定义小型函数第一部分:宏为什么要使用宏呢?因为函数的调用必须要将程序执行的顺序转移到函数所存放在内存中的某个地址,将函数的程序内容执行完后,再返回到转去执行该函数前的地方。这种转移操作要求在转去执行前要保存现场并记忆执行的地址,转回后要恢复现场,并按原来保存地址继续执行原创 2013-09-18 16:31:45 · 806 阅读 · 0 评论 -
c++ new
先来段代码:#include #include using namespace std;struct CLS{ int m_i; CLS( int i ) : m_i(i){} CLS() { new(this)CLS(0); // CLS(0);//调用有参构造函数 } void print() {转载 2013-09-18 16:10:56 · 797 阅读 · 0 评论 -
判断两个单向链表是否相交
链接:http://www.cnblogs.com/mengdd/archive/2013/03/14/2958642.html题目来源 《编程之美》3.6节。 给出两个单向链表的头指针,判断这两个链表是否相交。假设两个链表都不带环。 分析 这个题目需要得出的结论是两个链表是否相交,即返回值应当是一个布尔值。 因为如果出现两个链表转载 2013-09-18 19:06:14 · 1342 阅读 · 0 评论 -
临界区(Critical section)与互斥体(Mutex)的区别
原文链接:http://blog.csdn.net/fisher_jiang/article/details/24757881、临界区只能用于对象在同一进程里线程间的互斥访问; 互斥体可以用于对象进程间或线程间的互斥访问。2、临界区是非内核对象,只在用户态进行锁操作,速度快; 互斥体是内核对象,在核心态进行锁操作,速度慢。3、临界区和互斥体在Windows平台都转载 2013-09-18 19:09:52 · 987 阅读 · 0 评论 -
一个fork的面试题
转自陈皓老师博客:http://coolshell.cn/articles/7965.html前两天有人问了个关于Unix的fork()系统调用的面试题,这个题正好是我大约十年前找工作时某公司问我的一个题,我觉得比较有趣,写篇文章与大家分享一下。这个题是这样的:题目:请问下面的程序一共输出多少个“-”?1234转载 2013-09-25 11:37:09 · 713 阅读 · 0 评论 -
C++中extern “C”含义深层探索
C++中extern “C”含义深层探索 1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,转载 2013-12-15 20:43:03 · 711 阅读 · 0 评论