C++
domyself
这个作者很懒,什么都没留下…
展开
-
析构函数virtual与非virtual区别
析构函数virtual与非virtual区别作为通常的原则,如果一个类定义了虚函数,那么它的析构函数就应当是virtual的。因为定义了虚函数则隐含着:这个类会被继承,并且会通过基类的指针指向子类对象,从而得到多态性。 这个类可能会被继承,并且会通过基类的指针指向子类对象”,因此基类的析构函数是否为虚将决定子类的对象是否被析构。很多时候你只能够获取基类指针,但却不知道它转载 2014-04-19 22:02:41 · 551 阅读 · 0 评论 -
Rotate List
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *ro原创 2014-08-24 22:16:02 · 444 阅读 · 0 评论 -
Remove Nth Node From End of List
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *re原创 2014-08-24 21:30:29 · 503 阅读 · 0 评论 -
互斥锁和读写锁
回想一下上面介绍的互斥量,它只有两个状态,要么是加锁状态,要么是不加锁。假如现在一个线程 a 只是想读一个共享变量 i ,因为不确定是否会有线程去写他,所以我们还是要对它进行加锁。但是这时候又一个线程 b 试图读共享变量i ,于是发现被锁住,那么b不得不等到a释放了锁后才能获得锁并读取 i 的值,但是两个读取操作即使是几乎同时发生也并不会像写操作那样造成竞争,应为他们不修改变量的值。所以我转载 2014-08-18 14:18:57 · 747 阅读 · 0 评论 -
typedef和#define区别
typedef是一种在计算机编程语言中用来声明自定义数据类型,配合各种原有数据类型来达到简化编程的目的的类型定义关键字。 #define是预处理指令。下面让我们一起来看。typedef是C语言语句,其功能是用户为已有数据类型取“别名”。 例如: typedef int INTEGER; 这以后就可用INTEGER来代替int作整型变量的类型说明了,如:转载 2014-06-23 10:01:20 · 499 阅读 · 0 评论 -
Redis连接实例
#include #include #include #include #include #include #include void doTest(){ int timeout = 10000; struct timeval tv; tv.tv_sec = timeout / 1000; tv.tv_usec = timeout * 1000;转载 2014-06-19 18:24:32 · 809 阅读 · 0 评论 -
linux时间函数
#include#include#include#includeusing namespace std;int main(){ time_t t; time(&t); cout<<t<<endl; struct timeval tv1; struct timeval tv2; gettimeofday(&tv1, NULL); usleep(100);原创 2014-06-27 15:29:46 · 599 阅读 · 0 评论 -
静态链接库和动态链接库
静态连接库就是把(lib)文件中用到的函数代码直接链接进目标程序,程序运行的时候不再需要其它的库文件;动态链接就是把调用的函数所在文件模块(DLL)和调用函数在文件中的位置等信息链接进目标程序,程序运行的时候再从DLL中寻找相应函数代码,因此需要相应DLL文件的支持。转载 2014-04-12 11:58:42 · 571 阅读 · 0 评论 -
C++小知识
forxu每次循环都会创建和删除一次。原创 2014-05-18 22:31:33 · 523 阅读 · 0 评论 -
C++各个类型变量区别
变量可以分为全局变量、静态全局变量、静态局部变量和局部变量按存储区域分:全局变量、静态全局变量和静态局部变量都存放在内存的全局数据区,局部变量存放在内存的栈区按作用域分:全局变量在整个工程文件内都有效;静态全局变量只在定义它的文件内有效;静态局部变量只在定义它的函数内有效,只是程序仅分配一次内存,函数返回后,该变量不会消失;局部变量在定义它的函数内有效,但是函数返回后失效。全局变量和静原创 2014-05-23 14:56:51 · 489 阅读 · 0 评论 -
Linked List Cycle II
Given a linked list, return the node where the cycle begins. If there is no cycle, return null.Follow up:Can you solve it without using extra space?思路:原创 2014-05-25 21:41:46 · 498 阅读 · 0 评论 -
STL函数对象
在默认情况下,priority_queue的第3个参数为less,这是STL中预定义的函数对象,预定义的函数对象如下所示plus 算术返回两个数的和:a+b minus返回两个数的差:a-bmultiplies返回两个数的乘积:a*bdivides转载 2014-04-03 22:10:07 · 569 阅读 · 0 评论 -
itoa和atoi
char*itoa(intvalue,char*string,intradix);int value 被转换的整数,char *string 转换后储存的字符数组,int radix 转换进制数,如2,8,10,16 进制等转载 2014-04-10 09:20:37 · 478 阅读 · 0 评论 -
thrift的安装和使用
首先thrift的官方主页:http://thrift.apache.org/Thrift的安装步骤如下:(1)下载thrift:直接从官网的download链接下载即可;(2)解压tar -zxvf thrift-*.tar.gz(3)查看README和INSTALL文件(如果有的话),根据README和INSTALL文件,查看thrift安装说明以及转载 2014-12-02 21:51:28 · 5676 阅读 · 2 评论