杨泽彬的神秘商店

博客园 首页 新随笔 联系 订阅 管理

11.for的范围循环

这里可以统计一下我们常用的for循环有哪些?

最常规的:
for(int i=0;i<10;i++);
迭代器:
for(auto iter = v1.begin();iter != v1.end(); iter++)
范围循环:
for(auto x:s)
要注意的是在范围循环中不能有改变容器大小的操作
要注意的是在范围循环中不能有改变容器大小的操作
要注意的是在范围循环中不能有改变容器大小的操作

12.在算法题中我们常常遇到二值判断的题目

需要思考的是我们是不是最好把他封装为返回二值的函数

13.字符串的经典算法函数有些什么

讨论的都是c语言字符串库的函数

可参考的博客:[字符串]:https://blog.csdn.net/baiyang2001/article/details/120216950

  • strcmp : 比较的是大小
  • strlen : 返回长度
  • strcpy : 先填写dst,再是src
  • strcat : 先填写dst,再是src
  • strchr :
  • strstr : 先填写被查找,再是要查找
  • strtok : 分隔字符串
  • isalpha : 是就返回1
  • isupper : 同上
  • islower : 同上
  • isdigit : 同上
  • str开头的函数在中间加个n代表指定长度 中间加个r代表反向

14.怎么直接调用类中的成员函数

15.size_t是什么?

c++头文件中定义的与机器相关的无符号整型变量 在cstddef头文件中。
与机器相关
与机器相关
与机器相关

16.nullptr与nullptr_t的区别?

17.noexcept、default是什么?

可参考链接:[c++]:https://zhuanlan.zhihu.com/p/374042021
c++11引入的noexcept关键字: 表示这个函数一定不会抛出异常
default关键字:用于让系统自动设置默认构造函数。
因为用户如果定义了自己的构造函数,编译器就会取消原来的默认构造函数,需要用户自己写,通过default关键字又能让系统自己写默认构造函数,而且效率会比用户写的高(不知道为什么)

额外补充知识:delete关键字

使用方法:

#include <iostream>
//#include <>
class test{
public:
test()= default;
//test() = delete;
test(int i,char n) {
} 
};
int main()
{
	test t;
	return 0;
}

有了default就直接有默认构造函数,而用了delete之后在编译阶段就会报错。

额外补充知识: explict关键字

在构造函数之前声明 explict 之后 在构造的时候就不能进行隐式转换了

18.模板T能和默认参数一起使用吗?

19.虚析构函数?

20.allocator 分配器是什么? 嵌套型别定义又是什么?

posted on 2022-07-24 16:16  快乐过了阈值  阅读(30)  评论(0)    收藏  举报