![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 71
似缘非缘
工作2年
展开
-
C代码与C++代码之间的相互调用
1、showCpp.cpp#include using namespace std;extern "C" void ShowCPP(){ cout<<"I'm printed by CPP codes."<<endl;}2、codeofC.c#include void Show(){ printf("Hello, I'm printed by C code.\n");原创 2015-04-13 14:39:00 · 778 阅读 · 0 评论 -
C++笔记(一)
关于constint i = 0;// 以下两种声明等同,int类型的常量const int a = 1;int const b = 1;// 指向常量int类型的引用const int &c = b;// 指向int类型的常量引用int &const d = i;// 指向常量int类型的常量引用const int &const e = a;// 指向常量int类型原创 2015-05-04 23:03:38 · 494 阅读 · 0 评论 -
C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区
C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。在一个进程中,位于用户虚拟地址空间顶部的是用户栈,编译器用它来实现函数的调用。和堆一样,用户栈在程序执行期间可以动态地扩展和收缩。 堆,就是那些由 new 分配的内存块,他们的释放编译器不去转载 2015-05-07 22:14:20 · 373 阅读 · 0 评论 -
C++ operator new 重载(两个参数)
#include class A{public: int i;public: void* operator new (size_t a, size_t b) { std::cout << "a: " << a << ",b: " << b << std::endl; return NULL; }};int main(){ A *pInt = NULL; pI原创 2015-09-01 23:25:38 · 2276 阅读 · 0 评论 -
pthread库实现一个简单的任务池
pthread库实现一个简单的任务池类关系图:说明: 1:TaskManager类管理Task类,Task类是一个纯虚类; 2:ThreadManager类管理Thread类,Thread类封装pthread库的相关线程函数; 3:Thread类通过TaskManager类获取需要执行的任务; 4:ThreadMa原创 2016-02-28 21:58:55 · 609 阅读 · 0 评论 -
使用std::map和std::list存放数据,消耗内存比实际数据大得多
使用std::map和std::list存放数据,消耗内存比实际数据大得多 场景:项目中需要存储一个结构,如下程序段中TEST_DATA_STRU,结构占24B。但是使用代码中的std::list类存储4000个DataListMap,每个DataListMap中有4个pairs,每个pair中的DataList中有6000个items时,消耗掉的内存几乎是我们存放TEST_原创 2016-04-14 22:30:18 · 2850 阅读 · 0 评论 -
字符界面的贪吃蛇--链表--C++
前天看了下链表原创 2014-05-06 20:09:03 · 4439 阅读 · 1 评论