2014年8月11日
摘要: 1、ClassTest ct1("ab");这条语句属于直接初始化,它不需要调用复制构造函数,直接调用构造函数ClassTest(const char *pc),所以当复制构造函数变为私有时,它还是能直接执行的。2、ClassTest ct2 = "ab";这条语句为复制初始化,它首先调用构造函数C... 阅读全文
posted @ 2014-08-11 15:11 老金 阅读(483) 评论(0) 推荐(0) 编辑
  2014年7月24日
摘要: 啥叫内连接 外连接我们知道编译的时候(假如编译器是VS),是以源文件cpp文件为单位,编译成一个个的obj文件,然后再通过链接器把不同的obj文件链接起来.简单的说,如果一些变量或函数的定义是内连接的话,链接器链接的时候就不会拿它们去与obj比较看有重复定义不,一个源文件中的extern声明的变量或... 阅读全文
posted @ 2014-07-24 14:53 老金 阅读(2186) 评论(0) 推荐(0) 编辑
  2013年9月23日
摘要: 一、事务隔离级别ANSI/ISO SQL标准定义了4中事务隔离级别:未提交读(read uncommitted),提交读(read committed),重复读(repeatable read),串行读(serializable)。对于不同的事务,采用不同的隔离级别分别有不同的结果。不同的隔离级别有不同的现象。主要有下面3种现在:1、脏读(dirty read):一个事务可以读取另一个尚未提交事务的修改数据。2、非重复读(nonrepeatable read):在同一个事务中,同一个查询在T1时间读取某一行,在T2时间重新读取这一行时候,这一行的数据已经发生修改,可能被更新了(update), 阅读全文
posted @ 2013-09-23 10:07 老金 阅读(8828) 评论(1) 推荐(1) 编辑
  2013年9月16日
摘要: linux 多线程信号编程总结 linux 多线程信号总结(一) 1. 在多线程环境下,产生的信号是传递给整个进程的,一般而言,所有线程都有机会收到这个信号,进程在收到信号的的线程上下文执行信号处理函数,具体是哪个线程执行的难以获知。 2 signal函数BSD/Linux的实现并不在信号处理函数调用时,恢复信号的处理为默认,而是在信号处理时阻塞此信号,直到信号处理函数返回。其他实现可能在调用信号处理函数时,恢复信号的处理为默认方式,因而需要在信号处理函数中重建信号处理函数为我们定义的处理函数,在这些系统中,较好的方法是使用sigaction来建立信号处理函数。 3 发送信号给进程... 阅读全文
posted @ 2013-09-16 15:32 老金 阅读(811) 评论(0) 推荐(0) 编辑
  2013年2月22日
摘要: linux 多线程信号编程总结linux 多线程信号总结(一)1. 在多线程环境下,产生的信号是传递给整个进程的,一般而言,所有线程都有机会收到这个信号,进程在收到信号的的线程上下文执行信号处理函数,具体是哪个线程执行的难以获知。2 signal函数BSD/Linux的实现并不在信号处理函数调用时,恢复信号的处理为默认,而是在信号处理时阻塞此信号,直到信号处理函数返回。其他实现可能在调用信号处理函数时,恢复信号的处理为默认方式,因而需要在信号处理函数中重建信号处理函数为我们定义的处理函数,在这些系统中,较好的方法是使用sigaction来建立信号处理函数。3 发送信号给进程,哪个线程会收到?A 阅读全文
posted @ 2013-02-22 15:23 老金 阅读(472) 评论(0) 推荐(0) 编辑
  2013年2月1日
摘要: 转自 http://blog.chinaunix.net/uid-24098129-id-312659.htmlBy fireworks2@foxmail.com修订:2011-06-11背景知识:· 在linux/unix中的信号处理机制,知道signal函数与sigaction的区别· 段错误的概念,CPU中断处理的步骤,中断向量表的分类· 知道CPU Exception分为Fault、trap和abort,了解他们的基本区别· 段错误和浮点错误属于Fault,产生Fault时会将出错指令的地址入栈,而不是下一条将执行指令的地址· 在lin 阅读全文
posted @ 2013-02-01 14:20 老金 阅读(1375) 评论(0) 推荐(0) 编辑
  2013年1月5日
摘要: c99中新增加了一个类型定义,就是restrict。 restrict的定义是It can be applied only to pointers, and it indicates that a pointer is the sole initial means of accessing a data object. 我不知道确切应该怎么翻译,大意是restrict只对指针有用,它声明一个指针是唯一初始化访问一个数据对象。 比如,按照书上的例子:int ar[10];int * restrict restar = (int *) malloc(10 * sizeof(int));int * 阅读全文
posted @ 2013-01-05 13:38 老金 阅读(367) 评论(0) 推荐(0) 编辑
  2012年11月14日
摘要: SMTP协议和POP3协议就不详细阐述了 ,网上一搜索会有一大把给你解释的。下面直接贴代码:首先写一个class Sock类,这个类的功能主要是创建套接字(即int sock),用套接字來连接邮箱服务器。类里面还带有send_socket和recv_socket两个函数,其功能分别是向邮箱服务器发送协议指令和接收服务器反馈回来的信息。sock.h文件[cpp] 1 #ifndef __SOCK_H__ 2 #define __SOCK_H__ 3 4 #include <iostream> 5 #include <sys/socket.h> 6 #include < 阅读全文
posted @ 2012-11-14 13:30 老金 阅读(8403) 评论(0) 推荐(0) 编辑
  2012年10月18日
摘要: 本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法。关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单元)1.概念在C/C++中,对字符串的操作有很多值得注意的问题,同样,C/C++对时间的操作也有许多值得大家注意的地方。最近,在技术群中有很多网友也多次问到过C++语言中对时间的操作、获取和显示等等的问题。下面,在这篇文章中,笔者将主要介绍 阅读全文
posted @ 2012-10-18 16:37 老金 阅读(1123) 评论(0) 推荐(0) 编辑
  2012年10月16日
摘要: 为啥需要Unicode 我们知道计算机其实挺笨的,它只认识0101这样的字符串,当然了我们看这样的01串时肯定会比较头晕的,所以很多时候为了描述简单都用十进制,十六进制,八进制表示.实际上都是等价的,没啥太多不一样.其他啥文字图片之类的其他东东计算机不认识.那为了在计算机上表示这些信息就必须转换成一些数字.你肯定不能想怎么转换就怎么转,必须得有定些规则.于是刚开始的时候就有ASCII字符集(American Standard Code for Information Interchange, "美国信息交换标准码),它使用7 bits来表示一个字符,总共表示128个字符,我们一般都是 阅读全文
posted @ 2012-10-16 16:57 老金 阅读(83518) 评论(12) 推荐(36) 编辑