自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 C++11智能指针

智能指针智能指针其实就是一个模板类,将原始指针封装到类中,可由析构函数自动释放资源。C++11提供了两种智能指针不带引用计数的智能指针:auto_ptr scoped_ptr unique_ptr带引用计数的智能指针:shared_ptr weak_ptr智能指针浅拷贝问题:多个智能指针多次释放同一个资源不带引用计数的智能指针:auto_ptr在处理浅拷贝的问题上,直接把前一个指针置为nullptr,只让最后一个指针持有资源scoped_ptr与unique_ptr则直接删除了拷贝

2020-09-08 19:19:14 121

原创 Linux网络编程:多进程的服务端

多进程的服务端多进程服务端工作流程socket():创建服务端的socketbind():将通信地址和端口号绑定到socket上listen():把socket设置为监听模式(TCP3次握手)accept():接受客户端的连接fork():创建子进程recv()/send():与客户端通信return 0/exit(0):结束子进程close():关闭socket代码示例服务端代码//code05.cpp code_tree 多进程的服务端

2020-08-08 15:55:29 173

原创 C++basic--sizeof与strlen

sizeof与普通变量char str[]="cumt";char* p=str;int n=10;sizeof(str);//5sizeof(p);//4sizeof(n);//4void func(char c[10]){ sizeof(c);//4}void* a=malloc(10);sizeof(a);//4sizeof(str)=strlen(str)+1指针大小为4整型大小为4数组是"传址"的,指针大小为432位系统下无论何种指针大小都为4sizeo

2020-08-06 20:25:22 117

原创 C++basic--bit位运算

位操作C语言中,可以单独操控变量中的位.位运算符二进制反码或按位取反: ~~(00000010) //表达式 (11111101) //结果值按位与: &与运算同1为1,其余为0(00000010)&(00000001) //表达式(00000000) //结果值 按位或: |或运算同0为0,其余为1(00000010)|(00000001) //表达式(00000011) //结果值按位异或: ^异或运算不同为1,相同为0(0000001

2020-08-06 20:22:05 375

原创 Linux网络编程:简单的客户端服务器模型

简单的C/S模型简单的服务端工作流程socket():创建服务端的socketbind():将通信地址和端口号绑定到socket上listen():把socket设置为监听模式(TCP3次握手)accept():接受客户端的连接recv()/send():与客户端通信close():关闭socket客户端工作流程socket():创建客户端的socketconnect():向服务端发起连接请求(TCP3次握手)send()/recv():与服务端通信close():关闭sock

2020-08-06 20:16:11 269

原创 C++basic--static

staticstatic关键字可以修饰不同的类型,如普通变量,普通函数,成员变量,成员函数.修饰不同的类型具有不同的含义.static与普通变量当变量声明为static时,修改了变量的存储区域和生命周期,使变量存储在静态区,空间只分配一次.//countadd.cpp#include<iostream>using namespace std;void countadd(){ static int count = 0;//int count = 0; cout<

2020-07-16 10:50:13 101

原创 C++basic--const

constconst用于限定一个变量为只读。const定义常量const double Pi= 3.14;相对于#define,const更加灵活并且可以节省空间.必须初始化.const与指针区分常量指针与指针常量(const在*前为常量指针),常量指针对象不能变,指针常量指针不能变.int a= 10;int *p=&a;const int *p=&a;//non-const pointer,const data,常量指针int* const p=&a;//

2020-07-16 10:47:46 106

原创 计算机基础之计算机网络学习笔记

计算机网络体系结构计算机网络概述计算机网络的组成物理组成从物理组成上看,计算机网络包括硬件,软件,协议三大部分工作方式组成从工作方式上看,计算机网络可以分为边缘部分和核心部分.边缘部分:由所有连接在互联网上,供用户直接使用的主机组成,用来进行通信和资源共享.核心组成:由大量的网络和连接这些网络的路由器组成,它为边缘部分提供连通性和交换服务.功能组成从功能组成上看,计算机网络由通信子网和资源子网两部分构成通信子网:由各种传输介质,通信设备和相应的网络协议组成,为网络提.

2020-07-13 09:56:11 5159

原创 C++basic--assert

assertassert断言,是宏.C语言中<assert.h>(C++)头文件由assert()宏组成.接受一个整型表达式作为参数,其作用是如果条件返回错误,则终止程序执行,并会显示失败的测试,包含测试的文件名和行号.assert的用法//test.cpp#include<iostream>//#define NDEBUG#include<cassert>using namespace std;int main(){ int a=10;

2020-07-12 23:12:34 136

原创 计算机基础之操作系统学习笔记

绪论操作系统的基本概念计算机的硬件,软件以及软件的各部分之间是一种层次结构的关系.硬件在最底层,其上层是操作系统,实用程序和应用程序在操作系统之上,这些程序均已操作系统为支撑,并向用户提供完成工作所需的各种服务.引入操作系统的目的:提供一个计算机用户和计算机硬件系统之间的接口,使计算机系统更易于使用有效地控制和管理计算机系统地各种硬件和软件资源,使之得以更有效地利用合理组织计算机系统地工作流程,以改善系统性能操作系统的特征:并发性(并行性):并行性是指两个或多个事件在同一

2020-07-12 21:24:06 304

原创 计算机基础之组成原理学习笔记

计算机系统概述基本组成: 运算器+控制器=CPU CPU+主存储器=主机 I/O设备又称为外部设备存储器1B=8bit.在32位系统中,1字=4字节运算器控制器通常一条指令分为取指阶段和执行阶段输入设备输出设备现代计算机组织结构逐步转化为以存储器为中心数据的表示和运算数制和编译二进制.八进制.十进制.十六进制BCD码:8421码.余3码.2421码校验码:奇偶校验码.循环冗余校验码(最广泛).海明码定点数的表示和运算原码.补码.反码浮点数的表示和运算IEEE 754标

2020-07-11 11:56:25 376

原创 C++basic--enum

enumenum可创建符号常量.enum与枚举enum定义的新类型称为枚举.其语法类似于structenum color {red,orange,yellow,green,blue};color为枚举red,orange,yellow等称为符号常量,对应整数值0~4.枚举只定义了赋值运算符,无法进行算术运算.枚举量是整型,可转换为int型,但int型不能自动转换为枚举类型可以强制类型转换将int转为枚举类型(枚举取值范围内)//test01.cpp#include<iost

2020-06-14 22:08:43 106

原创 C++basic--inline

inline函数调用都有一定的开销(建立调用,传递参数,跳转到函数代码并返回).使用宏使代码内联,可以避免这样的开销.另一种方法则是内联函数.内联函数的编译代码与其他程序代码"内联"起来.当调用内联函数时,程序使用内联代码代替函数调用.inline与常规函数内联函数的运行速度比常规函数稍快.(代价是占用更多内存)//square.cpp#include<iostream>using namespace std;inline double square(double a){re

2020-06-09 21:36:48 137

空空如也

空空如也

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

TA关注的人

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