摘要: lambda 表达式可以说是 c++11 引用的最重要的特性之一, 它定义了一个匿名函数, 可以捕获一定范围的变量在函数内部使用 语法如下: auto func = [capture] (params) opt -> ret { func_body; }; 参数: func:lambda表达式的名字 阅读全文
posted @ 2023-02-23 11:34 小秦同学在上学 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 原理: 智能指针是一个类,用来存储指向动态分配对象的指针,负责自动释放动态分配的对象,防止堆内存泄漏。 动态分配的资源,交给一个类对象去管理,当类对象声明周期结束时,自动调用析构函数释放资源 所以智能指针不用手动去释放内存 常用的智能指针: 1、shared_ptr: 实现原理:采用引用计数器的方法 阅读全文
posted @ 2023-02-23 11:04 小秦同学在上学 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 1、auto 让编译器通过初始值来进行类型推演 所以说 auto 定义的变量必须有初始值 使用过程 //普通;类型 int a = 1, b = 3; auto c = a + b;// c为int型 //const类型 const int i = 5; auto j = i; // 变量i是顶层c 阅读全文
posted @ 2023-02-23 10:20 小秦同学在上学 阅读(39) 评论(0) 推荐(0) 编辑
摘要: C++中NULL和nullptr区别? NULL来自C语言,一般由宏定义实现,而 nullptr 则是C++11的新增关键字。 在C语言中,NULL被定义为(void*)0,而在C++语言中,NULL则被定义为整数0,如下定义: #ifdef __cplusplus #define NULL 0 # 阅读全文
posted @ 2023-02-23 10:10 小秦同学在上学 阅读(34) 评论(0) 推荐(0) 编辑
摘要: C++ 11有哪些新特性? nullptr替代 NULL 引入了 auto 和 decltype 这两个关键字实现了类型推导 基于范围的 for 循环for(auto& i : res){} 类和结构体的中初始化列表 Lambda 表达式(匿名函数) std::forward_list(单向链表) 阅读全文
posted @ 2023-02-23 10:03 小秦同学在上学 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 为什么C++没有垃圾回收机制?这点跟Java不太一样。 实现一个垃圾回收器会带来额外的空间和时间开销 需要开辟一定的空间保存指针的引用计数和对他们进行标记mark 然后需要单独开辟一个线程在空闲的时候进行free操作 垃圾回收会使得C++不适合进行很多底层的操作。 阅读全文
posted @ 2023-02-22 11:49 小秦同学在上学 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 什么是友元 类的友元函数是定义在类外部,但有权访问类的所有私有(private)成员和保护(protected)成员 尽管友元函数的原型有在类的定义中出现过,但是友元函数并不是成员函数。 友元可以是一个函数,该函数被称为友元函数;友元也可以是一个类,该类被称为友元类,在这种情况下,整个类及其所有成员 阅读全文
posted @ 2023-02-22 11:40 小秦同学在上学 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 你知道回调函数吗?它的作用? 最重要作用就是解耦 当发生某种事件时,系统或其他函数将会自动调用你定义的一段函数; 回调函数就相当于一个中断处理函数,由系统在符合你设定的条件时自动调用。你需要做三件事:1,声明;2,定义;3,设置触发条件,就是在你的函数中把你的回调函数名称转化为地址作为一个参数,以便 阅读全文
posted @ 2023-02-22 11:26 小秦同学在上学 阅读(15) 评论(0) 推荐(0) 编辑
摘要: *成员函数里memset(this,0,sizeof(this))会发生什么 void *memset(void *str, int c, size_t n) - 参数 - str -- 指向要填充的内存块。 - c -- 要被设置的值。该值以 int 形式传递,但是函数在填充内存块时是使用该值的无 阅读全文
posted @ 2023-02-22 11:22 小秦同学在上学 阅读(114) 评论(0) 推荐(0) 编辑
摘要: string 是c++标准库里面其中一个,封装了对字符串的操作,实际操作过程我们可以用const char*给string类初始化 a) string转const char* string s = “abc”; const char* c_s = s.c_str(); b) const char* 阅读全文
posted @ 2023-02-22 10:39 小秦同学在上学 阅读(143) 评论(0) 推荐(0) 编辑