- 博客(6)
- 资源 (2)
- 收藏
- 关注
转载 kmp
#include #include #include using namespace std; void get_next_one(char *a, int *next) { int i = 1, j = 0; next[1] = 0; while (i < a[0] - '0') { if (j == 0 || a[i] == a[j]) { i++; j++;
2017-09-26 14:57:55 188
原创 代码相关的用法
1.char *p1="abc",*p2="abc"; cout 2.char *adsGetChar(); string filename=adsGetChar(); //直接做右值,string可以接收char * 3.string filename("abcd"); string plus("abcdef",3); string tw(3,'a');
2017-09-19 16:02:15 298
转载 自己看3
1.double-check的代码 if(NULL==ptr){ //确保在ptr是NULL的时候采取获取锁并舱室构造对象 pthread_mutex_lock(&locker); if(NULL==ptr){ //避免重复操作和内存泄漏,因为ptr在执行完pthread_mutex_lock(&loker)之后别的线程 ptr=new type; //已经为pt
2017-09-14 16:33:12 225
转载 多文件相关
1.全局变量(多个文件使用一个全局变量) 在其中一个文件中定义unsigned char key=' ';然后在其他文件中用extern unsigned char key;(不需要包含关系) 头文件里一般不定义全局变量,因为被多个实现文件包含时候就会“重定义”,头文件只声明全局变量。头文件不要定义任何变量。 2.全局静态变量 如果在实现文件中定义static全局变量,则只在本文件中有作用
2017-09-13 17:57:58 159
原创 计算机系统知识
1.x86,x64,64位,32位 x86代表32位,x64代表64位 32位系统分页大小为4K,寻址位宽为32,因此第0页的地址0x0000 0000,第1页为0x0000 1000 32位中高20位标记物理页,剩余12位添加其他标记信息,就可以支持2的20次方*4096(2的12次方)=4GB内存 2.字节对齐 64位默认8字节对齐,32位默认是4字节对齐 3.数字常量 long
2017-09-01 18:12:40 261
转载 字节对齐
1.为什么要字节对齐 内存按byte(字节)划分,而数据类型最小的也就一个字节,所以理论可以从任何地址开始访问,但实际访问特定 类型变量的时候经常在特定的内存地址访问。不同数据类型按一定规则在空间排列,而不是顺序排列,这就需要字节对齐。 2.几个术语 自身对齐值:数据类型自身的大小(sizeof) 指定对齐值:编译器指定按几个字节进行对齐 有效对齐值:自身对齐值和指定对齐值较小的那一个
2017-09-01 10:25:56 401
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人