自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (1)
  • 收藏
  • 关注

转载 C指针的初始化与赋值

1、指针的初始化初看起来,指针的初始化和赋值好像很混乱,又是*,又是&,时不时又出来一个数组。其实总结起来很简单:int *p;int a=25;int b[10];int *m=&a;int *n=b;int *r=&b[0];指针的定义如上所示,以*打头的变量代表该变量为指针变量。指针初始化时,“=”的右操作数必须为内存中

2012-03-23 10:22:55 630

转载 段错误的处理

编译时遇见了段错误,很多时候新手都会发现段错误,其实都是内存分配错误引起的:即用定义指针直接赋值的,那么char *p="aaa",其实和const char *p ="aaa";是一样的,都在常量区,处于静态存储区,是只读的,不可修改的,"aaa",是固定存放在.rdata段的。如果对该只读的进行操作,那么系统就会提示“段错误”!注意:上面的p是指针,在堆栈中,指向“aa

2012-03-23 10:09:27 835

转载 linux 查找字符串

find /usr/linux -name "*.h" | xargs -n50 grep SYSCALL_VECTOR

2012-03-15 09:36:42 311

转载 hash索引和btree索引的区别

索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。可 能很多人又有疑问了,既然 Hash 索引的效率要比 B-Tree 高很多,为什么大家不都用 Hash 索引而还要使用 B-Tree 索引呢?任何事物都是有两面性的,Hash 索引也

2012-02-29 20:25:55 426

原创 暴雪 hash

