C/C++
EricGogh
热爱技术,严谨务实的工程师
展开
-
C++中的内存对齐
C++的一道题 #include "iostream" #include "string" using namespace std; //#pragma pack(1) struct student { char name[17]; double j; char sex; char g; char h; }stu; struct s { char name[转载 2012-03-23 14:12:24 · 690 阅读 · 0 评论 -
C/C++ 内存布局
C/C++程序运行时,内存区域的使用主要由下面几部分组成: 1. 栈区(stack):由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2. 堆区(heap):一般由程序员分配释放, 若程序员不释放,程序结束时可能由系统回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。 3. 全局区(静态区)(static):全局变量和静态变量的存储是原创 2012-05-01 22:17:46 · 1419 阅读 · 0 评论 -
再谈面向对象多态及C++实践
多态特性: 提起面向对象,很自然地想到三大特性:封装、继承、多态。他们的目录分别是: 1. 封装,使代码模块化封装内部结构和状态。 2. 继承,用于扩展原有代码。 3. 多态,方便接口重用,通过同一接口和传入的对象调用适用于不同对象的实现。多态在运行时绑定函数,而非多态则在编译期就已确定了函数的调用地址。 从架构设计的层面来看多态有什么好处呢?将源码和运行的依赖进行反转。 通常原创 2014-11-27 15:14:48 · 987 阅读 · 0 评论 -
服务端性能分析优化
要提高服务端处理的绝对性能和伸缩性,通常分析以下几点: 1. 数据拷贝 2. 上下文切换 3. 内存分配 4. 锁的争用原创 2014-04-21 15:42:32 · 1019 阅读 · 0 评论