![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 87
三哥有点2
这个作者很懒,什么都没留下…
展开
-
大小端判定
CPU 大小端字节序的判定 (2012-11-14 21:28)标签: 大小端字节序 分类: C 相关 机器的字节序有两种,即大端字节序和小端字节序。 大端字节序:在内存中,低地址存放数据的低位,高地址存放数据的高位 小端字节序:在内存中,低地址存放数据的高位,高地址存放数据的低位 如例:定义数据 a = 0x01020304 大端方式:01 02原创 2014-01-03 15:40:39 · 647 阅读 · 1 评论 -
C++中必须知道的问题
把前段时间学习c++中遇到的一些问题跟大家分享一下1.静态成员函数为什么不能声明为const2.当一个父类对象以其子类对象初始化时会发生什么3.一个类的对象所占内存是由什么决定的4.构造函数初始化列表的作用5.为什么最好不要在构造函数和析构函数中调用虚函数6.虚函数表是怎么回事7.虚函数指针vptr存在于一个对象的什么位置,其作用是什么8.一个string对象的原创 2014-01-03 15:41:40 · 805 阅读 · 0 评论 -
inline和virtual冲突吗
在CSDN上看到一个帖子,有个人提出了一个问题,下面贴出帖子的内容,个人感觉比较有意思不知道身为读者的您是否有没有类似上面两个问题的疑惑,首先应该向这位同学学习,可能有人说他肯定是个初学者,帖子中有很多这样的回复,类似说楼主死读书啊,不求甚解之列的,不乏攻击性。个人很鄙视这些人,因为其中的大部分人都在胡说八道,知其然不知其所以然,光是楼主的这份独立思考的态度就值得我们学习。好了,圆原创 2014-01-03 15:41:44 · 2161 阅读 · 0 评论 -
c++中构造函数调用另一构造函数的问题
今天去一家公司面试,笔试中碰到一个题,觉得有些意思,自己当时其实也没有完全搞清楚,这里跟大家分享一下,也算是自己做个笔记 题目如下:问下列代码的打印结果为0吗? #include #include using namespace std; struct CLS { int m_i;原创 2014-01-03 15:41:49 · 792 阅读 · 0 评论 -
C++中动态资源管理
昨天看到一个知识点觉得挺有意思的,而且自己还不是很清楚,觉得讲得很好。主题是“以对象来管理资源” C++中用得最多的就是动态的内存分配,程序中的大部分bug也都是源自于内存泄露,这也是C++相较于其他高级语言更复杂的主要原因之一,不过考虑到它强大的功能和超高的效率,这样的复杂度也是应该的,所以上天是公平的,有点扯远了。内存只是我们必须管理的资源之一,其他常用到的资源还包括文件描述符,数原创 2014-01-03 15:41:51 · 882 阅读 · 0 评论 -
C++中-如何跟踪函数和类
本文是对>中自己跟踪自己的类这章内容的一个读书笔记,其中也加上了自己的理解,这个内容页给了我很大的启发,让我更加惊叹c++是如此的强大,令人魂牵梦萦。本文的主要内容是阐述以何种方式提供有关函数执行和类操作的调试信息,调试信息在我们项目开发和调试中是非常重要的,很多时候我们是通过查看程序运行的log来分析程序的问题所在,毫无疑问,准确而高效的log会帮助我们很快定位出程序出错在哪个位原创 2014-01-03 15:41:53 · 2131 阅读 · 0 评论 -
C++ 避免隐藏继承而来的名称
关于C++中继承这个概念相比大家都很熟悉,那么子类究竟能从父类继承到哪些东西,哪些东西又是子类继承不到的呢?可能很多人都会觉得父类所有的东西都会被子类继承,包括成员函数和成员变量,否则就违背了“父子关系”这字面上的意思,其实不然,首先我们先看一小段简单的代码,这段代码很容易理解 点击(此处)折叠或打开 #includ原创 2014-01-03 15:42:02 · 609 阅读 · 0 评论 -
关于C++中虚函数表存放位置的思考
其实这是我前一段时间思考过的一个问题,是在看《深入探索C++对象模型》这本书的时候我产生的一个疑问,最近在网上又看到类似的帖子,贴出来看看: 我看到了很多有意思的答案,都回答的比较好,下面贴出一些具有代表性的: Answer 1: Answer 2:原创 2014-01-03 15:42:07 · 899 阅读 · 0 评论 -
基于C++高性能、跨平台日志模块的分析与实现
C++高性能、跨平台日志模块的分析与实现原创 2015-12-20 22:35:40 · 4276 阅读 · 1 评论 -
拷贝构造函数还是赋值运算符
// 何时调用拷贝构造函数,何时会调用赋值操作? // 记得Effective C++中有个条款是关于何时调用拷贝构造函数和赋值运算符的,觉得这个知识点挺有意思的,可能也是很多新手包括我自己比较疑惑的地方,所以就研究了一下,下面是分两种情况分别说明了何时调用拷贝构造函数和赋值运算符,当然调用拷贝构造函数的时机很多,这里仅仅列出了一种情况,这一种是比较容原创 2014-01-03 15:41:10 · 676 阅读 · 0 评论 -
对C++中含有虚基类对象模型的思考
今天看到一篇文章,上面提到了一个很有意思的问题,拿来跟大家分享一下 开门见山,下面是几个class的定义 class A { }; class B:virtual public A { }; class C:virtual public A原创 2014-01-03 15:41:07 · 580 阅读 · 0 评论 -
判断一个整数是否为2的n次幂
1.n与n-1按位相与01int bool floor_7(int num)02{03 if (num 04 {05 return false;06 }07 else08 {09 return ((num & (num - 1)) == 0) ? true : false;10 }11}2.不断相除01int Check1(int n原创 2014-01-03 15:41:03 · 1144 阅读 · 0 评论 -
Linux缺页异常(写时复制 请求调页)
在程序的执行过程中,因为遇到某种障碍而使 CPU 无法最终访问到相应的物理内存单元,即无法完成从虚拟地址到物理地址映射的时候,CPU 会产生一次缺页异常,从而进行相应的缺页异常处理。基于 CPU 的这一特性,Linux 采用了请求调页(Demand Paging)和写时复制(Copy On Write)的技术。 1.请求调页是一种动态内存分配技术,它把页框的分配推迟到不能再推迟为止。这种技术的动原创 2014-01-03 15:40:43 · 1593 阅读 · 0 评论 -
排序
排序算法1 插入排序 a.直接插入 b.希尔排序2 选择排序 a.直接选择排序 b.堆排序3. 交换排序 a.冒泡 b.快速排序#include #include int partition(int a[], int low, int high){int standard = a[low];int i=low;int j=原创 2014-01-03 15:41:01 · 503 阅读 · 0 评论 -
深入分析FFmpeg之一-打开媒体文件并读取文件头信息
三哥的技术专栏,转载请注明出处!!! 分析了一段时间的ffmpeg源代码,是时候写个笔记做个总结了。所以决定写一系列关于分析FFmpeg架构及API使用的笔记,现在计划涵盖的内容包括从打开一个媒体文件(access)到demux,然后到decode,最后render出来这整个过程,循序渐进,当然也包括转码过程, 其中每个过程我都会尽量仔细分析并对源代码注释,并给出相应的实例代码。希望原创 2014-01-03 15:41:14 · 1996 阅读 · 0 评论 -
FFmpeg深入分析之零-基础
FFmpeg是相当强大的多媒体编解码框架,在深入分析其源代码之前必须要有基本的多媒体基础知识,否则其源代码会非常晦涩难懂。本文将从介绍一些基本的多媒体只是,主要是为研读ffmpeg源代码做准备,比如一些编解码部分,只有真正了解了多媒体处理的基本流程,研读ffmpeg源代码才能事半功倍。 下面分析一下多媒体中最基本最核心的视频解码过程,平常我们从网上下载一部电影或者一首歌曲,那么相应的多原创 2014-01-03 15:41:17 · 2069 阅读 · 2 评论 -
小议垃圾回收算法
今天接到一个电话面试,幼小的心灵又被无情的重创了一次。电话那头的面试官很客气的说了下他是大众点评的,然后就开始了电话面试。心理嘀咕,不用这么高效率吧,给哥点心理准备啊,妹的,^_^.首先问了一下我基础知识,下面是部分对话内容面试官:java怎么样我:不会面试官:那你c/c++是不是比较熟我:还行说完似乎有点心理没底了,不过话都说出去了,只好硬着头皮来了,男人要浮点责任嘛原创 2014-01-03 15:41:46 · 991 阅读 · 1 评论 -
Malloc最多一次能分配多少内存
相信C/C++程序员都用过这个库函数, 这个函数时程序员申请堆中的内存,需要自己手动释放内存,所以这个函数也是Memory Leak的根源。但是malloc一次最多能申请多少内存呢,显然这个跟我们物理内存的大小和我们的系统,编译器都有一定的关系。已经不记得之前在哪里遇到过这个问题,今天忽然想起来了,于是自己做了个实验。我的开发环境是Windows7 64位,内存8G,IDE是codeblo原创 2014-01-03 15:42:12 · 7149 阅读 · 1 评论 -
C++中关于全局对象的初始化顺序
在stackoverflow上看到下面这样一个问题: 这个问题很简单,意思就是两个全局不同类的instance,其中一个依赖另一个,怎么确保他们的构造顺序。也就是说O2依赖于o1,o2被实例化之前,我们要确保o1一定要被构造出来,或者说初始化。就上面来看,如果这样两个全局变量o1和o2在同一个编译单元,说白了就是在同一个cpp文件里,那么编译器会保证按照他们出现的顺序原创 2014-01-03 15:42:14 · 5375 阅读 · 1 评论 -
虚函数表解析
C++ 虚函数表解析 转载于:http://blog.csdn.net/haoel 前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就原创 2014-01-03 15:40:41 · 526 阅读 · 0 评论 -
发布一个C++跨平台事件驱动型网络框架EasyNet
发布一个C++跨平台事件驱动型网络框架EasyNet,github地址链接是EasyNet,代码总行数不到一万行,其中还包括了protobuf自动生成的一些代码EasyNet是基于Muduo改造过来的,Muduo是一个基于C++开发的Linux服务端高性能、事件驱动型的网络框架,类似于Java中的Netty,python中的Twisted.但是Muduo仅支持LinuxEasyNet现支持的平...原创 2019-04-10 01:20:12 · 1130 阅读 · 0 评论