C++
chuanshaoke
这个作者很懒,什么都没留下…
展开
-
堆(Heap)和栈(Stack)的区别
堆(Heap)和栈(Stack)的区别 1、 内存分配方面 堆:一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式是类似于链表。可能用到的关键字如下:new、malloc、delete、free等等。 栈:由编译器(Compiler)自动分配释放,存放函数的参数值,局部变转载 2012-03-30 01:02:24 · 409 阅读 · 0 评论 -
C++接口的定义与实现的详细过程
C++接口的定义与实现的详细过程1.接口的定义与实现所谓的接口,即将内部实现细节封装起来,外部用户用过预留的接口可以使用接口的功能而不需要知晓内部具体细节。C++中,通过类实现面向对象的编程,而在基类中只给出纯虚函数的声明,然后在派生类中实现纯虚函数的具体定义的方式实现接口,不同派生类实现接口的方式也不尽相同,从而实现多态。现通过一个简单的实例讲解具体实现步骤(⊙o⊙)转载 2017-08-11 18:15:46 · 5711 阅读 · 0 评论 -
什么是字节对齐,为什么要对齐?
一.什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据转载 2012-07-07 14:05:40 · 1672 阅读 · 0 评论 -
extern "C"的作用
extern "C"的作用2010年05月13日 星期四 17:48一、修饰名(Decorated Name)C/C++程序中的函数在内部是通过修饰名来标识的。修饰名是在函数定义或原型编译阶段由编译器创建字符串。当你在LINK等工具中要指定一个函数名时,会用到修饰名。1、使用修饰名:大多数情况下,你不必知道函数的修饰名是什么。连接器等工具通常都能处理函数未修饰的名字。然而,转载 2012-07-06 17:14:07 · 394 阅读 · 0 评论 -
星号的秘密
星号的秘密转载于:http://blog.csdn.net/keensword/article/details/4005771、乘法运算符 2、定义指针int *p = 0; 还是 int* p = 0;?后一种比较容易这样理解:定义了一个变量p,它是指针型的(更详细一点,是指向int的指针型),相比而言,前面一种定义似乎是定义了*P这个奇怪的东西。但是后面一种转载 2012-06-20 23:53:13 · 386 阅读 · 0 评论 -
解析“extern”
解析“extern”源文地址:http://blog.csdn.net/keensword/article/details/401114#1、 声明外部变量现代编译器一般采用按文件编译的方式,因此在编译时,各个文件中定义的全局变量是互相透明的,也就是说,在编译时,全局变量的可见域限制在文件内部。下面举一个简单的例子。创建一个工程,里面含有A.cpp和B.cpp两转载 2012-06-20 23:51:40 · 297 阅读 · 0 评论 -
函数原型中的restrict关键字
函数原型中的restrict关键字分类: Linux 2010-08-24 11:24308人阅读 评论(0)收藏 举报 一个Linux C函数的原型如下:int pthread_cond_timedwait(pthread_cond_t *restrict cond, pthread_mutex_t *restrict mutex,转载 2012-07-05 17:35:03 · 640 阅读 · 0 评论 -
想成为嵌入式程序员应知道的0x10个基本问题
C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。 从被面试者的角度来讲,你能了解许多关于出题者或监考者的情况。这个测试只是出题者为显示其对ANSI标准细节的知识而不是技术技巧而设计吗?这是个愚蠢的问题吗?如要你答出某个字符的ASCI转载 2012-06-19 15:22:22 · 318 阅读 · 0 评论 -
C++ 直方图匹配算法代码
C++ 直方图匹配算法代码分类: VC++ 数字图像处理2009-10-12 08:17 1907人阅读 评论(3)收藏 举报////////////////////////////////////////////////////////////////////////////函数名称: histeq()//传入参数: // BYTE*dstDa转载 2012-05-08 14:34:19 · 643 阅读 · 0 评论 -
C/C++ 笔试、面试题目大汇总
C/C++ 笔试、面试题目大汇总1.求下面函数的返回值(微软)int func(x) { int countx = 0; while(x) { countx ++; x = x&(x-1); } return countx; } 假定x = 9999。 答案:8思路:将x转化为2进制,看含有的1的个数。2. 什么是“引用”?申明和使用“引用”转载 2012-03-19 22:58:35 · 288 阅读 · 0 评论 -
如何有效解决C与C++的相互调用问题
在实际工作中可能经常要进行C和C++的混合编程,C++调用C语言的代码通常都比较容易,但也有一些细节需要注意。C要调用C++的代码就略为麻烦一些,因为C不支持面向对象的特征。首先我们来看一下C++调用C语言的代码。要让你的C代码既能被C代码又能被C++调用虽说容易,但是还是有需要注意的地方。现有三个文件分别如下:/* file TestC.h */#ifndef TESTC_H#d转载 2012-03-15 20:51:44 · 284 阅读 · 0 评论 -
Visual C++开发工具与调试技巧整理
分类: VC++程序设计 2011-05-19 23:10 44人阅读 评论(0)收藏举报Visual C++开发工具与调试技巧整理自己总是用VC平台来开发东西,但是有时候总是出这样那样的问题,呵呵,总是需要上网查资料来解决,在这里把自己用到上网查的一些技巧摘录如下,希望对大家有用,省去大家再去搜索的烦恼。1.如何在Release状态下进行调试Project->Se转载 2012-03-14 13:12:00 · 765 阅读 · 0 评论 -
dlg.DoModal()介绍
使用有模式对话框时在对话框弹出后调用函数不会立即返回,而是等到对话框销毁后才会返回(请注意在对话框弹出后其他窗口的消息依然会被传递)。所以在使用对话框时其他窗口都不能接收用户输入。创建有模式对话框的方法是调用CDialog::DoModal()。下面的代码演示了这种用法: CYourView::OnOpenDlg() { CYourDlg dlg; int iRet=dlg.DoModal...转载 2018-04-13 14:23:01 · 6161 阅读 · 0 评论