摘要: c++ 对象依其生存空间,适当的按照一定顺序被析构,但是如果发生异常情况,而程序设计了异常处理程序,控制权就会截弯取直地“直接跳”到你所设定的处理程序去,这时候堆栈中的c++对象有没有机会析构?这得视编译器而定。如果 编译器支持unwinding功能,就会在一个异常情况发生时,将堆栈中的所有对象都析构掉 阅读全文
posted @ 2012-07-06 17:30 MarvinGeng 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 静态全局对象 构造函数 的调用操作必须靠startup代码帮忙startup代码可能做些函数库初始化、进程信息设立、I/O stream 产生等操作,以及对static对象的初始化操作(也就是调用其构造函数) 阅读全文
posted @ 2012-07-06 17:15 MarvinGeng 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 如果楼主不想修改x里的内容(I'think)那么可以用replace函数x=replace(x,"'","''")在SQL的查询条件中加入单引号,各破坏SQL的语法,属于SQL注入范筹严格来讲,如果加入单引号会出错,这样说明另一个程序的BUG,就是没有对查询条件进行过滤系统存在SQL注入安全缺陷。 阅读全文
posted @ 2012-07-06 14:08 MarvinGeng 阅读(3076) 评论(0) 推荐(0) 编辑
摘要: 程序中的局部变量存放在栈中,因而不能太大,如:double a[1000][1000];就可能不能通过编译。用户动态分配的内存,分配于堆中,可以很大。如double **a = new double *[1000];for(int i = 0; i < 1000; ++i) a[i] = new double [1000]; 阅读全文
posted @ 2012-07-06 13:45 MarvinGeng 阅读(148) 评论(0) 推荐(0) 编辑