自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

爱吃_宫爆鸡丁

勤学如春起之苗,不见其增,日有所长

  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

原创 从.c或.cpp文件到可执行文经历的步骤

1. 预处理:(C:.i文件 C++:.ii文件)         i. 宏定义指令,如#define、#undef等,前者用作替换,后者用作取消对某个宏的定义,使以后该串的出现不再被替换。        ii.条件编译指令,如#ifdef、#ifndef、#else、#elif、#endif等;       iii.头文件包含指令,如#include<iostream>,#inclu...

2018-06-29 16:23:47 868

原创 Effective C++ 条款47、48

条款47 请使用traits clases表现类型信息5种STL迭代器分类:i、input迭代器:只能向前移动,一次一步,客户只可读取(不能涂写)它们所指的东西,而且只能读取一次。代表有istream_iterator;ii、output迭代器:只向前移动,一次一步,客户只可涂写它们所指的东西,而且只能涂写一次。代表有ostream_iterator;iii、forward迭代器:兼容上述两种迭代...

2018-06-28 20:13:51 238

转载 孤儿进程与僵尸进程总结

1、基本概念  我们知道在unix/linux中,正常情况下,子进程是通过父进程创建的,子进程在创建新的进程。子进程的结束和父进程的运行是一个异步过程,即父进程永远无法预测子进程 到底什么时候结束。 当一个 进程完成它的工作终止之后,它的父进程需要调用wait()或者waitpid()系统调用取得子进程的终止状态。  孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤...

2018-06-28 09:53:02 130

原创 Effective C++ 条款40

条款40 明智而审慎地使用多重继承多重继承的意思是继承一个以上的base classes,但这些base classes并不常在继承体系中又有更高级的base classes。举例如下,class File{};class InputFile:public File{};class OutFile:public File{};class IOFile:public InputFile, p...

2018-06-27 21:14:29 285

转载 C/C++类的大小计算

1、关于类/对象大小的计算i、 首先,类大小的计算遵循结构体的对齐原则ii、 类的大小与普通数据成员有关,与成员函数和静态成员无关。即普通成员函数,静态成员函数,静态数据成员,静态常量数据成员均对类的大小无影响iii、  虚函数对类的大小有影响,是因为虚函数表指针VPTR带来的影响iv、  虚继承对类的大小有影响,是因为虚基表指针带来的影响空类的大小是一个特殊情况,空类的大小为12、需要注意的是类...

2018-06-26 13:40:00 1978

原创 Effective C++ 条款38、39

