- 博客(17)
- 收藏
- 关注
原创 C++继承和多态
当通过基类指针删除派生类对象时,如果基类的析构函数不是虚的,则只会调用基类的析构函数。继承是面向对象编程的一个基本特性,它允许创建一个类(派生类)继承另一个类(基类)的属性和方法。理解访问说明符和继承之间的关系对于在C++中设计和实现面向对象的程序非常重要,它们共同定义了类之间的关系和相互作用。在面向对象的C++编程中,抽象类和接口是定义类的层次结构、强制实现特定接口、并实现多态的重要工具。在C++中,接口可以通过纯抽象类实现,即一个不包含成员变量且所有成员函数都是纯虚函数的类。方法,展现了不同的行为。
2024-03-16 22:14:11
1623
1
原创 详解C++11——lambda表达式
/ 输出: 16return 0;这些示例展示了Lambda表达式在C++中的灵活性和强大功能,特别是在简化代码和提高表达能力方面。Lambda表达式允许在调用std::sort时提供自定义的排序准则。// 使用Lambda表达式按降序排序});return 0;Lambda表达式是C++11引入的功能,极大地增强了语言的表达能力,使得编写内联函数对象更加简洁和直观。
2024-03-16 21:53:44
2715
1
原创 正则表达式
正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,字母a到z)和特殊字符(称为"元字符")。它提供了一种检索、匹配和编辑文本的强大方式。在C++中,正则表达式的支持是通过标准库中的头文件提供的,该库提供了用于定义、搜索和匹配正则表达式的类和函数。定义正则表达式:首先需要创建一个对象,将正则表达式作为字符串传递给它。匹配:可以使用来检查整个字符串是否与正则表达式匹配,或使用在字符串中搜索第一个匹配项。搜索和替换:用于查找匹配项,而用于替换文本中的所有匹配项。小结这
2024-03-16 21:37:18
1689
1
原创 C和C++的内存管理
如果我们想要使用自己实现的类专属的operator new / operator delete,那么就要先调用专属的函数,然后再进行显式调用构造函数去初始化。②调用operator delete[]释放空间,实际在operator delete[]中调用operator delete来释放空间。operator new和malloc的功能一样,但是不同的是operator失败后抛异常,而malloc失败返回空指针。堆区数组中保存的数据也是开辟在堆区内存的,在释放资源时,要把堆内存数组中的数据逐个释放。
2023-11-06 16:21:09
111
1
原创 Linux 权限
最常见的用法在目录上设置粘滞位,如此以来,只有目录内文件的所有者或者root才可以删除或移动该文件。如果不为目录设置粘滞位,任何具有该目录写和执行权限的用户都可以删除和移动其中的文件。一个目录具有粘滞位,则在other的X位会表现为 t,或者T.大小写的区别在于,原来x位上有x权限,有了粘滞位则表现为t.否则,表现为T。ii.写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限。iii.执行(x/1):execute对文件而言,具有执行文件的权限;
2023-11-01 19:40:02
64
1
原创 Linux基本指令 (Part1)
指令是在系统特定路径下存在的,一定是某种可执行程序,指令的本质和我们自己写代码编译好的程序没有本质区别。以当前所处的路径为起始参照位置来进行特定文件的定位,这种路径称为相对路径,我们所处的路径发生变化,相对路径就失效了。-a——将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按。目录里面可以再放目录,linux的目录结构整体是一个多叉树,它的叶子结点一定是空目录或者非空目录。-R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理。
2023-10-06 21:39:23
105
1
原创 类和对象2
经过编译器处理之后,类A不在为空,它会自动的生成六个默认的成员函数,即使这六个成员函数什么也不做。7、构造函数不能用const修饰(因为const修饰类的成员函数时,该函数不能修改成员变量,但是构造函数要修改类的成员变量,因此不可以由const修饰)函数名是定死的,和类名相同,无返回值(也不需要写void),自动调用,可以重载,完成初始化工作。1)一般情况下,有内置类型成员,就需要自己写构造函数,不能用编译器自己生成的。无参和全缺省的构造函数不可以同时存在,语法上构成函数重载,调用存在歧义。
2023-09-15 18:18:08
68
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人