05 2023 档案

摘要:[capture list] (parameter list) -> return type { function body; }; capture list 捕获列表 [] // 没有定义任何变量。使用未定义变量会引发错误。[x, &y] // x以传值方式传入(默认),y以引用方式传入。[&] 阅读全文
posted @ 2023-05-07 22:16 muzixuanxuanxuan 阅读(6) 评论(0) 推荐(0) 编辑
摘要:static全局静态变量 1.普通全局变量和static全局静态变量都是静态存储方式。普通全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,普通全局变量在各个源文件中都是有效的 2.静态全局变量限制了其作用域,只在定义该变量的源文件内有效 static局部静态变量 局部静态变量的作用域仅 阅读全文
posted @ 2023-05-07 22:01 muzixuanxuanxuan 阅读(13) 评论(0) 推荐(0) 编辑
摘要:1.sizeof和strlen的区别 strlen是头文件cstring中的函数,sizeof是c++的运算符,strlen测量的是字符串的实际长度,以\0结束,而sizeof测量的是对象或者表达式类型占用的字节大小 size_t strlen(const char *str){ size_t le 阅读全文
posted @ 2023-05-07 21:50 muzixuanxuanxuan 阅读(85) 评论(0) 推荐(0) 编辑
摘要:多态就是不同继承类的对象,对同一行为所做出的不同反应,基类的指针指向或绑定到派生类的对象,使得基类的指针产生不同的表现方式 多态分为静态多态和动态多态 静态多态通过重载和模板编程实现,是在编译时就确定 动态多态则是通过虚函数实现,含有虚函数的类产生的对象会有一个虚指针,它指向该对象的虚函数表 当基类 阅读全文
posted @ 2023-05-07 21:45 muzixuanxuanxuan 阅读(21) 评论(0) 推荐(0) 编辑
摘要:面向对象三大特性 封装:将具体的实现过程和数据封装成一个函数,只能通过接口访问,降低耦合性 继承:子类继承父类的特征和行为,子类有父类非private方法或成员变量,子类可以对父类的方法进行重写,增强了类之间的耦合性,但是当父类中的成员变量、成员函数或者类本身被 final 关键字修饰时,修饰的类不 阅读全文
posted @ 2023-05-07 21:33 muzixuanxuanxuan 阅读(49) 评论(0) 推荐(0) 编辑
摘要:new1.调用名为operator new的标准库函数,分配足够大的原始的未类型化的内存,以保存指定类型的一个对象2.运行该类型的一个构造函数初始化对象3.返回指向新分配并构造的构造函数对象的指针 delete1.调用析构函数,回收对象中数据成员所申请的资源2.调用名为operator delete 阅读全文
posted @ 2023-05-07 21:10 muzixuanxuanxuan 阅读(13) 评论(0) 推荐(0) 编辑
摘要:inline就是定义内联函数 内联函数像普通函数一样被调用,但是被调用时不通过函数调用的机制,而是在调用点处直接展开,这样可以大大减小函数调用带来的开销,增加程序的运行效率 inline产生的原因之一就是用来替换#define,以前用define替换一些简单的函数来减小开销,但是define没有安全 阅读全文
posted @ 2023-05-07 21:04 muzixuanxuanxuan 阅读(97) 评论(0) 推荐(0) 编辑
摘要:1.const修饰普通变量 const int a = 10; a被视为常量 2.const修饰指针 int a = 10; int const * b = &a; 此时b为常量指针,因为const修饰的是* b,所以指针的指向的内容不能变,指向可变, int * const c = &a;此时c指 阅读全文
posted @ 2023-05-07 20:46 muzixuanxuanxuan 阅读(26) 评论(0) 推荐(0) 编辑
摘要:单调栈:栈内的元素单调有序,分为单调增和单调减 伪码 for(int i=0;i<n;i++){ while(!st.empty() && vec[st.top()] < vec[i]){ st.pop(); do... } st.push(i); } 阅读全文
posted @ 2023-05-06 22:45 muzixuanxuanxuan 阅读(12) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示