c/c++
文章平均质量分 78
MagicxiaoZ
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C语言编译全过程
编译的概念:编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。 编译的完整过程:C源程序-->预编译处理(.c)-->编译、优化程序(.s、.asm)-->汇编程序(.obj、.o、.a、.ko)-->链接程序(.exe、.elf、.axf等)1转载 2009-07-26 22:19:00 · 775 阅读 · 0 评论 -
c++内存到底分几个区?!
一个由c/C++编译的程序占用的内存分为以下几个部分 (大致有3种说法) 一:1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局原创 2009-07-24 13:19:00 · 4296 阅读 · 0 评论 -
c++变量初始化(猜想......)
全局的、名字空间的、静态的对象会被自动初始化适当类型的0。堆,容器中和类的显式空构造函数的对象会被调用其构造函数初始化,但并不会被初始化为相应的0,(没有数组)如 char ch[10]; for(int i = 0; i cout 结构和类成员的初始化:谈到结构和类成员,除非提供显示的构造函数进行初始化,否则可以分为以下两种(是否用默认构造函数初始化):c原创 2009-07-24 16:58:00 · 1257 阅读 · 0 评论 -
将文件之间的编译依赖关系降至最低
考虑这样几个类,A、a1、a2、B,其中A和B是要暴露给用户的类。 1.最初组织关系如下: //a1.h#include class a1{public: void DoSomething() { std::cout }}; //a2.h#include class a2{public: void DoSomething() { std::cout }};原创 2009-08-24 15:52:00 · 1393 阅读 · 0 评论 -
C++/VC++ 命名及其他规范
第一部分:共性规则共有八项。作为指导供成员采纳。【规则1】标识符应简单明了,望文知意。标识符采用英文单词。切忌使用汉语拼音来命名。程序中的英文单词一般不要太复杂,用词应当准确。例如不要把CurrentValue写成NowValue。尽量不要使用单词缩写或首字母缩写。只有当标识符过长时才考虑使用单词缩写。在使用缩写时,不要自创缩写,尽量使用被广泛接受的缩写。原创 2009-07-03 23:19:00 · 3767 阅读 · 2 评论 -
C++中extern “C”含义深层探索
C++中extern “C”含义深层探索1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重转载 2009-07-07 13:45:00 · 794 阅读 · 0 评论 -
运用比较器实现机制(函数对象和指针对象)实现最大堆和最小堆
先来看STL源码://priority_queue模板源码:templateclass_Container = vector,class_Pr = less >classpriority_queue{ // priority queue implemented with a _Containerpublic: explicitpriority_queue(const_Pr& _Pred) : c(), comp(_Pred) { //To u原创 2011-03-08 21:10:00 · 1083 阅读 · 0 评论
分享