- C++数据结构考研chapter5树(更新ing)
一、概念1.结点2.边3.根4.叶子结点5.分支结点6.子树二、术语1.结点之间的关系描述(1)祖先(2)子孙(3)双亲(父)(4)孩子(5)兄弟(6)堂兄弟(7)路径自上而下(8)路径长度经过了几条边2.结点、树的属性描述(1)结点的层次(深度)从上到下数,默认从1开始,看题目要求(2)结点的高度从下到上......
- 初识C++(上)
目录 1.引用1.1引用特性:1.2传引用传参1.3引用返回2.重要注意事项3.函数重载3.1重载原理 4.类的认识4.2 访问限定符号4.3 类的作用域4.4类的实例化5.对象 6.this指针6.1特性6.2注意事项 1.引用 相当与给某个变量取了一个别名,但是这前者和后......
- 【C++】禁止隐式转换
默认转换考虑如下代码voidf(inta){}以下调用都是合法的:intmain(void){f(1);//调用1f(2.f);//调用2f('c');//调用3f(1ul);//调用4return0;}合法的原因是C++的隐式自动转换,甚至支持的类也可以自动转换,比如如下Test类,也可以作为f的......
- c++重载运算符
定义点类(Point),用以表示几何学点的概念,有属性x、y表示坐标,并重载"-"单目运算符和"=="双目运算符,要求"-"实现对象的成员变量的数值符号取反,而"=="实现判断两个Point类的对象坐标是否相同。#include<iostream>usingnamespacestd;classPoint{ intx,y;public:......
- C++ new&malloc
1.申请的内存所在位置new操作符从自由存储区(freestore)上为对象动态分配内存空间,而malloc函数从堆上动态分配内存。那么自由存储区是否能够是堆(问题等价于new是否能在堆上动态分配内存),这取决于operatornew的实现细节。自由存储区不仅可以是堆,还可以是静态存储区,这都看operator......
- C++ 返回值优化
1.函数返回机制函数返回值的传递分为两种情况:当返回的对象大小不超过8字节时,通过寄存器(eaxedx)返回。当返回的对象大小大于8字节时,通过栈返回。此处需要注意的时候,如果返回的是struct或者class对象,即使其大小不大于8字节,也是通过栈返回的。在通过栈返回的时候,栈上会有一块......
- C++ volatile
1.volatile关键字C++中的volatile关键字和const对应,用来修饰变量,通常用于建立语言级别的memorybarrie。volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访......
- C++ static
1.隐藏(static函数,static变量均可)当同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。如果加了static,就会对其它源文件隐藏。利用这一特性可以在不同的文件中定义同名函数和同名变量,而不必担心命名冲突。static可以用作函数和变量的前缀,对于函数来讲,sta......
- C++高级面试题:解释 C++ 中的函数对象适配器
解释C++中的函数对象适配器函数对象适配器是C++中的一种编程技术,用于修改或增强现有的函数对象的行为。它们通常通过组合或包装现有的函数对象来实现所需的功能。函数对象适配器允许我们在不修改原始函数对象的情况下,对其进行修改或扩展。这样可以实现代码的重用和可......
- C++ static和const
const定义的常量在超出其作用域之后其空间会被释放;static定义的静态常量在函数执行后不会释放其存储空间;1.staticstatic表示的是静态的。类的静态成员函数、静态成员变量是和类相关的,而不是和类的具体对象相关的。即使没有具体对象,也能调用类的静态成员函数和成员......