程序设计
易错点
- 1个指针=4/8字节
- sizeof 的值应该在编译时就确定
- 短路求值
- 重载函数中一定搞清楚 obj.data 和 data
- 8 进制下不能出现 8, 9,故 0288 这种表达式不合法
- 注意 Switch 语句:本质上是 goto
- 隐式转换和单参数构造共存导致⼆义性(两种隐式转换共存)
- 输出 double 时注意四舍五入!
- 注意基类函数有没有写 virtual,没写就不具有多态性
- 注意输出是否换行!
=
,->
,()
,[]
不可以重载成友元函数- 优先级的问题:
!
>&&
>||
- class 的 static 变量只能在类外定义;静态常量为 static const
- 不能修改字符串常量!
- 区分 getline, get
- 继承时可以基类的同名函数;等于号不能 virtual
- 常量成员要在初始化列表中赋值
- double 不能取模
- 赋值函数注意特判
this=&other
- delete字符数组可以不加[]
- 声明 A 为 B 的友元,需要在 B 前面声明 A
- 派⽣类的析构函数会⾃动调⽤基类的析构,不需要显式调⽤,派⽣类的赋值重载需要显式调⽤基类的赋值重载函数
- 当有任意⼀种构造函数时,编译器不⾃动补上构造函数
""
操作符自动在末尾加上 '\0',故 sizeof "\0" = 2- cin 一个字符串并不会读入 \n
- 不同 template 的函数实为不同函数,static 的值不一样
- const char *p 和 char *const p 的区别
- new int*[3]
不知道点:
-
[?] 希尔排序
-
decltype 自动推断类型,尾置返回类型
-
拷贝构造函数,移动构造函数
-
static, extern const 变量:被 static 后不能被 extern,另一个文件中的 const 不能被 extern,const 一定要赋初值
-
"SJTU", {"SJTU"}, {‘S’,‘J’,‘T’,‘U’} 等的区别
-
int a[5]={0} 相当于全化为 0
-
lambda 表达式:lambda表达式是⼀个未命名的内联函数,可以赋值给⼀个函数指针。若用 = 捕获,其捕获到的值是在创建时候的值⽽不是 使⽤时候的值。若用 & 捕获,是使用时的值。
-
正数的补码与原码相同,负数的补码为该数的反码+1
-
⾃定义类型的数组调⽤默认构造函数
-
void* 可以指向任何类型
-
strcpy、>>、<<、strlen都进⾏过重载 与'\0'有关
-
调⽤派⽣类析构函数会(⾃动)调⽤基类的析构函数
-
函数指针 (*func[6])()
-
[?] public, private, protected 访问权限问题:派⽣类的友元也可以访问基类的public/protected 但⽆权访问private 等
-
友元函数是⼀个全局函数,函数定义可以在类中也可以在类外 定义在哪⾥都不是类的⼀部分
-
static在栈消亡之后消亡
-
流操作符
-
字符串常量:不能擅⾃delete 即不要移动构造
-
对象使⽤fail之后等于“坏掉”,⽆法继续使⽤。需要⽤cin.clear恢复状态
-
⽤read读⼊时可以使⽤cin.eof检查是否读到了EOF
-
强制类型转换:
static_cast<double> a/b
. -
函数也能被申明为静态的
-
如果自定义派生类赋值运算符重载函数,必须显式调用基类的赋值运算符重载函数:
derive operator=(const derive &other) { if (this == &other) // ... people::operaor=(other); // ... }
问题
- char p[] = "1234",结束时需不需要 delete p?不需要
- 可以 delete一个空指针吗?可以
- '>>' 、get 通过对象的返回值判断是否到了末尾,返回值是什么?
( >> ) 可以转化成 bool 类型。 get(x), x 为文件末尾时值为 -1,或者 255
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)