自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++面试题

1、局部变量能否和全局变量重名?            答:能,局部会屏蔽全局。要用全局变量,需要使用 ":: "    局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。    2、如何引用一个已经

2017-08-06 23:23:15 234

转载 常见算法的时间空间复杂度,转载大神的,就当是笔记

常用的排序算法的时间复杂度和空间复杂度 排序法 最差时间分析 平均时间复杂度 稳定度 空间复杂度 冒泡排序 O(n2) O(n2) 稳定 O(1) 快速排序 O(n2) O(n*log2n) 不稳定 O(log2n)~O(n) 选择排序 O(n2) O(n2) 稳定 O(1) 二叉树排序 O(n

2017-08-06 22:55:55 412

原创 命名空间的类的对象

创建命名空间的类的对象需要用到域解析符 nsA::myClass ca;   //声明一个nsA中类myclass的实例ca ca.print();   //调用类实例ca中的print(),输出结果 nsB::myClass cb;   //声明一个nsB中类myClass的实例cb cb.print(); //调用类实例cb中的print(),输出结果

2017-08-05 23:59:16 411

转载 设计并发服务器,使用多进程与多线程有什么区别?

网络编程中设计并发服务器,使用多进程与多线程,请问有什么区别? 答案一: 1,进程:子进程是父进程的复制品。子进程获得父进程数据空间、堆和栈的复制品。 2,线程:相对与进程而言,线程是一个更加接近与执行体的概念,它可以与同进程的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。 两者都可以提高程序的并发度,提高程序运行效率和响应时间。 线程和进程在使用上各有优缺点:线程执行开销小

2017-08-02 15:55:13 1953

原创 单链表的用法

个人在学习中的理解,可能有错误,请不吝指教 链表就是很多结点 通过 指针 串链 起来   链表的结构: 每个表 是个结构体,结构体包括数据域和指针域,一个结构体称为结点,每个结点的指针域指向下一级,最后一个个结点的指针域为NULL。 typedef struct node{ data;node* next}node  typedef Node *PNode  重命名结点指针类型 链

2017-07-08 13:14:03 317

原创 c++虚函数表

C++中的虚函数的实现一般是通过虚函数表(C++规范并没有规定具体用哪种方法,但大部分的 编译器厂商都选择此方法)。 类的虚函数表是一块连续的内存,每个 内存单元中记录一个JMP指令的地址。 注意的是, 编译器会为每个有虚函数的类创建一个虚函数表,该虚函数表将被该类的所有对象共享。类的每个虚成员占据虚函数表中的一行。如果类中有N个虚函数,那么其虚函数表将有N*4字节的大小。 虚函

2017-01-23 19:38:45 195

原创 .纯虚函数和抽象类

.纯虚函数和抽象类    语法格式    virtual 返回值类型 函数名(参数) = 0;        1) 纯虚函数没有函数体,之有 声明;      =0.只表示是纯虚函数,    2) =0 不表示返回值是0,只是一个形式,告诉编译器这是纯虚函数    3)包含纯虚函数的类称为抽象类;    4)抽象类通常称为基类,让派生类去实现纯虚函数。      派生类必须实现纯

2017-01-22 20:28:24 265

原创 c++中各种模式的用法

C++中各种输入模式的用法(怎样输入空格) 1、cin 1、cin.get() 2、cin.getline() 3、getline() 4、gets() 5、getchar() 1、cin>> 用法1:最基本,也是最常用的用法,输入一个数字: #include using namespace std; ma

2017-01-19 20:57:37 253

原创 】编写void put(int n)函数时,注意考虑数组满的情况

#include using namespace std; class ListArray{ private: int size; int elem; int *p; public: ListArray (int s = 100); void put (int n); void print (); ~ListArray(); }; Lis

2017-01-19 09:51:09 905

原创 gets和scanf输入字符串的比较

scanf( )函数和gets( )函数都可用于输入字符串,但在功能上有区别。若想从键盘上输入字符串"hi hello",则应该使用__gets__函数。 gets可以接收空格;而scanf遇到空格、回车和Tab键都会认为输入结束,所有它不能接收空格。 char string[15]; gets(string); /*遇到回车认为输入结束*/ scanf("%s",string)

2017-01-14 18:35:58 433

转载 makefile用法及作用

一、Makefile里有什么? Makefile里主要包含了五个东西:显式规则、隐晦规则、变量定义、文件指示和注释。 1、显式规则。显式规则说明了,如何生成一个或多的的目标文件。这是由Makefile的书写者明显指出,要生成的文件,文件的依赖文件,生成的命令。 2、隐晦规则。由于我们的make有自动推导的功能,所以隐晦的规则可以让我们比较粗糙地简略地书写Makefile,这是由m

2016-12-20 21:58:01 560

原创 pid_t的类型定义

