- 博客(26)
- 收藏
- 关注
原创 c++(5)
1.对象初始化列表:当成员变量是一个对象,且该对象没有无参构造函数1.必须这样做:如果我们有一个类成员,它本身是一个类或者是一个结构,而且这个成员它只有一个带参数的构造函数,没有默认构造函数。这时要对这个类成员进行初始化,就必须调用这个类成员的带参数的构造函数,如果没有初始化列表,那么他将无法完成第一步,就会报错。 2、类成员中若有const修饰,必须在对象初始化的时候,给const ...
2018-07-29 09:44:06
174
1
原创 c++(4)
1. 如果能作为左值则返回引用,例如a+b不能作为左值,a=b可作为左值,a++不能作为左值,其返回一个值,是常量,++a可作为左指,返回a这个变量2.当无法修改左操作数的类时,使用全局变量进行重载,如<<和>>,因为无法修改ostream和istream,只能用友元函数进行重载,若用成员函数,成员变量会作为左值,而在cout中,成员变量只能作为右值,发生冲突3.=...
2018-07-29 08:59:32
143
转载 c++(3)
1.=,[],(),->只能通过成员函数来重载C++规定赋值运算符“=”只能重载为类的非静态成员函数,而不可以重载为类的友元函数。不能重载为类的静态成员应该比较容易理解,因为静态成员函数是属于整个类的,不是属于某个对象的,它只能去操作类静态数据成员。而赋值运算符“=”是基于对象操作的。那么为什么赋值运算符不可以重载为类的友元函数?像同样都是双目运算符的+为什么它就可以呢?...
2018-07-27 10:47:23
262
原创 c++(2)
Const在C(C++)中的作用:1:用于定义常量:const定义的常量编译器可以对其进行数据静态类型安全检查。2:Const修饰函数形式参数,输入参数为自定义和抽象数据类型时,为”const&传递”。例:void fun(A const &a)即加入了引用,变为引用传递。3:const修饰函数的返回值:如给”指针传递”的函数返回值加const,z则返回值不能被...
2018-07-25 09:55:56
525
原创 c++
1.函数的定义不可以嵌套,但函数的调用可以嵌套 2.由多个源文件组成的C程序,经过编辑、预处理、编译,链接等阶段会生成最终的可执行程序。下面哪个阶段可以发现被调用的函数未定义? 编译时只是把函数的符号地址记录下来,链接时该函数符号有定义才会变成具体的地址。如果链接过程中所有符号都有定义,链接成功,生成可执行文件;否则链接失败。 3.在重载一个运算符为成员函数时,其参数...
2018-07-25 09:55:20
234
原创 c++学习——c到c++的过度
/*#include <iostream>using namespace std;int aaaa;//不赋值 直接输出它的值的时候,因为是全局变量 所以默认给了值 0,如果是局部变量 那么就是一个垃圾值//在C中全局变量可以重复定义 后定义的覆盖前面的 但是 C++不行 检测机制更加严格namespace A{ int a = 1; void pri...
2018-07-19 09:51:34
125
原创 网络编程2
一、基本的udp socket编程1. UDP编程框架要使用UDP协议进行程序开发,我们必须首先得理解什么是什么是UDP?这里简单概括一下。UDP(user datagram protocol)的中文叫用户数据报协议,属于传输层。UDP是面向非连接的协议,它不与对方建立连接,而是直接把我要发的数据报发给对方。所以UDP适用于一次传输数据量很少、对可靠性要求不高的或对实时性要
2017-12-08 18:32:25
121
原创 网络编程1
1. 网络中进程之间如何通信网间进程通信要解决的是不同主机进程间的相互通信问题(可把同机进程通信看作是其中的特例)。为此,首先要解决的是网间进程标识问题。同一主机上,不同进程可用进程号(process ID)唯一标识。但在网络环境下,各主机独立分配的进程号不能唯一标识该进程。 其次,操作系统支持的网络协议众多,不同协议的工作方式不同,地址格式也不同。因此,网间进程通信还要解决多重协议的识别
2017-12-08 18:31:30
159
原创 作业
1、简述Linux进程内存空间分为哪几个段?作用分别是什么? 答:Linux中的进程包含3个段,分别为“数据段”、“代码段”和“堆栈段”。“数据段”:已被初始化的变量,包括全局变量和已被初始化的静态变量;未初始化数据段,存储未被初始化的静态变量,又称BBS;“代码段”存放的是程序代码的数据;“堆栈段”存放的是子程序的返回地址、子程序的参数以及程序的局部变量等
2017-12-08 18:30:49
127
原创 多线程
1. 线程和进程的区别:进程是系统中程序执行和资源分配的基本单位。每个进程有自己的数据段、代码段和堆栈段。线程通常叫做轻型的进程。线程是在共享内存空间中并发执行的多道执行路径,他们共享一个进程的资源。线程和进程比起来很小,所以相对来说,线程花费更少的CPU资源。 2.如何来标识一个线程? 表示进程号的为pid_t类型,表示线程号的是pt
2017-12-01 20:52:45
121
原创 linux进程通信2
1. 何为消息队列? 消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。 每个数据块都被认为含有一个类型,接收进程可以独立地接收含有不同类型的数据结构。我们可以通过发送消息来避免命名管道的同步和阻塞问题。但是消息队列与命名管道一样,每个数据块都有一个最大长度的限制。 2. 消息队列的该如何应用? 消息
2017-12-01 20:52:09
129
原创 linux进程通信1
1. Linux下进程间通信方式有有那些?1.1管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。 1.2有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。 1.3信号量( semophore ) : 信号量是一个计
2017-12-01 20:51:34
157
原创 linux进程
一. 进程控制中的专有名词多用户:多个用户同一时间使用计算机 多任务:同时执行几个任务,并且可以在还没有执行完一个任务的时候执行另一个任务 程序:静态,保存在硬盘上的可执行代码 进程:动态,运行中的程序,表示过程(操作系统资源管理的最小单位) 线程:在进程内部,比进程更小的能独立运行的基本单位 实际用户:标识运行该进程的用户 有效用户:标识来运行该进程的用户身份
2017-11-24 16:57:18
164
原创 linux文件操作
一. Linux下文件的该概念是什么?Linux中的文件具有的特点是:可通过操作系统或者程序对外提供信息,也能对内输入信息,可以被创建,删除。Li n u x中,文件有特别重要的意义,他们为操作系统和设备提供了一个简单而统一的接口。在Linux中,几乎一切都可以看做是文件 。这就意味着,普通程序完全可以像使用文件(普通定义)那样使用磁盘文件、串行口、打印机和其他设备。
2017-11-24 16:56:13
166
原创 栈
1.栈的定义栈是限制仅在表的一端进行插入和删除运算的线性表又称为后进先出表(LIFO表)。插入、删除端称为栈顶,另一端称栈底。表中无元素称空栈。 2 栈的逻辑结构和存储表示栈的逻辑结构和线性表相同。栈的抽象数据类型有两种典型的存储表示:基于数组的存储表示和基于链表的存储表示。 (1)基于数组的存储表示实现的栈称为顺序栈,顺序栈可以采用顺序表作为其存储表示
2017-11-03 10:47:59
285
原创 结构体
1.什么是结构体结构体是一种专门设计用来存储不同数据类型元素集合结构体与数组的对比:1)都由多个元素组成2)各个元素在内存中的存储空间是连续的3) 数组只能由多个相同类型的数据构成, 结构体可以由多个不同类型的数据构成。2.结构体的格式 结构体内部的元素,也就是组成成分,我们一般称为"成员"。结构体的一般定义形式为:
2017-10-27 19:37:35
182
原创 线性表
1.基本概念线性表(List):由零个或多个数据元素组成的有限序列。 2.注意:1.线性表是一个序列。2.0个元素构成的线性表是空表。3.线性表中的第一个元素无前驱,最后一个元素无后继,其他元素有且只有一个前驱和后继。4.线性表是有长度的,其长度就是元素个数,且线性表的元素个数是有限的,也就是说,线性表的长度是有限的。如果用数学语言来
2017-10-27 19:32:28
526
原创 函数问题
一.程序如何实现模块化在程序设计过程中大多数程序要比我们之前设计的程序复杂的多,传统的设计方法是“自定向下,逐步求精”的过程。该过程就是将一个大的问题按照层次分解成多个方便解决的小问题,直至各个功能模块,每个单独的功能模块可以单独设计,最后将所有的功能模块有机的结合成完整的程序。 二.函数如何进行定义1函数简介:函数是C语言程序的基本模块,函数一般可以从3中角度进行
2017-10-19 23:53:41
473
原创 指针问题
一.指针的类型从语法的角度看,你只要把指针声明语句里的指针名字去掉,剩下的部分就是这个指针的类型。这是指针本身所具有的类型。例:(1)int*ptr; //指针的类型是int*(2)char*ptr; //指针的类型是char*(3)int**ptr; //指针的类型是int**(4)int(*ptr)[3]; //指针的类型是int(*)[
2017-10-19 23:44:12
157
原创 linux关于系统管理、系统安全命令
系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、cromtab系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo、ps、who df1.作用:用来检查文件系统的磁盘空间占用情况。2.格式:df [options]
2017-10-07 21:24:43
202
原创 语句问题与答疑
1.if语句是什么?应该怎么用?用if语句可以构成分支结构。它根据给定的条件进行判断,以决定执行某个分支程序段。C语言的if语句有三种基本形式。语句的三种形式1) 第一种形式为基本形式:if if(表达式) 语句其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。其过程可表示为下图。【例5-3】#include int
2017-10-07 21:13:42
581
原创 Linux关于文件处理命令
文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln file:ep:file grap grap:English test 1.作用: file通过探测文件内容判断文件类型,使用权限是所有用户 2.格式: file[options] 文件名
2017-10-07 20:31:52
183
原创 运算符与表达式答疑
1.C语言运算符 是什么运算符是告诉编译程序执行特定算术或逻辑操作的符号。C语言的运算范围很宽,把除了控制语句和输入输出以外的几乎所有的基本操作都作为运算符处理。主要分为三大类:算术运算符、 关系运算符与逻辑运算符、按位运算符。除此之外,还有一些用于完成特殊任务的运算符。2.c语言运算符有哪些C语言的运算符主要用于构成表达式,同一个符号在不同的表达式中,其作用并不一致。下面按计算的优先
2017-10-07 18:11:55
273
原创 C语言数据类型问题及答疑
1.C语言里面如何计算数据类型取值范围?Char 8 -128~127 8 -128~127int 16 -32768~32767 32 -21亿~21亿short 16 -32768~32767 16 -32768~32767long 32 -21亿~21亿 32 -21亿~21亿Unsigned char 8 255 8 255
2017-10-07 17:56:57
621
原创 工程管理器make和调试工具gdb
在实际的开发过程中,仅仅通过使用 gcc 命令对程序进行编译是非常低效的。源文件的个数越多,那么 gcc 的命令行就会越长。所以引入工程管理器make
2017-10-07 17:11:03
312
原创 有关gcc的知识简述
gcc的命令使用格式为:gcc[选项][文件名][选项][文件名]1. gcc 命令拥有数量庞大的编译选项,按类型可以把选项分为以下几大类。 总体选项:用于控制编译的整个流程。常用选项:-c:对源文件进行编译或汇编。-E:对源文件进行预处理。-S:对源文件进行编译。-o file:输出目标文件 file。-v:显示编译阶段的命令。 警告选项:
2017-10-07 16:55:16
353
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人