C/C++基础
文章平均质量分 79
badboyfind
这个作者很懒,什么都没留下…
展开
-
堆和栈的区别
堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(sta原创 2007-06-25 14:28:00 · 916 阅读 · 0 评论 -
模板的具体实现 ―― 模板的实例化(instantiation)或具体化(specialization)
1.函数模板函数模板定义的一般格式为:template 类型形参名1,... ,class 类型形参名n > 返回类型 函数模板名 ( 形参表 ) { 函数体 }注意: 1) 应在“返回类型”或“形参表”或“函数体”中使用上述的“类型形参名” 。 2) 调用处则类似于一般函数,用户只需给出具体的实参。 3) 模板函数调用时转载 2007-10-18 09:32:00 · 2266 阅读 · 0 评论 -
Bjarne Stroustrup's C++ Style and Technique FAQ
Bjarne Stroustrups C++ Style and Technique FAQModified August 17, 2007 These are questions about C++ Style and Technique that people ask me often. If you have better questions or comments on转载 2007-09-23 16:54:00 · 1762 阅读 · 0 评论 -
关于析构函数
注意:#include class Base{public: Base(){cout ~Base(){cout}; class Derived: public Base{public: Derived(){cout ~Derived(){cout}; void main(){原创 2007-09-23 16:52:00 · 957 阅读 · 0 评论 -
修练8年C++面向对象程序设计之体会
六年前,我刚热恋“面向对象”(Object-Oriented)时,一口气记住了近十个定义。六年后,我从几十万行程序中滚爬出来准备写点心得体会时,却无法解释什么是“面向对象”,就象说不清楚什么是数学那样。软件工程中的时髦术语“面向对象分析”和“面向对象设计”,通常是针对“需求分析”和“系统设计”环节的。“面向对象”有几大学派,就象如来佛、上帝和真主用各自的方式定义了这个世界,并留下一堆转载 2007-09-23 12:52:00 · 1391 阅读 · 3 评论 -
RTTI、虚函数和虚基类的开销分析及使用指导
“在正确的场合使用恰当的特性” 对称职的C++程序员来说是一个基本标准。想要做到这点,首先要了解语言中每个特性的实现方式及其开销。本文主要讨论相对于传统C而言,对效率有影响的几个C++新特性。C++引入的额外开销体现在以下两方面:编译时开销 模板、类层次结构、强类型检查等新特性,以及大量使用了这些新特性的C++模板、算法库都转载 2007-09-23 16:10:00 · 5037 阅读 · 0 评论 -
关于C/C++语言字节对齐
关于C/C++语言字节对齐 数据类型 char short原创 2007-06-11 09:32:00 · 2169 阅读 · 0 评论 -
C++引用与const引用
C++引用与const引用(1)在实际的程序中,引用主要被用做函数的形式参数--通常将类对象传递给一个函数.引用必须初始化. 但是用对象的地址初始化引用是错误的,我们可以定义一个指针引用.int ival = 1092;int &re = ival; //okint &re2 = &ival; //错误int *pi = &ival;int *&pi2 = pi; //ok(2原创 2007-07-04 17:34:00 · 1506 阅读 · 0 评论 -
16道嵌入式C语言面试题(经典)
16道嵌入式C语言面试题(经典) 预处理器(Preprocessor1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1). #define 语法的基转载 2007-06-25 17:01:00 · 5524 阅读 · 0 评论 -
调用约定
在C语言中,假设我们有这样的一个函数:int function(int a,int b) 调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算机没有办法知道一个函数调用需要多少个、什么样的参数,也没有硬件可以保存这些参数。也就是说,计算机不知道怎么给这个函数传转载 2007-11-20 10:52:00 · 915 阅读 · 0 评论