随笔分类 - C++
摘要:#include<bits/stdc++.h> using namespace std; //定义一个函数指针 typedef int (*Fun)(int,int); int add(int a,int b){return a+b;} int sub(int a,int b){return a-b
阅读全文
摘要:虚函数是类的成员函数,虚函数体现了运行时的多态性,编译时的多态性由函数重载和运算符重载等体现虚函数和函数重载都体现了多态性,但他们的表现形式不一样,函数重载调用根据参数的个数、参数的类型进行区分,而虚函数则是根据动态联编(运行时的多态性)来确定的。 输出:1 3 1.231 3 11.2311 13
阅读全文
摘要:对于静态成员:1)一个类中可以有多个静态函数成员变量,所有的对象都共享这些静态成员变量,都可以引用它。2)static成员变量和普通static变量一样,都在内存分配区中的全局区分配内存,到程序结束时才释放,这就意味着,static成员变量不随对象的创建而分配内存,也不随对象的销毁而释放内存。而普通
阅读全文
摘要:1、什么是友元函数? 通常一个类的私有函数只能在该类的内部进行访问,但当类允许其他类或者函数访问它的非共有成员时,方法是令其他类或者函数成为友元函数。 eg:友元函数声明定义使用 #include <iostream> using namespace std; class Car { friend
阅读全文
摘要:对于一个空类,编译器默认产生4个成员函数:默认构造函数、析构函数、拷贝构造函数和赋值函数。1、构造函数:构造函数是一种特殊的类成员,是当创建一个类的时候,它被调用来对类的数据成员进行初始化和分配内存。构造函数的命名必须和类名完全相同,构造函数可以被重载,可以多个,可以带参数。 eg: class A
阅读全文
摘要:拷贝构造函数: 拷贝构造函数是一种特殊的构造函数,函数的名称必须和类名称一致,它的唯一的一个参数是本类的一个引用变量,该参数是const类型,不可变的。例如:类A的拷贝构造函数的形式为A(A& x)。当用一个已经初始化过了的自定义类类型对象去初始化另一个新构造的对象的时候,拷贝函数就会被自动调用。也
阅读全文
摘要:将中缀表达式转换为后缀表达式的算法思想如下: 从左往右开始扫描中缀表达式 遇到数字加入到后缀表达式 遇到运算符时: 1、若为‘(’,入栈 2、若为’)‘,把栈中的运算符依次加入后缀表达式,直到出现'(',’(‘出栈,退出该次循环 3、若除’(‘ 和 ‘)’,要入栈的运算符优先级大于等于栈顶的运算符的
阅读全文
摘要:#include <iostream> #include <stdlib.h> #include <string.h> #include <algorithm> #include <vector> #include <list> #include <deque> using namespace st
阅读全文
摘要:1、关联容器和顺序容器 C++中有两种类型的容器:顺序容器和关联容器,顺序容器主要有:vector、list、deque等。关联容器主要有map和set。如下图: 1、vector基本使用 #include <iostream> #include <stdlib.h> #include <strin
阅读全文
摘要:代码段 --text(code segment/text segment)text段在内存中被映射为只读,但.data和.bss是可写的。text段是程序代码段,在AT91库中是表示程序段的大小,它是由编译器在编译连接时自动计算的,当你在链接定位文件中将该符号放置在代码段后,那么该符号表示的值就是代
阅读全文
摘要:问题描述:在8*8的国际象棋盘上摆放8个皇后,使其不能互相攻击,即任何两个皇后都不能处于同一行、同一列或者同一斜线上,问有多少种摆法。 算法分析: 利用3个数组分表来标记冲突,数组a、b、c。 a数组代表列冲突,a[0]~a[7]代表0~7列,如果a[0]=1,则表示第0列已有皇后。 b数组带表主对
阅读全文
摘要:1、函数指针(1) float(**def)[10]:def是一个二级指针,它指向的是一个一维数组指针,数组的元素都为float;(2) double*(*gh)[10]:gh是一个指针,它指向一个一维数组,数组元素都是double*。(3) double(*f[10])():f是一个数组,f有10
阅读全文
摘要:this指针是在实例化一个对象后产生的,并且指向该对象本身。比如实例化一个对象,那么this=&p;用“&”取地址符来取对象本身。同样,如果定义一个对象p,这个类中,有一个public变量x,那么就可以用this->x=0来定义x的值,等同于p.x=0。 (1)、this只能在成员函数中使用。全局函
阅读全文
摘要:对于内联函数: (1)、在C++中,以inline修饰的函数叫做内联函数,编译时C++编译器会调用内联函数的地方展开,没有函数压栈开销,内联函数提升程序运行的效率。 (2)、内联函数和普通函数相比可以加快程序运行的速度,因为不需要中断调用,在编译的时候内联函数可以直接被镶嵌到目标代码中。而宏自是一个
阅读全文
摘要:#include #include #include #include #include #include using namespace std; class Node{ public : char data; struct Node *lchild,*rchild; }; class BiTree{ public: Node * root;//头结点 ...
阅读全文
摘要:参考地址:https://blog.csdn.net/ajay666/article/details/76736333、https://www.cnblogs.com/ybf-yyj/p/8717601.html
阅读全文
摘要:1、sizeof使用如下: 2、sizeof使用场合(1)、sizeof操作符的一个主要用途是与存储分配和I/O系统那样的例程通信。例如: (2)、用它可以看看某种类型对象在内存中所占的单元字节。例如: (3)、在动态分配一对象时,可以让系统知道要分配多少内存。(4)、便于一些类型的扩充。在wind
阅读全文
摘要:1、const有什么用途?(1)可以定义const常量(2)const可以修饰函数的参数和返回值,甚至函数的定义体。被const修饰的东西都受到强制保护,可以预防以外的变动,能提高程序的健壮性。 2、const和define有什么差别?C++可以用const定义常量,也可以用#define定义常量,
阅读全文
摘要:mian()主函数执行完毕后,是否可能会再执行一段代码?如果需要加入一段代码在mian退出后执行的代码,可以使用atexit()函数注册一个函数,代码如下: 函数输出:Hello World!f2f1
阅读全文
摘要:1、&:表示与操作,eg:2&1=0&&:表示and操作,eg:1&&0=0|:表示或操作,eg:2|1=3||:表示or操作,eg:1||0=12、全局变量a和局部变量a,::a表示全局变量,a表示局部变量, eg: #include <iostream> using namespace std;
阅读全文

浙公网安备 33010602011771号