条款34 区分接口继承和实现继承public继承中,由函数接口(类比于函数声明)继承与函数实现(类比于函数定义)继承。i、成员函数的接口总是会被继承class Shape {public: virtual void draw() const = 0;//draw是一个纯虚函数,此函数只起到接口的作用,表明此类是一个抽像基类 virtual voi error(const string&amp...

2018-06-26 13:27:32 673

原创 Effective C++ 条款36、37

条款36条款37以上内容均来自Scott Meyers大师所著Effective C++ version3,如有错误地方,欢迎指正!相互学习,促进!!

2018-06-26 11:21:13 258

原创 UNP卷一chapter30 客户与服务器程序设计范式

本章主要讲述9个不同的服务器程序设计范式。重点在于讲述服务器开僻进程池以及线程池。i、预先派生子进程是让服务器在启动阶段调用fork创建一个子进程池。每个客户请求由当前可用子进程池中的某个(闲置)子进程处理。ii、预先创建线程是让服务器在启动阶段创建一个线程池,每个客户由当前可用线程池中的某个(闲置)线程处理。回忆之前所学的客户/服务器程序代码编写,此处将详细罗列各种tcp客户/服务器...

2018-06-23 13:28:23 225

原创 UNP卷一chapter26 线程

1、并发服务器中,用线程代替fork2、基本线程函数i、pthread_create函数当一个程序由exec启动时,称为初始线程或主线程的单个线程就创建了,其余线程则由pthread_create函数创建。3、使用线程的str_cli函数及tcp回射服务器程序(存在着多个线程不同步访问一个共享变量问题,这是线程使用中必须要注意的问题)以上知识点来均来自steven先生所著UNP卷一(version...

2018-06-21 10:32:31 204

原创 Effective C++ 条款34、35

条款34 区分接口继承和实现继承函数接口继承(类比声明)和函数实现继承(类比定义)。先见如下代码举例,class Shape {public: virtual void draw() const = 0;//纯虚函数作为函数接口被继承 virtual void error(const string& msg);//impure virtual,上让derived cla...

2018-06-19 15:33:11 364

转载 Linux环境下 getopt函数的简单使用

最近看网络编程中的代码时,时常发现getopt()函数的调用,以及全局变量opterr、optind的使用。阅读代码时有点摸不着头脑,于是网上一查,发现以下博文以幽默而又不失水准的风格对getopt()函数的加以详解。故在此引用,谢谢博主贡献!我们的主角----getopt()函数。英雄不问出处,getopt()函数的出处就是unistd.h头文件(哈哈),写代码的时候千万不要忘记把他老人家inc...

2018-06-15 21:16:09 179

原创 Effective C++ 条款32、33

条款32 确定你的public继承塑模出is-a关系不用怀疑,public inheritance(公开继承)意味“is-a”(是一种)的关系。也就是说,如果令class D('Derived') 以public形式继承class B('Base'),即每一个类型为D的对象同时也是一个类型为B的对象。反之不成立。所以在进行面向对象类设计时,需要明确继承之前是否是"is-a"关系,以决定de...

2018-06-15 15:48:26 257

原创 UNP卷一chapter24 带外数据

带外数据,也称经加速数据,这也意味着在已经排队等待发送的任何“普通”(也称为“带内”)数据之前发送。每层都有各自带外数据实现,需要注意的是UDP没有实现带外数据,此处只关注tcp的带外数据模型。1、TCP带外数据tcp通过紧急模式实现带外数据的发送。进程以MSG_OOB标志调用send函数写出一个含有ASCII字符a的单字节带外数据。(值 得注意的是,带外数据只有一个字符)send(...

2018-06-15 12:47:44 208

原创 UNP卷一chapter27 IP选项

本章节讲述了IPv4及IPv6选项,由于IPv6选项的运用并不鲜见,此处只重点介绍IPv4选项的用法,也只是重点关注源路径选项。源路径选项的运用,先是通过往给定的44字节缓冲区中填写路径IP地址及目的IP地址,通过setsockopt()函数给相应套接字设置IPv4选项,接收端通getsockopt()函数读取IP报文首部中选项部分。1、IPv4选项共有10个,如NOP(no-operation,...

2018-06-13 23:32:58 273

原创 UNP卷一chapter22 高级UDP套接字编程

1、单播、广播及多播等不同寻址方式类型IPv4IPv6TCPUDP所标识接口数递送到接口数单播YYYY一个一个任播*Y尚没有Y一组一组中的一个多播可选YY一组一组中的全体广播YY全体全体表中要点:i、多播支持在IPv4中是可选的,在IPv6中却是必需的ii、IPv6不支持广播。使用广播的任何IPv4应用程序一旦移植到IPv6就必须改用多播重新新编写iii、广播和多播要求用于UDP或原始IP,不能用...

2018-06-12 11:28:58 257

原创 Effective C++ 条款30、31

条款30 透彻了解inlining的里里外外Inline函数,看起来像函数,动作像函数,比宏好得多,可以调用它们又不需要蒙受函数调用所招致的额外开销。但是,就像世界没有免费的午餐一样,inline的使用也是有代价的。比如说,使用inline会使整个代码量增加,造成程序体积太大,也可能会导致额外的换页行为,降低指令高速缓存装置的击中率,以及伴随这些而来的效率损失。1、inline只是对编译器...

2018-06-11 21:46:45 451

原创 Effective C++ 条款28、29

条款28 避免返回handles指向对象内部成分条款29 为“异常安全”而努力是值得的以上内容均来自Scott Meyers大师所著Effective C++ version3,如有错误地方,欢迎指正!相互学习,促进!!...

2018-06-11 19:58:08 548

原创 UNP卷一chapter21 组播

1、IPv4的D类地址(组播)和IPv6组播地址IPv4的D类地址(从224.0.0.0到239.255.255.255)是IPv4多播地址。D类地址的低序28位构成多播组ID,整个32位地址称为组地址。其与以太网地址的映射关系见下图。IPv6多播地址的高序字节值为ff,其与以太网地址的映射关系见下图。 若干个特殊的IPv4多播地址:i、224.0.0.1是所有主机组。子网...

2018-06-09 10:41:25 265

原创 插入、选择、冒泡、堆排序、快排、归并排序算法及二叉查找树查找、插入、删除操作

针对排序方法的学习总结: 排序方法中稳定与不稳定的是指待排序集合中存在多个相同关键字相同的数据元素,经过排序后,这些数据元素的相对次序保持不变,即为稳定,否则不稳定。内排序与外排序是指按照排序过程中数据存储的存储设备的不同。内排序指被排序的数据元素全部存放在计算机的内存之中,并且在内存中调整数据元素的相对位置。外排序指数据元素主要存放在外存储器中,借助于内存储器逐步调整数据元素之间的相...

2018-06-08 16:46:51 280

原创 三种遍历递归及非递归实现、二分查找法

以下三种遍历递归及非递归实现、二分查找法,要特别熟悉,写代码时一气呵成,中停不要有半点停顿。二分查找法://-----------------------------------------------------//Binary Search//-----------------------------------------------------bool binarySear...

2018-06-07 22:08:12 246

转载 Git使用教程1

1、Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。是Linus Torvalds 为了帮助管理Linux 内核开发而开发的一个开放源码的版本控制软件。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。2、相应的git介绍、安装及配置信息见runoob此处只对git的工作原理及相应简单命令作相应说明(当然只是...

2018-06-06 20:30:49 191

原创 UNP卷一chapter20 广播

1、单播、广播及多播等不同寻址方式类型IPv4IPv6TCPUDP所标识接口数递送到接口数单播YYYY一个一个任播*Y尚没有Y一组一组中的一个多播可选YY一组一组中的全体广播YY全体全体表中要点:i、多播支持在IPv4中是可选的,在IPv6中却是必需的ii、IPv6不支持广播。使用广播的任何IPv4应用程序一旦移植到IPv6就必须改用多播重新新编写iii、广播和多播要求用于UDP或原始IP,不能用...

2018-06-05 10:34:31 224

原创 Effective C++ 条款26、27

条款26 尽可能延后变量定义式的出现时间尽可能延后变量定义式出现时间,在定义的同时完成copy构造函数。string encryptPassword(const string& password) { using namespace std; if (password.length() < MinimumPasswordLength) { throw logic_error(...

2018-06-04 11:11:33 631

原创 Effective C++ 条款24、25

条款24 若所有参数皆需类型转换,请为此采用non-member函数如果需要为某个函数的所有参数(包括被this指针所指的那个隐喻参数)进行类型转换,那么这个函数必须是个non-member函数。如下代码举例:class Rational {public: Rational(int numeator = 0, int denominator = 1);//构造函数刻意不为expl...

2018-06-04 09:49:54 403

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除