- 博客(56)
- 收藏
- 关注
原创 左值引用、右值引用和引用折叠
左值引用、右值引用和引用折叠左值引用、右值引用和引用折叠左值和右值左值右值一些举例左值引用和右值引用左值引用右值引用左值引用和右值引用参数都是左值一个抄来的例子模板类型引用折叠左值和右值C++( 包括 C) 中所有的表达式和变量要么是左值,要么是右值。可以用以下方式理解左值和右值:左值左值的定义就是非临时对象,那些可...
2018-05-14 21:46:19
673
原创 ICMP协议详解
ICMP报文格式ICMP报头从IP报头的第160位开始(IP首部20字节)(除非使用了IP报头的可选部分)。ICMP报头type 8位询问报文: 8 和 0 ping 请求 响应 13和 14 ping时间戳,请求和回答差错报告:终点不可达,超时,路由改变等code 8位进一步划分错误类型校验和 16位ICMP头部和数据I...
2018-02-24 23:35:14
1032
原创 C/C++的动态库和静态库
C/C++的动态库和静态库CC的动态库和静态库静态库静态库特点生成静态库静态库的两大缺点动态库动态库特点生成动态库使用动态库在Linux下显式调用动态库注意显式调用C动态库静态库动态库的使用注意事项动态库和静态库的不同静态库动态库链接搜索路径头文件相关其他静态库在链接阶段,将汇编生成的目标文件.o与引用到的库一起链接打包...
2018-02-20 23:22:46
1183
原创 套接字编程注意事项
信号SIGCHLD信号和僵尸进程SIGPIPE信号被中断的系统调用惊群问题read内存对齐和字节序TCP粘包问题处理粘包信号SIGCHLD信号和僵尸进程多进程服务器需要处理SIGCHLD信号,SIGCHLD默认会导致进程终止;不回收子进程会导致僵尸进程太多;循环是因为信号不会累计,避免多个子进程同时结束,而只回收一个子进程。...
2018-02-19 22:23:28
481
原创 STL容器和析构函数 注意事项
局部变量存入容器会调用拷贝构造函数而后存放在堆区生命周期变长容器调用clearerase或者容器离开作用域会调用元素的析构函数容器存放对象指针并不会调用析构函数假设有一个类如下:class Foo{ public: Foo(int n_){ n = n_; printf("Foo() %d\n", n);...
2018-02-16 22:58:16
2054
原创 虚析构函数
虚析构函数@(C++实践)很多书里都有说过,要把基类的析构函数声明为virtual,那么为什么呢? 看下面这个例子:class Base{public: Base(){ std::cout << "Base::Base()" << std::endl; } ~Base(){ std::cout << "Base::~Base()" <<
2017-10-01 20:50:22
300
原创 C++解析多行复杂输入
复杂输入解析参数不确定行数,每行不确定输入个数,以空格为间隔的输入参数 Unix系统以CTRL+D结束输入 ,Windows CTRL+z ??
2017-09-21 14:33:56
798
原创 Linux账户管理
Linux账户管理所有实验在centos 7下执行Linux账户管理添加用户快速建立一个用户选项及其他不常用选项说明设置密码添加sudo权限sudo权限有什么用处如何给用户添加sudo权限Linux用户账户和密码添加用户useradd [-u UID] [-g 初始群组] [-mM] [-d 用户目录] 快速建立一个用户如果你只是想添加一个普通用户供自己使用,那么执行下面这条命令$
2017-09-01 14:34:34
601
原创 如何使用ctags跳转到库函数/第三方库函数
首先安装ctags,安装过程网上很多,就不多讲,安装之后执行ctags -R,就可以在本项目内实现代码跳转了,但不能跳转到不是在本项目的代码中定义的tag。 “Ctrl+]”组合键跳转进去。然后可以按“Ctrl+O”跳转回来。 方法一: 如果想实现跳转到非本项目的tag,则必须让Vim知道这些tag在哪。刚才的项目在/home/user/code/目录下,现在假设又有一个项目在/home/us
2017-02-15 10:52:12
2881
1
原创 来一个最简单的TCP服务器
1 #include<stdio.h> 2 #include<sys/types.h> 3 #include<sys/socket.h> 4 #include<stdlib.h> 5 #include<netinet/in.h> 6 #include<errno.h> 7 8 9 10 int init(const char* ip,int port) 11
2016-09-25 17:08:02
312
原创 C/C++头文件,宏,内联函数,条件编译
0、头文件在预定义阶段被展开,整个替换进源代码 I、#include两种方式 II、如何防止头文件被重复包含: 条件编译,#pragma once宏,宏替换,内联函数
2016-08-20 23:41:17
782
原创 C++二叉树之构造拷贝赋值,递归和非递归的前序遍历,中序遍历和后序遍历,以及层序遍历
二叉树的构造,创建树,删除树,前序遍历,中序遍历,后续遍历,递归,非递归,层序遍历。
2016-07-26 11:46:19
619
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人