这个类型定义实际上就是int型。但是在linux下的c中的头文件中这个定义到底是怎么定义的呢?今天就把以前找这个定义的过程贴出来:在文件/usr/include/bits/types.h中我们终于找到了这样的定义: #define    __S32_TYPE        int 由此我们终于找到了pid_t的真实定义:实际他就是  int  类型的。

2016-12-19 21:58:01 483

原创 cpu进行操作的都是地址 *号在c语言中的作用

CPU 访问内存时需要的是地址,而不是变量名和函数名!变量名和函数名只是地址的一种助记符,当源文件被编译和链接成可执行程序后,它们都会被替换成地址。编译和链接过程的一项重要任务就是找到这些名称所对应的地址。 假设变量 a、b、c 在内存中的地址分别是 0X1000、0X2000、0X3000,那么加法运算c = a + b;将会被转换成类似下面的形式:  0X3000 = (0X1000) +

2016-11-28 22:25:13 379

原创 关于循环注意的细节

1.在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU跨切循环层的次数 2.建议for语句的循环控制变量的取值采用"半开半闭区间"写法。 半开半闭区间写法和闭区间写法虽然功能相同,但相比之下,半开半闭区间写法更加直观。二者对比如下: 半开半闭区间写法: 3.不能在for循环体内修改循环变量,防止循环失控 4.循环要尽可能短,要使代码清晰,一目了然。

2016-11-25 22:46:30 402

原创 scanf时\n与不\n

scanf中,除了 %指定的数据,其他字符需要原样输入 scanf("%d%d\n",&n,&m), 意思就是先输入两个整数,再输入一个'\n', 但是在正常输入的时候, 回车被当作输入结束的标记,并没有被scanf收到, 于是scanf认为输入数据不全,继续等待. 当再次输入其他字符, scanf检测到输入的字符和'\n'不匹配,于是返回. 其实你不需要再输入两个数字,只要再输

2016-11-24 22:12:20 670

原创 冒泡排序和选择排序自我总结:GCC 编译报错:程序中有游离的 \357’ \273’ \277

冒泡排序和选择排序简析: 冒泡排序是两两交换位置,将较大数字一步一步放在最后。从左到右依次比较交换,然后循环这个步骤。 选择排序是先进行比较找出最小数,标记出最小数的位置,然后最小数和第一个数字交换位置。先进行比较,再交换, 然后循环这个过程。 冒泡排序   for(i=0;i      for(j=0;j        {          if a[j]>a[j+1];

2016-11-22 22:55:08 446

原创 2016 11 .21学习小记

if,else if都需要接判断表达式。else不需要判断表达式。   使用else if和else,必须紧跟在if之后,形参if-esle if组或if-else对。 没有对应的if语句,else if和else语句都会在编译时报错。 用printf语句输出数组内的数字是 直接a[i]就可以 不需要取地址 因为a[i]本来就是指向地址

2016-11-21 23:26:39 195

原创 双引号和点括号区别

预处理器发现 #include 指令后,就会寻找后跟的文件名并把这个文件的内容包含到当前文件中。被包含文件中的文本将替换源代码文件中的#include指令,就像你把被包含文件中的全部内容键入到源文件中的这个位置一样。  #include 指令有两种使用形式  #include stdio.h> 文件名放在尖括号中  #include “mystuff.h” 文件名放在双引号中 

2016-11-18 23:13:46 1294

原创 2016 .11.16

记得if 完了加fi  case 结束后加esac #$取值要加空格 重定向 如何看 1)command >file 2>file 2)command >file 2>&1  then 不能跟在if 后面 否则会出错

2016-11-16 22:50:38 208

原创 第三篇

echo “”双引号 ,除$、转义符\、倒引号`这三个保留特殊功能,其他字符均做普通字符。  单引号 被引起的字符全部做普通字符,即全部原样  倒引号 取值 $# ——传送给shell程序的位置参数的数量 $? ——最后命令的完成码或者在shell程序内部执行的shell程序(返回值) $0 ——shell程序的名称 $* ——调用shell程序时所传送的全部参数的单字符串, “参数1

2016-11-15 23:09:41 178

原创 New Start 学习记录 1

1.shell中   如果指定目录错误  那么创建的文件或者目录 保存在当前目录 2 shell是什么 一系列经常使用的Linux命令,你可以把他们存储在一个文件中。Shell可以读取这个文件并执行其中的命令。这样的文件被称为脚本文件 3.1编写文件 抬头#!/bin/bash  2  +权限 3 执行 sh .sh 或者 ./.sh 4

2016-11-14 22:35:13 206

原创 linux基础

1.开关机 init 0  关机 init6 重启; 2.系统结构       硬件                       内核  应该是内部处理计算的相关东西           作  pwd 查看当前目录more/less 文件:查看文件内容 cat 显示所指文件的内容mv(move) 剪切文件mv [参数] 源文件 目标文件 cp(copy) 拷贝文件cp [参数] 源文件 目

2016-11-09 22:34:15 147

空空如也

空空如也

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

TA关注的人

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