1. const和指针的关系
int t=10;
const int* ptr =&t;//1
int const* ptr2=&t;//2
(1) const (int *)表示,指针指向的值不可以被改变。
(2)int (const *) const,修饰的是指针,表明,指针指向的是t,指针不可以指向其他位置,但指针的内容可以改变。
2. 什么是内联函数?内联函数和宏定义的区别?
内联函数:使用函数代码替代函数调用。编译的时候代码插入。
c 语言宏定义:预编译的时候进行宏展开。
宏定义没有类型检查,内联函数有宏定义检查。
3.什么是引用,引用和指针的区别?
c++ 中引用变量,可以称为变量的一个别名。在函数中使用较多,可以使用变量本身,而非临时变量。
引用和指针的区别:引用必须在声明时初始化,指针可以不用。
4. 临时变量、引用参数和const
如何实参和引用不匹配,c++ 就会生成临时变量。目前也只能在参数为const的引用的时候才可以。
5. 使用const的好处:
(1)避免参数被修改的错误。
(2)函数可以接受处理const和非const的实参。
(3)使用const引用函数能够正确生成并使用临时变量。
6. 什么是左值,什么是右值?什么是左值引用?什么是右值引用?
C++ 左值与右值 左值引用与右值引用_右值引用赋值给左值引用_小鹿的洋花园的博客-CSDN博客
7. 结构体和类的区别:
(1) 结构体和类都可以拥有成员变量和成员函数,结构体的成员变量默认是
结构体的成员:默认是public。
类的成员:默认是private。
(2)储存方式:结构体储存在栈上。
类是引用型,栈上保存的是引用,实际保存在堆上。
(3) 结构体中声明的字段无法赋予初值,类可以。
结构体的构造函数中,必须为结构体所有字段赋值,类的构造函数无此限制。
轻量级的使用结构体,重量级的使用类。