从事实时计算多年,熟悉jstorm/spark/flink/kafka/rocketMq, 热衷于开源,希望在这里和前辈们一起学习与分享,得到长足的进步!邮箱:hustfxj@gmail.com 我的githup地址是:https://github.com/hustfxj。欢迎和大家一起交流探讨问题。
发布时间:2014-03-03 20:09:08
【整理】只能在堆或栈上创建对象?1. 只能在堆(heap)上创建对象/禁止产生栈(stack)对象 创建栈对象时会移动栈顶指针以“挪出”适当大小的空间, 再在这个空间上直接调用对应的构造函数以形成一个栈对象, 而当函数返回时会调用其析构函数释放这个对象, 再调整栈顶指针收.........【阅读全文】
发布时间:2014-02-18 15:06:03
方法一:使用ATL宏有比MultiByteToWideChar和WideCharToMultiByte更简单的字符串转换宏,你相信吗?头文件d:/program files/microsoft visual studio 8/vc/atlmfc/include/atlconv.h如果要使用ATL字符串转换宏,请先定义USES_CONVERSION; // 只需要调用一次,就可以在函数中进行多次转换下面一个例子: .........【阅读全文】
发布时间:2013-11-04 09:03:58
在C++的TR1中(Technology Report)中包含一个function模板类和bind模板函数,使用它们可以实现类似函数指针的功能,但却却比函数指针更加灵活,特别是函数指向类 的非静态成员函数时。可以参考Scott Meyers. <<Effective C++ (3rd Edition)>>. Item 35.下面具体说明其使用方法。一、指向全局函数或静态成员函数时.........【阅读全文】
发布时间:2013-09-14 13:43:50
C++语言本身或标准程序库所抛出的所有异常,都派生自基类exception。这是其他数个标准异常类别的基类,它们共同构成一个类体系:图一 标准异常阶层体系这些标准异常类别分为三组:(1)语言本身所支持的异常此类异常用以支撑某些语言特性。主要包括:bad_alloc:new操作失败会抛出。bad_cas.........【阅读全文】
发布时间:2013-08-31 16:49:56
全局区(静态区)(static)--,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在 一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。堆:首先应该知道操作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时,会遍历该链表,寻找第一个空间大于所申请空.........【阅读全文】
发布时间:2013-08-30 20:42:02
placement new是重载operator new的一个标准、全局的版本,它不能被自定义的版本代替(不像普通的operator new和operator delete能够被替换成用户自定义的版本)。它的原型如下:void *operator new( size_t, void *p ) throw() { return p; } 首先我们区分下几个容易混淆的关键词:new、oper.........【阅读全文】
发布时间:2013-08-30 20:25:55
解析new平常使用的new都是new operator(new操作符),它是语言内置的,无法重载。new的第一种写法://call new operatorint *p = new int(3);调用new operator后做了两件事:1、调用operator new分配内存。2、调用构造函数初始化对象。operator new声.........【阅读全文】