(o゚▽゚)o 欢迎

不积跬步无以至千里,愿与君共勉!

C++ using声明与指示的区别

- using声明格式为:using 加限定修饰的名字空间成员(using std::string)    - 一次只能引入命名空间的一个成员,其有效范围从using声明开始,到using声明所在的作用域结束为止 。- using指示符格式为:using namespace 名字空间名(using...

2018-03-20 12:36:42

阅读数:15

评论数:0

c++ explicit 关键字

explicit用来防止由构造函数定义的隐式转换。 要明白它的作用,首先要了解隐式转换:可以用单个实参来调用的构造函数定义了从形参类型到该类类型的一个隐式转换。例如:class things{public: things(const std::string&n...

2018-03-08 17:43:01

阅读数:20

评论数:0

C++构造函数种类、拷贝构造函数、拷贝赋值运算符、深拷贝浅拷贝

构造函数是干什么的该类对象被创建时,编译系统对象分配内存空间,并自动调用该构造函数,由构造函数完成成员的初始化工作,故:构造函数的作用:初始化对象的数据成员。构造函数的种类 1 class Complex 2 { 3 4 private : 5 double...

2018-03-06 17:36:10

阅读数:24

评论数:0

C++ Primer 第二章 变量和基本类型

2.1 基本内置类型    基本数据类型包括算术类型和空类型    算术类型分为两类:整型(包括字符和布尔类型在内)和浮点型,其中字符是单字节的整数,ASCII字符代表的值是0~127,用unsigned char表示一个不太大的整数。    字:储存的基本单元    1字 = 4/8个字节   ...

2018-02-28 20:32:45

阅读数:27

评论数:0

C++ Primer 第一章 快速入门

1.1 编写简单的C++程序    任何一个都要包含一个main函数,因为这个函数是系统执行入口c++也一样,函数格式是 int main(); 和别的主要函数不同C++的主函数有且只有一个且返回一个int类型的值。一般来说返回0表示执行成功,不同编译器处理返回值不同,有的返回0和1都是正常结束。...

2018-02-28 18:55:46

阅读数:38

评论数:0

关键字 const 含义、作用,与#define相比的优点

const意味着”只读” 本质:const在谁后面谁就不可以修改,const在最前面则将其后移一位,二者等效。 下面的声明都是什么意思? const int a; int const a;//前两个的作用是一样,a是一个常整型数。 const int *a;//意味着a是一个...

2018-01-30 16:40:22

阅读数:40

评论数:0

内存分配及堆与栈的区别

1.内存分配方式 内存分配方式有三种:        1.从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。        2.从栈上分配。函数内的局部变量的存储单元,函数执行结束时这些存储单元自动被释放。栈内存分配运算...

2018-01-30 16:38:22

阅读数:16

评论数:0

C语言中常见的内存错误与解决方法(含野指针概念)

常见的错误       关于内存的一些知识已在内存分配中提及,现记录与分享常见的内存错误与对策。 类型 1:内存未分配成功,却使用了它。 方   法:在使用之前检查指针是否为NULL。              1)当指针p是函数的参数时,在函数入口处用语句assert(p!=NULL)进...

2018-01-30 16:35:51

阅读数:18

评论数:0

sizeof 和 strlen 的区别

1.sizeof是操作符,strlen是函数。 2.在计算字符串数组的长度上有区别,例如: char str[20] = "0123456789"; int a = strlen(str);//a=10; int b = sizeof(str);//而b=20; a ...

2018-01-30 16:34:40

阅读数:18

评论数:0

C++ TCP通信

TCP通信过程: UDP通信过程: WSAStartup() 此函数在应用程序中初始化Windows Sockets DLL ,只有此函数调用成功后,应用程序才可以再调用其他Windows Sockets DLL中的API函数。在程式中调用该函数的形式如下: ...

2018-01-29 15:42:52

阅读数:49

评论数:0

网络的基本概念

网络模型 OSI层模型、TCP/IP的层模型如下所示: TCP/IP:传输控制协议/网络协议 OSI:开放式系统互联 TCP/IP各层对应的协议如下所示: 由模型可知: IP协议:对应于网络层,是网络层的协议, TCP协议:对应于传输层,是传输层的协议,主要解...

2018-01-29 15:40:38

阅读数:24

评论数:0

C++11 thread 及互斥锁、条件变量

启动的格式: #include //包含头文件 void fucntion();//定义一个线程执行的函数 thread t1(fucntion);//线程启动这个函数 //一创建就自动运行,主线程非阻塞 void factorial(int n,char...

2018-01-25 21:25:24

阅读数:83

评论数:0

C++进程、线程、多线程概念及线程的优缺点

进程: 进程是一个正在执行的程序,是向CPU申请资源的,进程之间数据相互独立,一个进程至少有一个线程。 线程: 线程是进程中的单一的顺序控制流程也可以叫做最小控制单元,线程是进程中执行单元,开启一个线程比开启一个进程更加节省资源。  多线程: 多线程是...

2018-01-25 21:24:39

阅读数:82

评论数:0

堆和栈的主要区别

1申请方式和回收方式       stack:   由系统自动分配。   例如,声明在函数中一个局部变量 int b;   系统自动在栈中为b开辟空间       heap:    需要程序员自己申请,并指明大小,在c中malloc函数       如p1   =   (char...

2018-01-23 21:03:20

阅读数:23

评论数:1

程序的内存分配即一个由C/C++编译的程序占用的内存分为以下几个部分

一个由C/C++编译到程序占用的内存分为以下几个部分: 1、栈区(stack)——由编译器自动分配释放,在不需要的时候自动清除。用于存放函数的参数、局部变量等。操作方式类似数据结构中的栈(后进先出)。 2、堆区(heap)——一般由程序员分配释放,若程序员分配后不释放,程序结束后可能由...

2018-01-23 20:13:24

阅读数:79

评论数:0

static 全局变量、局部变量、函数与普通全局变量、局部变量、函数区别

全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。...

2018-01-23 19:57:51

阅读数:21

评论数:0

关键字static的作用

static关键字至少有下列n个作用: (1)设置变量的存储域,函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值; (2)限制变量的作用域,在模块内的static全局变量可以被模块内所用函数访问,但不能被模块外其它函...

2018-01-23 19:35:43

阅读数:22

评论数:0

C++ 异常处理详解

捕获异常: 捕获异常的语法为: try{ // 可能抛出异常的语句 }catch(异常类型){ // 处理异常的语句 } try 和 catch 都是C++中的关键字,后跟语句块,不能省略“{ }”。try 中包含可能会抛出异常的语句,一旦有异常抛出就会被...

2017-12-13 20:57:58

阅读数:31

评论数:0

C++ String类 详解

string类的构造函数: string(const char *s);    //用c字符串s初始化 string(int n,char c);     //用n个字符c初始化 此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello...

2017-12-13 20:52:15

阅读数:50

评论数:0

C++ 模板

函数模板: 所谓函数模板,实际上是建立一个通用函数,它所用到的数据的类型(包括返回值类型、形参类型、局部变量类型)可以不具体指定,而是用一个虚拟的类型来代替(实际上是用一个标识符来占位),等发生函数调用时再根据传入的实参来逆推出真正的类型。这个通用函数就称为函数模板(Function Tem...

2017-12-12 21:29:17

阅读数:36

评论数:0

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