int a[5] = {9,16,23,30,37}; int *ptr = (int*)(&a +1); printf("%d,%d",*(a+1),*(ptr-1));指针*(a+1)的值为:数组a的指针偏移指向a[0+1];指针*(ptr-1)的值为:取地址数组a,(&a+...
分类:
其他好文 时间:
2015-09-29 14:35:57
阅读次数:
117
今天调试程序的时候,发现一个奇怪的问题,之前调试都没问题的,今早加了一点东西,就出现错误,跳到调试位置,如下4行红色部分1 ; Find next lower page and probe2 cs20:3 sub eax, _PAGESIZE_ ; decre...
分类:
编程语言 时间:
2015-09-29 11:16:21
阅读次数:
206
templateclass ThreadsafeList{ struct Node { std::mutex m; std::shared_ptr data; std::unique_ptr next; Node(): ...
分类:
编程语言 时间:
2015-09-29 09:49:25
阅读次数:
237
templateclass ThreadsafeQueue{private: struct Node { std::shared_ptr data; std::unique_ptr next; }; std::unique_...
分类:
编程语言 时间:
2015-09-26 10:24:56
阅读次数:
232
在C++中,类的对象建立分为两种,一种是静态建立,如A a;另一种是动态建立,如A* ptr=new A;这两种方式是有区别的。 静态建立一个类对象,是由编译器为对象在栈空间中分配内存,是通过直接移动栈顶指针,挪出适当的空间,然后在这片内存空间上调用构造函数形成一个栈对象。使用这种方法,直接调...
分类:
其他好文 时间:
2015-09-25 16:21:23
阅读次数:
297
#ifndef HANDLE_H#define HANDLE_H #include "Animal.h"template class Handle{ public: Handle(T *ptr); Handle(const Handle &other); ...
分类:
编程语言 时间:
2015-09-23 21:08:22
阅读次数:
217
templateclass Queue{private: struct Node { T data; std::unique_ptr next = nullptr; Node(T _data): ...
分类:
编程语言 时间:
2015-09-23 16:19:46
阅读次数:
247
学的还是不满意,对于智能指针还是有几个误区:1. 对于 unique_ptr sp1,觉得在 auto sp2 = std::move(sp1) 之后,其所管理的指针的资源会因为 sp1 的析构而导致其释放,后来发现并不是,move 操作只是管理权的移交,所以其存储的裸指针所分配的资源并不会被释放。...
分类:
其他好文 时间:
2015-09-23 13:12:41
阅读次数:
204
#include #include using namespace std;#includeclass sp_base{public: virtual void del(void* obj) = 0; void inc_ref(){ ref_count_++; } ...
分类:
编程语言 时间:
2015-09-21 14:12:27
阅读次数:
264
一. TcpServer分类:管理所有的TCP客户连接,TcpServer对于用户直接使用,直接控制由用户生活。用户只需要设置相应的回调函数(消息处理messageCallback)然后TcpServer::start()就可以。主要数据成员: boost::scoped_ptr accept...
分类:
其他好文 时间:
2015-09-21 09:12:16
阅读次数:
265