Struct与Class区别?
1.成员默认访问权限,Class默认private,Struct默认public。
2.默认继承权限,Class默认private,Struct默认public。
引用与指针的区别?
1.引用是别名,指针是地址。
2.指针可以在运行时改变所指向的值,引用绑定后不可改变。
3.程序为指针分配内存,而引用不分配。
4.指针可以指向空,引用不可指向空值。
5.指针没有级数限制,引用只能一级。int** p合法,int&& p非法。
6.引用必须初始化,指针不必。
C++是不是类型安全的?
不是,不同类型指针可强制转换(reinterpret cast)
const符号常量?
1=2
1.const char* p 一个指向const char的指针,p可以改变指向,p指向的值不可改变。
2.char const* p 一个指向const的char指针。
3.char* const p 指向char的const指针。
内存的分配方式?
1.静态存储区。内存在编译时已分配好,且整个运行期间都存在。如全局变量。
2.栈。执行函数时,函数局部变量在栈上创建,函数结束时会按照创建顺序反向依次自动释放。栈的分配效率很高但容量有限。
3.堆。
自定义Class,提供copy constructor、operator==、operator+=函数声明?
Class A
{
public:
int str;
A();
A(const A &p);
bool operator==(const A &n, const A &m);
A& operator+=(const A &n);
}
Map
Map内建一颗红黑树