int GetHashTablePos(char *lpszString, MPQHASHTABLE *lpTable, int nTableSize){  const int HASH_OFFSET = 0, HASH_A = 1, HASH_B = 2;int nHash = HashString(lpszString, HASH_OFFSET);int nHashA = Ha

2012-02-09 10:42:40 554

转载 STL set实际上是个二叉搜索平衡数

stl的set是维护一个有序不重集合,用rbtree实现的,所以插入效率为nlogn;set的插入效率不高的,set用红黑树作内部数据结构,插入和删除节点时,有可能导致节点被重新着色或者旋转,最坏情况下,单次删除时间复杂度为O(log2N),因此性能并不是很高。#include #include #include using namespace std;

2012-01-04 17:06:39 551

转载 拷贝构造函数的作用

拷贝构造函数,经常被称作X(X&),是一种特殊的构造函数,他由编译器调用来完成一些基于同一类的其他对象的构件及初始化。它的唯一的一个参数(对象的引用)是不可变的(因为是const型的)。这个函数经常用在函数调用期间于用户定义类型的值传递及返回。拷贝构造函数要调用基类的拷贝构造函数和成员函数。如果可以的话,它将用常量方式调用,另外,也可以用非常量方式调用。 在C++中,下面三种对象需要拷贝的情况

2011-12-16 15:03:04 1302

转载 C#的 GC工作原理基础

作为一位C++出身的C#程序员,我最初对垃圾收集(GC)抱有怀疑态度,怀疑它是否能够稳定高效的运作;而到了现在,我自己不得不说我已经逐渐习惯并依赖GC与我的程序“共同奔跑”了,对“delete”这个习惯于充当罪魁祸首的关键字也渐渐产生了陌生感。然而实践证明,我对GC的过分信赖却招致了很多意想不到的错误,这也激励了我对GC的运作机制作深入一步的了解。随后我开始翻书,查资料,终于对GC有了一个比较完整

2011-12-16 14:38:32 680

转载 C++ const 指针

const在面试的时候考得多,特地小结一下。1,const是修饰符,它表示某个对象是常量,即不能修改,而C++没能彻底抛弃指针这个C留下的遗产而有些尴尬,指针是比较圆滑的家伙,它有双重身份,有时表示它自己,有时表示它所指的对象(所以C++建议我们尽量用引用而不是指针)const double e;// errorconst double pi=3.14;// ok,需要初始

2011-12-16 13:43:11 633

转载 TCP扫描器的简单实现

//TcpPortScanner.cc  #include   #include   #include   #include   #include   #include   using namespace std;    int main(in

2011-09-15 14:41:17 400

转载 进程间通信---命名管道

函数原型:int mkfifo(const char *pathname, mode_t mode);函数说明:创建一个命名管道,如果成功则返回0,,否则返回-1 函数原型:int open(const char *pathname, int flag);

2011-09-15 14:27:28 286

转载 oracle sql调优学习笔记(四)各种index access的方式

select /*+ index(employee IDX_EMP_1) */employee_id from employee;-----------------------------------------------------------------------

2011-09-08 14:00:32 554

转载 oracle sql调优学习笔记(三)表的连接方式:NESTED LOOP、HASH JOIN、SORT MERGE JOIN

表连接方式及使用场合NESTED LOOP    对于被连接的数据子集较小的情况,nested loop连接是个较好的选择。nested loop就是扫描一个表,每读到一条记录,就根据索引去另一个表里面查找,没有索引一般就不会是 nested loops。一般

2011-08-19 10:38:51 921

转载 oracle sql调优学习笔记(二)RBO Query Tuning 之Row cache order

If two access methods have the same rank, then the RBO makes an arbitrary decision:SQL> conn scott/tiger@ipradev;Connected to Oracle Dat

2011-08-12 15:48:50 442

原创 oracle sql调优学习笔记(一)dbms_xplan包的输出

dbms_xplan包能够显示存储在三个不同地方的执行计划:plan_table,library cache,awr中。 下面分别简单介绍display函数,display_cursor函数,display_awr函数的几个参数输入和基本用法:display函数(搭配ex

2011-08-12 14:59:27 1865

转载 throw an exception

<br /><br />When implementing your own methods, you should throw an exception when the method<br />cannot complete its task as indicated by its name. When you want to throw an exception,<br />there are two issues that you really need to think about and con

2010-06-08 15:15:00 619

原创 辅助线程与后台线程

在一个多线程应用程序中,让所有的辅助线程 (worker thread)完成相同的工作是最简单的情况。辅助线程是那些正在完成与保持应用程序在响应状态无关的处理活动的线程,并且既可以是手工创建的线程又可以是线程池线程。辅助线程不等同于后台线程,后台线程是指那些不会阻止进程结束的线程。当所有的辅助线程正在完成同一任务时,在线程之间发生的调度数量是最少的。每一个线程是在并不必知道其他线程的情况下

2009-12-08 14:37:00 711

翻译 exceptions be caught by catch

try 中执行的语句抛出的异常被捕获,CLR开始在catch中找与之匹配的exception,如果没有找到,CLR会继续寻找调用堆栈中相匹配的异常类型,找到改堆栈的top之后,如果还是没有想匹配的异常类型,成为unhandled exception。当所有的finally都被执行过之后,catch 执行,代码执行一些操作从异常中恢复过来,在catch段最后,可以做三个选择:重新抛出同样的异

2009-11-03 16:19:00 506

原创 关于ref

 今天coding过程中突然发现一个问题,就是关于ref的用法,以前用ref也是传递值类型的数据,现在传递引用类型不用ref成不成?下面是一个让人混淆的例子 class One { private string s = "hao"; public string S { get;

2009-10-30 14:51:00 441

翻译 threads开销很大

创建一个线程并不省事,一个线程内核对象被构造并初始化,每一个线程被预留有1MB的寻址空间当做用户态的堆栈,和12KB的内核态堆栈,当创建完一个线程时,windows对于进程中的每个dll都调用一个方法告诉这些dll一个新的线程被创建了。销毁一个线程也不省事,进程中调用的每个dll被通知线程即将被销毁,内核中的线程对象和堆栈也被销毁。 

2009-10-12 10:07:00 323

原创 多线程为什么要Double-Check Locking

public static Singleton Value{   get {        // Has the singleton object already been created?        if (s_value == null) {        // No, only one thread should create it        lock (s_

2009-10-09 15:26:00 781

applied.Microsoft .net framework programming

applied .net framework programming英文版,此本书为.net开发人员必看

2008-10-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除