- 博客(27)
- 收藏
- 关注
原创 C++函数模板初阶
泛型编程编写与类型无关的通用代码,是代码复用的一种手段在实现swap函数的时候,我们可以利用函数重载来实现两个数字之间的互换,代码演示:#include<iostream>using std::cout;using std::endl;void swap(int& a, int& b){ int tmp = a; a = b; b = t...
2019-08-09 14:04:29 352
原创 拷贝构造函数和赋值运算符重载
拷贝构造函数只有单个形参,该形参是对本类类型对象的引用(一般常用const修饰),在用已存在的类类型对象 创建新对象时由编译器自动调用1.1构造函数的特性拷贝构造函数是构造函数的一个重载形式拷贝构造函数的参数只有一个且必须使用引用传参,使用传值方式会引发无穷递归调用代码演示:#include<iostream>#include<iostream&g...
2019-05-14 02:22:07 564
原创 构造函数和析构函数
构造函数代码演示:#include<iostream>using std :: cout;using std :: endl;class Date{public: void SetDate(int year, int month, int day) { _year = year; _month = month; _day = day; } vo...
2019-05-14 02:18:54 312
原创 C++类与对象(中)---类的6个默认成员函数:构造函数,析构函数,拷贝构造函数,赋值运算符重载,取地址及const取地址操作符重载,const 成员
类的6个默认成员函数如果一个类中什么成员都没有,简称为空类。空类中什么都没有吗?并不是的,任何一个类在我们不写的情 况下,都会自动生成6个默认成员函数:构造函数,析构函数,拷贝构造函数,赋值操作符重载函数,取地址操作符重载,const取地址操作符重载构造函数代码演示:#include<iostream>using std :: cout;using std :: ...
2019-05-14 02:16:24 271
原创 内存对齐题目---为什么存在内存对齐,如何修改默认对齐数,如何知道结构体中某个成员相对于结构体起始位置的偏移量
1.为什么存在内存对齐: 平台原因:不是所有的硬件平台都能访问任意地址上的任意数据,某些硬件平台只能在某些地址处取某些特定类型数据,否则抛出硬件异常 性能原因:CPU在处理数据的时候并不是一个字节一个字节的处理,如果不进行内存对齐会导致处理次数变多,效率降低,可以说内存对齐是一种空间换时间的方法2.如何修改默认对齐数: ...
2019-05-07 17:26:55 495
原创 C++基础(下)---引用详解,基于范围的for循环(C++11),指针空值nullptr(C++11)
引用引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它 引用的变量共用同一块内存空间-引用的使用:类型& 引用变量名(对象名) = 引用实体;代码演示:#include<iostream>using std::cout;using std::endl;int main(){ int a = 1; ...
2019-05-07 00:57:35 1098
原创 C++基础入门(中)---函数重载详解,auto关键字(C++11)
C++基础入门(下)函数重载函数重载是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的 形参列表(参数个数 或 类型 或 顺序)必须不同,常用来处理实现功能类似数据类型不同的问题代码演示:#include<iostream>using std::cout;using std::endl;int Add(int a, int...
2019-05-07 00:07:38 537
原创 Linux下top命令详解
top 用来监控linux的系统状况,动态实时的显示系统中进程的资源占用情况-d 秒数 表示进程页面更新时间(默认为5秒)-b 次数 表示进程打印的次数-p PID 查看进程号为PID的进程例: top -b -d 2-n 5 > test.txt (指的是两秒刷新一次,总共将刷新的5次内容写到test里面去)第一行和uptime...
2019-05-06 00:28:54 321
原创 Linux下su和sudo命令详解
su 用以切换成不同的用户的身份默认只是切换身份,并没有切换环境变量,环境变量依然是普通用户的- 切换用户身份时,用户的环境变量也切换成新用户的环境变量,所以"-"不能省略,不然有些操作无法执行sudo 使用超级用户来执行命令,一般指的是root用户想要使用sudo首先得在/ect/sudoers中添加该用户先利用su - 进入root用户,接着输入visudo...
2019-05-06 00:24:49 6428
原创 Linux下free命令详解
free 常用的监控工具,用于显示已使用和空闲的物理内存和交换空间-h 以人们易读的GB、MB、KB等格式显示-m 输出的数据单位为MB total: 内存的总数 used:已使用的内存数 free:空闲的内存数s...
2019-05-06 00:22:32 1434
原创 Linux基础命令(下)---其他命令du, df, top, free, pstack, su, sudo
man 查看手册命令stat 查看文件的详细状态信息链接符:| 管道符连接两个命令,将前边命令的输出结果作为后边命令的输入>> 重定向改变数据流向,将数据追加到文件末尾> 重定向改变数据流向,先清空文件原有数据,然后写入新数据du 用来查看文件或目录所占用的磁盘空间的大小-h 以人类可读方式...
2019-05-06 00:14:06 276
原创 Linux基础命令(上)---目录相关命令操作,文件相关命令操作,压缩或解压缩命令,时间日期命令,匹配查找命令,权限操作的相关命令
1.目录相关命令操作:ls 列出当前目录下的内容 -a 浏览所有文件,包含隐藏文件,linux下以.开头的文件是隐藏文件 -l 浏览文件的详细信息 -t 对浏览的文件进行按时间排序 -S 按时间排序 -r 逆序 pwd 显示当前所在路径(绝对路径)绝对路径:以根目录(/)为起始的路径(linux的目录结构就是以根目录起...
2019-05-05 16:25:58 156
原创 C++基础入门(上)---命名空间,c++输入输出,缺省参数,内联函数
C++基础入门(上)命名空间在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作 用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字 污染,namespace关键字的出现就是针对这种问题的-命名空间定义定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可...
2019-04-29 14:44:19 207
原创 指针进阶题目演示
指针进阶题目演示1.求出程序运行结果:#include<stdio.h>int main(){ int[a]={1,2,3,4,5}; int* p=(int*)(&a+1); printf("%d,%d",*(a+1),*(p-1)); return 0;}结果为:原因:&a+1是给数组地址+1,指针跳过整个数组,跳到5后面的地址,在-1就...
2019-03-22 17:02:56 473
原创 指针进阶---字符指针,指针数组,数组指针,二级指针接收参数
指针进阶字符指针在指针类型中,我们知道有一种特殊类型的字符指针char*,它既可以用来指向字符,也可以用来指向字符串代码演示:#include<stdio.h>int main(){ char c='w'; char* p1="hello";//表示指针指向字符 char* p2=&str;//表示指向字符串 return 0;}注意:cha...
2019-03-22 13:38:17 385
原创 模拟实现memcpy,memmove,strtok----缓冲区重合实质
memcpy和memmovevoid * memcpy ( void * destination , const void * source , size_t num ) ;void * memmove ( void * destination , const void * source , size_t num ) ;作用;从source的位置开始向后复制num个字节的数据到des...
2019-03-16 23:31:38 184
原创 模拟实现strlen,strcmp,strcat,strstr
和字符串有关的库函数函数介绍strlensize_t strlen( const char str )*作用:用来计算字符串的长度,字符串以 ‘\0’ 作为结束标志,strlen函数返回的是在字符串中 ‘\0’ 前面出现的字符个数(不包 含 ‘\0’ )函数使用方式:#include &lt;stdio.h&gt;#include &lt;string.h&...
2019-03-16 18:25:18 164
原创 指针初阶题目演示
指针初阶题目演示1.求下面代码的输出结果:#include<stdio.h>int main(){ int a[] = { 1,2,3,4 }; printf("%d\n", sizeof(a)); printf("%d\n", sizeof(a + 0)); printf("%d\n", sizeof(*a)); printf("%d\n", sizeof(a + ...
2019-03-13 13:18:14 245
原创 浅谈指针---指针的含义,用法,机器的字节序,指针和数组的关系
指针初阶-指针定义指针是编程语言中的一个对象,利用地址,它的值直接指向存在电脑存储器中另一个地方的值,存这个这个值的地方被称作这个值的地址,这个值的地址就是指针,意思是可以通过指针来找到这个值所在的内存单元,然后进而找到这个值具体是多少- 指针变量指针是一个变量,用来存放内存单元的地址(编号)代码演示:#include &amp;amp;amp;amp;amp;lt;stdio.h&amp;amp;amp;amp;amp;gt; i
2019-03-12 22:34:10 276
原创 数组
数组-数组定义能批量定义一些变量,这些变量在内存空间是连续的-数组的创建type_t arr_name [const_n]type_t 是数组的元素类型const_n 是一个常量表达式,用来定义数组的大小代码演示://代码1int arr1[10];char arr2[3];double arr3[5];//注意:代码2int count=10;int arr...
2019-03-04 21:42:07 121
原创 函数初阶----传值调用和传值调用的区别,形参和实参的实质,函数的递归
函数初阶点击此处可以查看一些简单的题目[自定义函数和递归函数题目](https://blog.csdn.net/wang_yiduo/article/details/87201683)函数的定义在维基百科中对函数的定义是它是一个程序中的子程序,是一个大型程序中的部分代码,由一个或者多个语块组成它负责完成某项特定的任务,而且相较于其他代码具有相对的独立性库函数为了提高程序的效率和可...
2019-02-13 19:39:01 258
原创 函数初阶演示题目
1.写一个函数判断一个数是不是素数#include<stdio.h>int IsPrime(int x){ if ( x == 1 ) return 1; if ( x == 2 ) return 1; int i=0; for(i=2;i<x;++i) { if ( x % i == 0) return 0; } return 1;...
2019-02-13 19:35:50 167
原创 操作符详解题目
1.不能创建临时变量,实现两个数的交换//方法一:#include&amp;amp;amp;lt;stdio.h&amp;amp;amp;gt;int main(){ int a=1; int b=2; a=a+b; b=a-b; a=a-b; printf(&amp;amp;quot;a=%d,b=%d\n&amp;amp;quot;,a,b);}注意:这个方法只适用于两个操作数很小的时候,
2019-02-12 14:46:28 143
原创 操作符详解-----前置++,--和后置++,--的实质,左移操作符,右移操作符,负数的二进制,按位或,按位与,按位异或
操作符详解点击此处可以查看一些简单的题目[操作符详解题目演示:
2019-02-12 14:44:22 253
原创 分支和循环语句
分支和循环语句分支语句-if语句语法结构: if(表达式) 语句; if(表达式) 语句1; else 语句2; //多分支 if(表达式1) 语句1; else if(表达式2) 语句2; else 语句3;解释一下:如果表达式的结果为真,则执...
2019-02-11 20:10:55 272
原创 分支和循环语句题目演示
1.一些for循环的变种#include<stdio.h>int main(){ //变种1 for(;;)//无限循环 { printf("hhhh\n"); } //变种2(输出的x和y是多少?) int x,y; for(x=0,y=0;x<2,y<5;++x,y++) { printf("hhh"\n); } printf("x...
2019-02-11 20:07:28 316
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人