- 博客(36)
- 资源 (22)
- 收藏
- 关注
原创 Linux C/C++ 区别:类型声明、struct
C有数组、结构体、指针、函数、宏C++有命名空间、引用、默认参数、模板、函数重载、自定义操作符、内联、构造/析构、私有/保护成员、友元、异常。一、数据类型声明1.1 C++允许数据类型声明可以出现在程序的任何位置。 C代码:异常#include <stdlib.h>#include <stdio.h>int main(int arg...
2015-04-15 23:08:13 1510
原创 Linux C/C++ 运算符:种类、优先级、结合性
一、C语言运算符优先级 详细列表优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右 ()圆括号(表达式)/函
2015-04-14 22:47:32 3898
原创 Linux C/C++ 模板:模板安全
一、非模板安全的代码#include using namespace std;template class wrapper{public: wrapper() { } T get() { return m_value; } //part 2 void set(T const &value) { m_value = value; }
2015-04-14 22:00:47 579
原创 Linux C/C++ 模板:嵌入的类型信息
一、代码#include using namespace std;//嵌入的类型信息template class Array{public: Array(T num) : m_num(num) { } T get_num() { return m_num; } typedef T Elem; //元素的类型 typ
2015-04-11 01:23:25 661
原创 Linux C/C++ 模板:用template消除歧义
一、代码#include using namespace std;//使用template消除歧义class Array{public: template class InArray { public: typedef T ElemT; };};template
2015-04-11 00:55:47 1240
原创 Linux C/C++ 模板:用typename消除歧义
一、代码 也是typename和class的区别。#include using namespace std;class Array{public: typedef int ElemT;};template void output(T& arr){ // //T::ElemT num; type
2015-04-11 00:52:15 769
原创 Linux C/C++ 模板:针对类型信息的特化
一、代码#include using namespace std;//针对类型信息的特化//template class IsInt{public: enum { result = false };};//template <>class IsInt{public: enum { result = true };};int
2015-04-11 00:51:44 601
原创 Linux C/C++ 模板:成员模板
一、代码 成员模板:一个自身是模板的成员。#include #include using namespace std;//成员模板template class Array{public: template void output(T thistype, T1 othertype);};//成员模板template t
2015-04-11 00:42:16 643
原创 Linux C/C++ 模板:类模板成员特化
一、代码 不需要完全特化整个类,只特化相关函数即可。#include #include #include #include using namespace std;//主模板template class Heap{public: void push(const T& val); T pop(); bool e
2015-04-11 00:31:47 1297
原创 Linux C/C++ 模板:主模板、完全特化、局部特化
一、代码#include #include #include #include using namespace std;//主模板template class Heap{public: void push(const T& val); T pop(); bool empty() const { return m_vec.emp
2015-04-11 00:26:10 968
原创 Linux C/C++ 模板:主模板、完全特化
一、代码#include #include #include #include using namespace std;//主模板template class Heap{public: void push(const T& val); T pop(); bool empty() const { return m_vec.emp
2015-04-11 00:19:57 740
原创 Linux C/C++ 模板:模板术语 模板参数/模板实参/模板名字/模板ID/特化/实例化
一、模板参数/模板实参1.1 模板参数 template parameter 用于模板的声明中。1.2 模板实参 template argument 用于模板的特化中。二、模板名字/模板ID2.1 模板名字 template-name 是一个简单的标识符。2.2 模板ID template-id 附带有模板
2015-04-11 00:11:55 952
原创 Linux C/C++ 模板:类模板(主模板)
一、代码#include #include #include #include using namespace std;//类模板、主模板template class Heap{public: void push(const T& val); T pop(); bool empty() const { return m_vec
2015-04-11 00:01:50 1086
原创 Linux C/C++ 模板:函数模板
一、代码#include #include using namespace std;//函数模板template T min(T i, T j, T k){ if (i<j && i<k) return i; if (j<i && j<k) return j; re
2015-04-10 23:55:05 1510
原创 C++ 异常处理:类的异常处理--异常处理类
一、代码#include using namespace std;//class Err{public: Err(int errno) : m_errno(errno) { cout<<"A error array ID has been found."<<endl; } int ge
2015-04-09 23:37:52 716
原创 C++ 异常处理:类的异常处理
一、代码#include using namespace std;templateclass Array{public: Array(int count) : m_count(count) { m_arr = new T[m_count]; } void init(int n, T v
2015-04-09 23:30:22 593
原创 C++ 异常处理:try、catch、throw、异常规格申明
一、代码 try、catch、throw 异常规格申明1.1 异常规格申明 void f() throw(int) 可以抛出int型异常 void f() throw(char*, E) 可以抛出char*或E型异常 void f() throw()
2015-04-09 23:13:06 1114
原创 Linux C 异常处理:信号机制 SIGFPE/signal()/raise()
一、代码 #include signal()、raise()、SIGFPE#include #include #include //#include //signal()、raise()、SIGFPE//void handle(int signo){ printf("exception handle.\n");
2015-04-09 22:37:11 3488
原创 Linux C 异常处理:非局部goto jmp_buf/setjmp()/longjmp()
一、代码 #include jmp_buf、setjmp()、longjmp()#include #include //#include //jmp_buf、setjmp()、longjmp()//jmp_buf j;void raise_exception(void){ printf("before longjmp()
2015-04-09 22:31:39 1032
原创 Linux C 异常处理:绝对异常终止 exit()/abort()、assert()
一、代码 abort()、exit()#include #include static void atexit_handle_1(void){ printf("atexit_handle_1\n");}static void atexit_handle_2(void){ printf("atexit_handle_2\n");
2015-04-09 22:26:03 4795
原创 Linux C:磁盘文件映射到内存/mmap()
一、代码 #include mmap()1.1 文件myfile 需要事先准备好的文件内容:1.2 代码#include #include #include int main(int argc, char*argv[]){ int fd = open("myfile", O_RDWR);
2015-04-05 23:12:08 2556
原创 Linux C:向设备发送控制和配置命令,读写Out-of-band数据/ioctl()
一、代码 #include ioctl()#include #include #include #include //ioctl()int main(int argc, char*argv[]){ if (isatty(STDOUT_FILENO) == 0) exit(0); /
2015-04-05 23:04:08 1222
原创 Linux C:改变已打开文件的属性/fcntl()
一、代码 #include fcntl() O_NONBLOCK#include #include #include #include #include //fcntl()//O_NONBLOCKint main(int argc, char*argv[]){ // int flag
2015-04-05 22:58:47 1142
原创 Linux C:非阻塞读写
一、代码 open()、close() read()、write()#include #include #include #include #include //open()、close()//read()、write()int main(int argc, char*argv[]){ // int fd
2015-04-05 22:53:03 2494
原创 C++ IO流:文件流seekp()/seekg()、tellp()/tellg()
一、代码 fstream seekp()、seekg() tellp()、tellg()1.1 文件template.c 需要实现准备好的文件内容: wc -c template.c1.2 代码#include #include #include using namesp
2015-04-05 22:42:04 3616
原创 C++ IO流:标准输入输出流的重载
一、代码#include using namespace std;class Date{public: Date(int year, int month , int day) : m_year(year), m_month(month), m_day(day) { } // friend ostream& operator<<(ost
2015-04-05 22:29:42 2377
原创 C++ IO流:流缓冲区
一、代码1.1 文件template.c 需要事先准备文件template.c的内容:1.2 代码#include #include using namespace std;//in.rdbuf()//in.get()//in.ignore()int main(int argc, char*argv[]){ fstream in
2015-04-03 00:31:32 879
原创 C++ IO流:不用于标准流运算符间的流字符串读写函数
一、代码 get()、peek() get(char&)、get(char*, int, char='\n') read(char*, int) put(char) write(char*, int)#include #include using namespace std;//get()、p
2015-04-03 00:18:45 754
原创 C++ IO流:自定义输入、输出流
一、代码#include using namespace std;ostream& lin(ostream& myos){ myos<<"----------\n"; return myos;}int main(int argc, char*argv[]){ cout<<lin<<lin<<lin; return
2015-04-03 00:10:45 3020
原创 C++ IO流:输入、输出格式控制
一、代码 setf()、unsetf() ios::hex、ios::showbase、ios::uppercase dec、oct、hex、setw()、setfill() setiosflag()#include #include using namespace std;//setf()、unsetf()
2015-04-03 00:06:19 1298
原创 C标准库:格式化输入
一、代码 scanf()、sscanf()、fscanf() vscanf()、vsscanf()、vfscanf()1.1 文件abc 事先需要准备好的文件内容:1.2 代码#include #include #include //vscanf()、vsscanf()、vfscanf()void my_s
2015-04-02 23:25:37 585
原创 C标准库:格式化输出
一、代码 #include printf()、fprintf()、sprintf()、snprintf() vprintf()、vfprintf()、vsprintf()、vsnprintf()#include #include #include //vprintf()、vfprintf()、vsprintf()、vs
2015-04-02 23:17:25 597
原创 C标准库:以记录为单位的IO函数(文件读写)
一、代码 fread()、fwrite()#include #include struct record{ char name[10]; int age;};//fread、fwriteint main(int argc, char*argv[]){ struct record warr[2] = {{"Tom"
2015-04-02 23:07:10 671
原创 C标准库:以串为单位的IO函数
一、代码 gets()、puts() fgets()、fputs()#include #include //gets()、puts()//fputs()、fgets()int main(int argc, char*argv[]){ FILE* fp = fopen("abc", "w+"); if (fp =
2015-04-02 22:56:44 554
原创 C标准库:以字节为单位的IO函数
一、代码 getchar()、putchar() fgetc()、fputc()#include #include //getchar()、putchar()//fgetc()、fputc()int main(int argc, char*argv[]){ FILE* fp = fopen("myfile", "w+");
2015-04-02 22:45:16 645
原创 C标准库:IO错误处理
一、代码 #include stdin、stdout、stderr perror()、errorno、strerror()[root@localhost test]# vim error-proc.c #include #include #include #include ////stdin、stdout、stderr//
2015-04-02 22:33:29 935
iso 14496-3.pdf
2021-02-18
HexEditor0.9.6.0g.rar
2019-11-01
抓取的https session连接恢复的数据包
2017-09-12
抓取的HTTPS数据包(新)
2017-09-12
curl 发送HEAD请求时的数据包
2017-01-05
dig 有edns_client_subnet的pcap包
2013-11-28
dig 没有edns_client_subnet的pcap包
2013-11-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人