C++
文章平均质量分 95
c++基础与c++项目
樱栀祈
temorrow must be better
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
c++进阶项目:与或非文本查询及组合查询--300行代码实现--详细讲解
在本程序中,我们首先定义了一个抽象基类,然后派生出单词查询,非查询和一个二元查询抽象基类。二元查询抽象基类又派生出与和或查询。我们通过重载与或非运算符来创建相应的与或非查询对象。接着我们定义了一个Query类作为接口类对用户隐藏继承体系。我们在Query的成员中保存了指向QueryBase类的指针,以便可以虚调用派生类的查询对象。由于程序支持组合查询,因此在不同的派生类中都有可能创建其他派生类对象。例如与查询(派生类)的两个运算对象可能是或查询(派生类)。原创 2025-05-10 10:58:10 · 664 阅读 · 0 评论
-
c++练手项目--实现简单的文本查询
本文介绍了一个简单的文本查询程序,旨在从文本文件中查找指定单词出现的次数、行号及对应行内容。程序分为两个功能模块:输入模块负责读取文件并生成单词与行号的映射关系;输出模块根据输入的单词查询并输出相关信息。文章详细描述了如何通过C++标准库实现这两个模块,并提供了代码框架。具体实现包括使用vector存储文件内容,map关联单词与行号,shared_ptr管理共享数据,以及定义TextQuery和QueryResult类来封装查询逻辑。最后,文章建议将QueryResult类嵌套在TextQuery类中,以限原创 2025-05-09 15:06:31 · 881 阅读 · 0 评论
-
Effective C++阅读笔记(item 1-4)
我们回到最开始说的*p的情况,p是一个单纯变量名,如果decltype§返回的是p的声明类型,然而*p是返回左值的复杂表达式了,因此decltype返回的是左值引用,类型是表达式的类型。传递一个临时变量也并不是没有意义,有时候用户可能只是想简单的获得临时容器中的一个元素的拷贝,比如这样)==,我们需要将声明改为通用引用(也可以重载函数)。忽略引用行在指向常量的常量指针情况下只会忽略底层const,这一特性只会对形参本身有效,因此指针的常量特定会被忽略,但是指针所指对象的常量特性会被保留。原创 2025-05-19 21:49:26 · 1041 阅读 · 0 评论 -
c++从入门到精通(六)--特殊工具与技术-完结篇
局部类中不能定义静态数据成员。原创 2025-05-18 22:56:44 · 914 阅读 · 0 评论 -
c++从入门到精通(五)--异常处理,命名空间,多继承与虚继承
因为catch语句是按照其出现的顺序逐一进行匹配的,所以当程序使用具有继承关系的多个异常时必须对catch语句的顺序进行组织和管理,使得派生类异常的处理代码出现在基类异常的处理代码之前。与实参和形参的匹配规则相比,异常和catch异常声明的匹配规则受到更多限制。此时,绝大多数类型转换都不被允许,除了一些极细小的差别之外,要求异常的类型和catch声明的类型是精确匹配的:【非常量向常量的转换,派生类向基类的转换,数组被转换为指针,函数被转换为指向该函数的指针】原创 2025-05-17 23:13:24 · 1008 阅读 · 0 评论 -
c++从入门到精通(三)--面向对象部分
面向对象编程(OOP)的初级和高级概念涉及类的设计、成员函数与变量的管理、构造函数与析构函数的使用、以及拷贝控制等。在初级部分,重点包括成员函数的声明与定义、聚合类与字面值常量类的特性、构造函数的语法与初始化列表的使用、以及成员函数的常量性与内联性。高级部分则深入探讨了拷贝构造函数、拷贝赋值运算符、析构函数的使用,以及如何通过删除函数阻止拷贝。此外,还介绍了移动构造函数和移动赋值运算符,这些操作通过右值引用实现,旨在提升性能,特别是在对象拷贝后立即销毁的场景中。整体而言,这些概念和技巧是构建高效、可维护的面原创 2025-05-13 21:42:36 · 768 阅读 · 0 评论 -
c++从入门到精通(四)--动态内存,模板与泛型编程
模板中的函数参数是const的引用。函数体中的条件判断仅使用<比较运算。return 0;**非类型参数:**非类型参数被一个用户提供的或编译器推断出的值所代替。这些值必须是常量表达式。template<unsigned N,unsigned M> //N和M是非类型参数//编译器确定N=3,M=4,注意字符串字面值常量末尾会被插入一个空字符作为终结符。一个非类型参数可以是一个整型,或者是一个指向对象或函数类型的指针或(左值)引用。绑定到非类型整型参数的实参必须是一个常量表达式。原创 2025-05-15 21:20:33 · 736 阅读 · 0 评论 -
c++从入门到精通(二)
一个不限定作用域的枚举类型的对象或枚举成员自动地转换成整型。尽管每个enum都定义了唯一的类型,但实际上enum是由某种整数类型表示的。在C++11新标准中,我们可以在enum的名字后加上冒号以及我们想在该enum中使用的类型如果我们没有指定enum的潜在类型,则默认情况下限定作用域的enum成员类型是int。对于不限定作用域的枚举类型来说,其枚举成员不存在默认类型,我们只知道成员的潜在类型足够大,肯定能够容纳枚举值。原创 2025-05-13 19:06:03 · 1090 阅读 · 0 评论 -
c++从入门到精通(一)
本人之前发布过一个c++primer第五版的阅读笔记。但该笔记太长了共7w多字。这次我根据自己的理解,把c++primer第五版中的一些值得注意的c++语法规则和编码规范整理一下。同时还会把常用标准库整理一下。本系列持续更新中。。。。原创 2025-05-12 09:24:27 · 1055 阅读 · 0 评论
分享