上一页 1 2 3 4 5 6 7 8 ··· 14 下一页
摘要: 用法简介 一种可调用对象,定义了一个匿名函数,并且可以捕获一定范围内的变量; auto f = [](int a)->int{return a + 1}; cout << f(1) << endl; 特点 匿名函数,也可以理解为可调用的代码单元;或者理解成未命名的内联函数; 有一个返回类型,一个参数 阅读全文
posted @ 2020-08-04 20:22 NaughtyCoder 阅读(204) 评论(0) 推荐(0)
摘要: 可调用对象 函数指针 void myfunc(int tv) { cout << tv << endl; } int main() { void (*func)(int) = myfunc; //定义函数指针并赋值; func(10); //调用函数,可调用对象; } 仿函数 具有operator( 阅读全文
posted @ 2020-08-04 20:21 NaughtyCoder 阅读(276) 评论(0) 推荐(0)
摘要: 手撕String,面试中经常会问到,今天我们自己实现并梳理MyString类,同时加深对拷贝构造,移动构造;运算符重载的理解; 成员变量 字符串MyString类中两个成员变量 char *的字符串m_data; 保存字符串大小的m_size; 构造函数和析构函数 MyString(const ch 阅读全文
posted @ 2020-08-04 10:16 NaughtyCoder 阅读(429) 评论(0) 推荐(0)
摘要: memcpy #include <iostream> #include <string.h> #include <assert.h> using namespace std; void* my_memcpy(void* dst, const void* src, size_t size) { ass 阅读全文
posted @ 2020-08-03 22:07 NaughtyCoder 阅读(167) 评论(0) 推荐(0)
摘要: 概述 用类模板实例化一个特定的类; 编译器不能为类模板推断模板参数,为了使用类模板,必须在模板名后用<>来提供额外的信息; 同一套代码,可以应付不同的数据类型; 类模板定义 格式 template <typename T, ...> class name { } 实例化类模板的时候,必须要有类的全部 阅读全文
posted @ 2020-08-03 10:12 NaughtyCoder 阅读(137) 评论(0) 推荐(0)
摘要: 概述 泛型编程,是以独立于任何特定类型的方式编写代码,使用泛型编程时,需要提供具体程序实例所操作的类习惯或者值; 模板是泛型编程的基础,模板是创建类或者函数的蓝图或者公式,给这些蓝图或者公式足够的信息,让这些蓝图或者公式真正的转变为具体的类或者函数,这种转换发生在编译时; 模板支持将类型作为参数的程 阅读全文
posted @ 2020-08-03 09:31 NaughtyCoder 阅读(394) 评论(0) 推荐(0)
摘要: 虚函数表指针位置分析 类:有虚函数,会产生一个虚函数表; 类对象:有一个指针,指针vptr会指向虚函数表的开始地址; 虚函数指针的位置 虚函数表位于整个对象模型的顶端; // objModel.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // #include <ios 阅读全文
posted @ 2020-07-23 17:31 NaughtyCoder 阅读(211) 评论(0) 推荐(0)
摘要: 并发和并行 并发:两个或多个事件在同一时间间隔内发生; 并行:两个或多个事件在同一时刻发生; 线程 线程是进程当中的一条执行流程。同一个进程内多个线程之间可以共享代码段、数据段、打开的文件等资源,但每个线程都有独立一套的寄存器和栈,这样可以确保线程的控制流是相对独立的。 优点: 一个进程中可以同时存 阅读全文
posted @ 2020-07-22 21:36 NaughtyCoder 阅读(253) 评论(0) 推荐(0)
摘要: 继承的构造函数 一个类只继承其直接基类的构造函数,默认/拷贝/移动构造函数是不能被继承的; 继承Father的构造函数 using Father::Father; //继承Father的构造函数 using让某个名字在当前的作用域可见; //编译器遇到这条代码的时候,会把基类的每个构造函数都生成一个 阅读全文
posted @ 2020-07-22 11:13 NaughtyCoder 阅读(276) 评论(0) 推荐(0)
摘要: 对象移动 C++11引入对象移动;进行所有权的转移; 移动构造函数和移动赋值运算符应该完成的功能 确保必要的内存移动,斩断原对象和内存的关系; 确保移动后原对象处于一种“即便被销毁也没有什么问题”的一种状态;A > B,确保不再使用A,而是应该去使用B; 移动构造函数 引入目的:提高程序效率; 说明 阅读全文
posted @ 2020-07-22 11:05 NaughtyCoder 阅读(289) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 ··· 14 下一页