- 博客(11)
- 资源 (1)
- 收藏
- 关注
原创 c++实现一个简单的空间配置器allocator
c++实现一个简单的空间配置器allocator c++中内存分配和对象构造是分开来的,内存的分配类似malloc函数在内存空间开辟一段空间,但是里面不保存任何数据。对象的构造相当于给这段空间复制。 这么做的理由有两点: 在预先分配的内存中构造对象很浪费,可能创建从不使用的对象,当实际使用预先分配的对象时,被使用的对象往往又必须重新
2014-10-26 18:16:23 3294 1
原创 Ubuntu下errno值
Ubuntu下errno值 每当一个Unix函数(如socket函数)中发生错误时,全局变量errno将被设置成一个指示错误类型的正整数,如果函数不返回错误,errno的值就没有定义,值为0不表示任何错误.且具有以E开头的全大写字母名字,并且通常在/usr/include/sys/errno.h中定义,在Ubuntu中存放在/usr/include/asm-generic/errno.h, 为了方便查找,我们先给出errno.h在Ubuntu里面的内容
2014-10-24 01:35:09 2377
原创 Ubuntu利用TCP协议来获取服务器时间
Linux利用TCP协议来获取服务器时间 这里使用Unix网络编程里面的一个小程序,该客户端建立一个到服务器的TCP连接,然后读取由服务器以直观可读格式简单地送回的当前时间和日期.然后我们运行这个程序若干次,每次以不同的IP地址作为命令行参数.首先我们测试本机的时间,你必须要先打开Linux下的daytime服务,方法如下
2014-10-24 00:55:52 1699
原创 STL源码之实现一个简易的Vector容器
STL源码之实现一个简易的Vector容器 这里需要的基础知识主要是类模板和函数模板,以及一个C++内存分配的技术allocator类,它提供可感知类型的内存分配,这个类支持一个抽象接口,以分配内存并随后使用该内存保存对象。 使用allocator类,首先应用allocator类建立一个allocator对象,然后使用该对象你可以分配内存,释放内存,构造你
2014-10-22 17:10:55 1008
原创 在模板定义内部指定类型
在模板定义内部指定类型比如说要写一个函数模板,功能是输出STL里面容器的第一个数。那么就应该把容器的类型传递进去#include#includeusing namespace std;templatevoid p(Parm &c){ typename Parm::iterator it=c.begin(); cout<<*it<<endl;}void main
2014-10-20 23:21:33 1228
原创 大端序和小端序
大端序和小端序 一般Intel处理器或者X86平台都是小端序 ,只有老一点的摩托罗拉处理器会用大端序,所以重点掌握一下小端序。 小端序一般指低地址存低字节,高地址存高字节。。。简称 “低低高高”举个C语言的例子:#includeunion u{ int i; char j[2];}a;void main(){ a.j[
2014-10-16 20:39:04 955
原创 leetcode Maximum Subarray 最大子序列
Maximum Subarray Total Accepted: 28381 Total Submissions: 83696 My SubmissionsFind the contiguous subarray within an array (containing at least one number) which has the largest sum.For exam
2014-10-09 13:57:33 917
原创 tcpdump抓取tcp的三次握手
tcpdump抓取tcp的三次握手先要打开两个终端,打开root权限输入 telnet www.baidu.com 80 查询一下IP号,然后输入ctrl+] 以及quit退出administrator@ubuntu:~$ sudo su[sudo] password for administrator: root@ubuntu:/home/administrator# t
2014-10-09 13:18:56 2189
原创 leetcode Remove Duplicates from Sorted List
Remove Duplicates from Sorted ListGiven a sorted linked list, delete all duplicates such that each element appear only once.For example,Given 1->1->2, return 1->2.Given 1->1->2->3->3, return 1->2->3.很简单,先判断第一个位置否为空,不为空的话再判断下 个位置是否为空,如果都为空那么就不用操作了。如果两
2014-10-05 16:35:47 970
原创 信号量基础和两个经典例子
信号量基础和两个经典例子信号量(semaphore) 用于进程中传递信号的一个整数值。三个操作:1、一个信号量可以初始化为非负值2、semWait操作可以使信号量减1,若信号量的值为负,则执行semWait的进程被阻塞。否则进程继续执行。3、semSignal操作使信号量加1。若信号量的值小于等于0,则被semWait操作阻塞的进程讲被接触阻塞。ps: semWait对应P原语,semSignal对应V原语。信号量以及PV原语的C语言定义如下
2014-10-05 15:11:45 11209 1
原创 leetcode--Linked List Cycle--判断链表是否有环
Given a linked list, determine if it has a cycle in it.Follow up:Can you solve it without using extra space?这个题目用快慢指针来做,重点在于代码怎么实现的简洁方便理解。这里用快指针来判断链表是不是有NULL,没有NULL那再继续走,看是否能与慢指针遇上
2014-10-01 00:46:17 1169
线性系统高清收藏版(华南理工大学用)
2013-12-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人