程序设计

2022/1/11 1:33:38

本文主要是介绍程序设计,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

易错点

  1. 1个指针=4字节(在翁阿姨编译器下)
  2. sizeof 的值应该在编译时就确定
  3. 重载函数中一定搞清楚 obj.data 和 data
  4. 8 进制下不能出现 8, 9,故 0288 这种表达式不合法
  5. 注意 Switch 语句:本质上是 goto
  6. 隐式转换和单参数构造共存导致⼆义性(两种隐式转换共存)
  7. 输出 double 时注意四舍五入
  8. 注意基类函数有没有写 virtual,没写就不具有多态性
  9. 注意输出是否换行!
  10. =, ->, (), [] 不可以重载成友元函数
  11. 优先级的问题:! > && > ||
  12. class 的 static 变量只能在类外定义;静态常量为 static const
  13. 不能修改字符串常量!
  14. 区分 getline, get
  15. [?] 继承时可以基类的同名函数;等于号不能 virtual
  16. 常量成员要在初始化列表中赋值
  17. double 不能取模
  18. 赋值函数注意特判 this=&other
  19. delete字符数组可以不加[]
  20. 声明 A 为 B 的友元,需要在 B 前面声明 A
  21. 派⽣类的析构函数会⾃动调⽤基类的析构,不需要显式调⽤,派⽣类的赋值重载需要显式调⽤基类的赋值重载函数
  22. 当有任意⼀种构造函数时,编译器不⾃动补上构造函数
  23. "" 操作符自动在末尾加上 '\0',故 sizeof "\0" = 2
  24. cin 一个字符串并不会读入 \n

不知道点:

  1. [?] 希尔排序 \(O(N^{\frac{2}{3}})\)
  2. [?] decltype 自动推断类型,尾置返回类型
  3. 拷贝构造函数,移动构造函数
  4. static, extern const 变量:被 static 后不能被 extern,另一个文件中的 const 不能被 extern,const 一定要赋初值
  5. [?] "SJTU", {"SJTU"}, {S,J,T,U} 等的区别
  6. int a[5]={0} 相当于全化为 0
  7. [?] lambda 表达式:lambda表达式是⼀个未命名的内联函数,可以赋值给⼀个函数指针。其捕获到的值是在创建时候的值⽽不是 使⽤时候的值。
  8. 正数的补码与原码相同,负数的补码为该数的反码+1
  9. ⾃定义类型的数组调⽤默认构造函数
  10. void* 可以指向任何类型
  11. strcpy、>>、<<、strlen都进⾏过重载 与'\0'有关
  12. 调⽤派⽣类析构函数会(⾃动)调⽤基类的析构函数
  13. 函数指针 (*func[6])()
  14. [?] public, private, protected 访问权限问题:派⽣类的友元也可以访问基类的public/protected 但⽆权访问private 等
  15. 友元函数是⼀个全局函数,函数定义可以在类中也可以在类外 定义在哪⾥都不是类的⼀部分
  16. static在栈消亡之后消亡
  17. [?] 流操作符
  18. 字符串常量:不能擅⾃delete 即不要移动构造
  19. 对象使⽤fail之后等于“坏掉”,⽆法继续使⽤。需要⽤cin.clear恢复状态
  20. ⽤read读⼊时可以使⽤cin.eof检查是否读到了EOF

问题

  1. char p[] = "1234",结束时需不需要 delete p?不需要
  2. 可以 delete一个空指针吗?可以
  3. '>>' 、get 通过对象的返回值判断是否到了末尾,返回值是什么?


这篇关于程序设计的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程