C++
wyp784035821
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
直接插入排序
直接插入排序类似打牌,一开始拿到一个数,接下来拿到的数与一开始的数比较若原来的数大,则下标加一,后来的数下标改为原来数的下标,若后来数较大,则原来数不变,后来数下标变为原来数下标加一#include using namespace std;void insertsort(int a[], int len){ int i,j,tmp; for(i = 1; i原创 2018-01-24 10:21:25 · 199 阅读 · 0 评论 -
拷贝构造的三种情况
1、用类的对象去初始化该类的另一个对象时;2、函数的形参时类的对象,调用函数进行形参和实参的结合时;3、函数的返回值时类的对象,函数执行完返回调用者时;#include <iostream>using namespace std;class Point{public: Point(Point &p); //拷贝构造 Point(...原创 2018-03-04 23:54:17 · 386 阅读 · 0 评论 -
多态性与虚函数
程序关联的两种方式 1、静态关联 关联工作在编译、链接阶段完成的情况称为静态关联。因为关联过程是在程序编译。链接期间完成的,因此有时也称早期关联或提前关联。在编译、链接过程中,系统就可以根据函数的参数类型或是个数等特征进行匹配后,确定要调用若干名函数中的哪一个。一般情况下,函数重载和运算符重载都属于静态关联。静态关联的主要优点是程序执行效率高,因为在编译、链接阶段有关函数调用和具体的执行代码的关系...原创 2018-03-03 19:42:42 · 213 阅读 · 0 评论 -
将I am from Shanghai变为 Shanghai from am I
#include <iostream>using namespace std;void RevStr(char *src){ char *start = src, *end = src, *ptr = src; while (*ptr++ != '\0') //遍历字符串 { if(*ptr == ' ' || *ptr == ...原创 2018-03-03 19:30:38 · 401 阅读 · 0 评论 -
C++中const的用法
C++ const 允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的。如果在编程中确实有某个值保持不变,就应该明确使用const,这样可以获得编译器的帮助。1.const 修饰成员变量 const修饰指针变量时: (1)只有一个const,如果const位于*左侧,表示指针所指数据是常量,不能通过解引用修改该数据;指针本身是变量,可以指向其他的原创 2018-01-10 19:43:35 · 176 阅读 · 0 评论 -
局部变量能否和全局变量重名
1、局部变量能否和全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要使用 ":: " (域解析符) 局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。原创 2018-01-23 19:26:49 · 16736 阅读 · 0 评论 -
#pragma pack的作用
#pragma pack 用来设置对齐的数值,如#pragma pack(1),则是以1对齐,改变括号内的数值就改变了对齐的方式。#include #pragma pack(1) //对齐长度变为1using namespace std;struct u //u 的长度变为1+ 4 + 8 = 13{ char a;原创 2018-02-01 09:57:23 · 296 阅读 · 0 评论 -
使用sizeof计算联合体(union)的大小
联合体的大小取决于他所有成员中占用空间最大的一个成员的大小。并且对于复合数据类型,如union,struct, class 的对齐方式为成员中最大成员的对齐方式。#include using namespace std;union u //u的大小是其中最大的double类型成员a,所以sizeof(u) = sizeof(double)原创 2018-02-01 09:47:19 · 13561 阅读 · 0 评论 -
快速排序
快速排序算法步骤: 1、从数列中挑出一个元素,称为 “基准”(pivot), 2、重新排序数列,所有元素比基准值小的摆放在基准左区间,所有元素比基准值大的摆在基准的右区间。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分操作。3、递归地把小于基准值元素的子数列和大于基准值元素的子数列排序。递归的最底部情形,是数列的大小是零或一,也就是永远都已经被排序好了。虽然一直递归下去原创 2018-01-24 16:09:35 · 234 阅读 · 0 评论 -
shell(希尔)排序
希尔排序其实和直接插入排序差不多,只不过在直接插入排序前把数组变为基本有序的状态,效率有所提高。但也因此,希尔排序是不稳定的。#include using namespace std;void shellsort(int a[],int len){ int h,i,j,tmp; h为步长 for(h = len/2; h > 0; h = h/2) //希尔排原创 2018-01-24 11:13:18 · 235 阅读 · 0 评论 -
利用联合体判断大小端
小端:低地址存放低字节;大端:低地址存放高字节#include <iostream>using namespace std;int checkcpu(){ union w { int a; char b; }c; c.a = 1; return (c.b == 1);}int main(){ if(checkcpu() == 1) printf...原创 2018-03-06 14:05:14 · 717 阅读 · 0 评论
分享