![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++ primer
文章平均质量分 95
AI与编程之窗
阿里巴巴技术专家,阿里巴巴10年软件开发经验,擅长Linux下C/C++开发,擅长播放器、多媒体技术、Android多媒体框架开发,熟悉WebRTC、FFmpeg等开源软件。
展开
-
《C++ Primer》导学系列:第 19 章 - 特殊工具与技术
定位new表达式可以与自定义类一起使用,以实现更复杂的内存管理。// 预分配的内存// 在buffer中构造MyClass// 手动调用析构函数return 0;在这个示例中,我们在预分配的buffer中使用定位new表达式构造了一个MyClass对象,并在不需要时手动调用析构函数。掌握了如何重载new和delete运算符,以控制类的内存分配和释放。理解了定位new表达式的使用方法,能够在预分配的内存中构造对象,并手动调用析构函数。原创 2024-07-11 07:00:00 · 755 阅读 · 0 评论 -
《C++ Primer》导学系列:第 18 章 - 用于大型程序的工具
掌握了异常处理的基本概念和使用方法,包括throwtry和catch关键字的用法。理解了栈展开和资源管理的机制,确保在异常情况下资源能够被正确释放。学会了定义和使用自定义异常类,能够提供自定义的错误信息。熟悉了函数try语句块的使用方法,能够在构造函数中处理异常。理解了noexcept说明符的作用及其在函数、指针和虚函数中的应用。熟悉了标准库中的异常类层次结构,了解各种常见的标准异常类。命名空间通过关键字namespace引入,用于定义一个作用域,其中可以包含变量、函数、类等声明。原创 2024-07-10 07:00:00 · 1434 阅读 · 0 评论 -
《C++ Primer》导学系列:第 17 章 - 标准库特殊设施
tuple定义和初始化tuple非常简单,可以使用来创建一个tuple对象。本节总结了解了tuple类型的定义和初始化方法,掌握了使用创建tuple对象的技巧。学会了使用std::get和std::tie访问和修改tuple元素,以及使用结构化绑定解包tuple。理解了tuple的比较操作规则,能够正确实现tuple的相等比较和大小比较。掌握了使用tuple返回多个值的方法,能够通过std::tie或结构化绑定解包返回的tuple。学会了使用std::apply函数将tuple。原创 2024-07-05 09:00:00 · 1294 阅读 · 0 评论 -
《C++ Primer》导学系列:第 16 章 - 模板与泛型编程
在C++中,模板是一种强大的工具,可以让我们编写通用代码,而不必在编译时指定类型。模板允许我们定义函数模板和类模板,使得相同的代码可以处理不同的数据类型。理解模板的基本概念和语法是掌握高级C++编程的重要一步。类模板允许我们定义一个可以接受任意类型数据成员的类。public:private:本节总结了解了模板的基本概念和语法,掌握了函数模板和类模板的定义方法。理解了模板参数的使用,包括类型参数、非类型参数和模板模板参数。掌握了模板实例化的概念和方法,能够正确实例化函数模板和类模板。原创 2024-07-04 09:00:00 · 1290 阅读 · 0 评论 -
《C++ Primer》导学系列:第 15 章 - 面向对象程序设计
在面向对象程序设计中,基类和派生类是实现继承的关键概念。基类(也称为父类或超类)是派生类(也称为子类或衍生类)的基础,派生类从基类继承属性和行为,并可以添加自己的属性和行为。定义一个基类很简单,我们只需定义一个普通的类。基类可以包含数据成员、成员函数、构造函数、析构函数和其他成员。派生类是从基类继承的类。我们使用关键字publicprotected或private来指定继承方式。通常使用public继承,使得基类的公有成员在派生类中仍然是公有的。本节总结。原创 2024-07-03 09:00:00 · 856 阅读 · 0 评论 -
《C++ Primer》导学系列:第 14 章 - 重载与类型转换
本节总结了解了如何为自定义类重载输入和输出运算符。掌握了输入和输出运算符的基本实现方法,并了解了友元函数的作用。理解了在实现输入运算符时进行错误处理的重要性,以及在实现输出运算符时确保输出格式一致性的必要性。提高建议多练习重载运算符:通过编写更多包含不同类型成员变量的类,并为其重载输入和输出运算符,熟悉各种情况的处理方法。深入理解友元函数:通过阅读相关文档和书籍,深入理解友元函数的作用及其在其他运算符重载中的应用。优化错误处理。原创 2024-07-02 10:00:00 · 950 阅读 · 0 评论 -
《C++ Primer》导学系列:第 13 章 - 拷贝控制
本节总结掌握了拷贝控制的基本概念和操作,包括拷贝构造函数、拷贝赋值运算符和析构函数。理解了拷贝控制函数在对象复制、赋值和销毁过程中的作用和调用时机。学会了在类中正确实现拷贝控制函数,以确保对象在不同生命周期阶段的正确行为。理解了“三/五法则”的重要性,学会了在类设计中同时实现必要的拷贝控制函数和移动语义。掌握了如何通过delete关键字阻止对象的拷贝和赋值。提高建议多练习拷贝控制函数的实现:通过编写更多涉及拷贝控制的类,熟悉各种管理方法的用法,提高对拷贝控制的理解和实现能力。原创 2024-07-01 12:28:45 · 1457 阅读 · 0 评论 -
《C++ Primer》导学系列:第 12 章 - 动态内存
本节总结了解了动态内存分配与释放的基本概念和操作,掌握了new和delete的使用方法。理解了智能指针的基本概念,掌握了和的使用方法。通过智能指针的使用,能够有效避免内存泄漏和双重释放问题,提高了程序的可靠性和稳定性。提高建议多练习智能指针的使用:通过编写更多涉及智能指针的程序,熟悉各种智能指针的用法,提高对动态内存管理的能力。深入理解智能指针的原理:通过阅读文档和相关书籍,深入理解智能指针的实现原理和使用场景,提高编写高效代码的能力。避免常见内存管理错误。原创 2024-06-28 10:00:00 · 1153 阅读 · 0 评论 -
《C++ Primer》导学系列:第 11 章 - 关联容器
关联容器是C++标准库提供的一类容器,用于高效地存储和检索关键字与值的对(key-value pairs)。关联容器包括mapsetmultimap和multiset,它们使用平衡二叉树(如红黑树)来实现,使得查找、插入和删除操作的时间复杂度为对数级(O(log n))。本节总结了解了关联容器的基本概念和类型,掌握了mapsetmultimap和multiset的使用方法。理解了关联容器的特点,包括自动排序、高效查找、键的唯一性和键值对存储。原创 2024-06-27 10:00:00 · 985 阅读 · 0 评论 -
《C++ Primer》导学系列:第 10 章 - 泛型算法
本节总结了解了泛型算法的基本概念和用途,掌握了非修改算法和修改算法的区别。学会了如何选择和使用合适的算法,理解了常用算法的参数和返回值。掌握了一些常用的复杂算法的使用方法,并通过示例代码进行了实践。提高建议多练习算法操作:通过编写更多涉及泛型算法的程序,熟悉各种操作方法,提高对泛型算法的使用能力。深入理解算法:通过阅读标准库文档和相关书籍,深入理解泛型算法的实现原理和使用场景,提高编写高效代码的能力。关注性能优化:在实际项目中,根据具体需求选择最合适的算法和迭代器类型,优化程序性能。原创 2024-06-26 10:00:00 · 947 阅读 · 0 评论 -
《C++ Primer》导学系列:第 9 章 - 顺序容器
C++标准库提供了几种顺序容器,用于存储和管理元素的有序集合。主要的顺序容器包括vectordequelist和。每种容器都有其独特的特性和适用场景。本节总结了解了vectordequelist和等顺序容器的基本特性和适用场景。掌握了这些容器的基本操作,包括插入、删除和遍历。理解了如何根据具体的应用场景选择最合适的容器,以提高程序的性能。提高建议多练习容器操作:通过编写更多涉及顺序容器的程序,熟悉各种容器的基本操作和特性。优化容器选择:在实际项目中,根据具体需求选择最合适的容器,优化程序的性能。原创 2024-06-25 10:00:00 · 1319 阅读 · 0 评论 -
《C++ Primer》导学系列:第 8 章 - IO库
本节总结学习了标准库中的输入输出类,理解了istream和ostream的基本使用方法。掌握了文件输入输出操作,理解了ifstream和ofstream的基本使用方法。了解了字符串流的使用,掌握了和在字符串处理中的应用。理解了IO操作的条件状态,掌握了如何检查和处理IO操作中的错误。学习了管理输出缓冲的方法,掌握了flushends和endl的使用。提高建议多练习文件操作:通过编写更多涉及文件读写操作的程序,熟悉文件操作的流程和错误处理机制。深入理解字符串流。原创 2024-06-24 21:31:18 · 932 阅读 · 0 评论 -
《C++ Primer》导学系列:第 7 章 - 类
在C++中,类是用户定义的类型,提供了一种将数据和操作这些数据的函数(成员函数)组合在一起的方法。类定义了对象的属性和行为,通过实例化类来创建对象。定义类时,需要指定类的名称,并在类体内声明数据成员和成员函数。public:// 成员函数声明private:// 数据成员声明本节总结学习了类的定义和基本概念,掌握了成员函数和数据成员的声明与定义方法。理解了构造函数的作用和定义方法,掌握了构造函数初始化列表的使用。通过示例代码和练习题,加深了对类的接口和实现的理解和应用。提高建议。原创 2024-06-21 13:58:56 · 1270 阅读 · 0 评论 -
《C++ Primer》导学系列:第 6 章 - 函数
函数的定义通常包括返回类型、函数名、参数列表和函数体。函数头声明了函数的返回类型和参数类型,函数体则包含实际执行的代码。本节总结学习了函数的基本概念,掌握了函数的定义、声明和调用方法。理解了形参和实参的作用,掌握了返回类型的定义和应用。通过示例代码和练习题,加深了对函数基础知识的理解和应用。提高建议多练习函数的定义和调用:通过编写各种包含函数的程序,熟悉函数的定义、声明和调用方法。深入理解形参和实参:通过实践掌握形参和实参的对应关系,确保函数调用时参数传递正确。合理设计函数的返回类型。原创 2024-06-20 18:52:47 · 1229 阅读 · 0 评论 -
《C++ Primer》导学系列:第 5 章 - 语句
本节总结学习了简单语句的种类,包括表达式语句、声明语句和空语句,理解了它们在程序中的作用。掌握了复合语句的结构和应用,理解了复合语句中变量的作用域。理解了简单语句和复合语句的基本概念和用法,通过示例代码加深了对这些概念的理解。提高建议多练习简单语句的使用:通过编写各种包含不同简单语句的程序,熟悉它们的用法和作用。深入理解复合语句中的作用域管理:通过实践掌握复合语句中变量作用域的管理,避免作用域混淆导致的错误。优化代码结构:在编写代码时,合理使用复合语句组织代码,提高代码的可读性和维护性。原创 2024-06-18 12:22:42 · 867 阅读 · 0 评论 -
《C++ Primer》导学系列:第 4 章 - 表达式
本节总结了解了组合运算符和运算对象的基本概念,掌握了运算对象在表达式中的作用。掌握了隐式和显式类型转换,理解了它们在表达式计算中的应用。学习了运算符重载的概念,并能够在自定义类型中实现运算符重载。理解了左值和右值的概念,掌握了它们在表达式和赋值中的角色。了解了运算符优先级和结合律的基本知识,并能够应用这些概念分析复杂表达式。理解了求值顺序的重要性,避免未定义行为。提高建议多练习表达式的编写和分析:通过编写各种包含不同运算符的表达式,熟悉运算符优先级和结合律。深入理解类型转换。原创 2024-06-17 13:16:49 · 924 阅读 · 1 评论 -
《C++ Primer》导学系列:第 3 章 - 字符串、向量和数组
命名空间是C++中的一种机制,用于组织代码并避免名字冲突。通过使用命名空间,可以将全局作用域中的标识符组织到逻辑分组中,从而提高代码的可读性和可维护性。命名空间在大型项目中尤为重要,因为它们可以防止不同模块之间的名字冲突。命名空间使用关键字namespace来定义,后跟命名空间的名字和一对花括号。在花括号内定义的所有标识符都属于这个命名空间。语法namespace 命名空间名 {// 命名空间内的内容示例本节总结学习了命名空间的基本概念和定义方法,理解了如何通过作用域解析运算符和using。原创 2024-06-16 12:12:22 · 1280 阅读 · 0 评论 -
《C++ Primer》导学系列:第 2 章 - 变量和基本类型
本小节介绍C++中的基本内置类型。基本内置类型是构成C++程序的基础,它们用于表示数据的不同形式,如整数、浮点数、字符等。理解和使用这些基本类型是编写C++程序的起点。本节总结了解了C++中的基本内置类型,包括整型和浮点型。学习了类型转换的概念和具体用法,包括隐式转换和显式转换。提高建议多练习基本类型的使用:通过编写各种小程序,熟悉不同基本类型的定义和操作。深入理解类型转换:特别是C++风格的显式转换,通过实际应用加深理解。原创 2024-06-15 21:54:39 · 1025 阅读 · 4 评论 -
《C++ Primer》导学系列:第 1 章 - 开始
本小节介绍了如何编写和运行一个简单的C++程序,帮助初学者了解C++程序的基本结构和编译运行过程。本节总结了解了一个简单的C++程序的基本结构,包括预处理指令、主函数和输出语句。学会了如何编写、编译和运行一个简单的C++程序。提高建议多编写简单程序:通过不断练习,熟悉C++程序的基本结构和编写流程。探索更多标准库:除了,C++还有许多有用的标准库,可以逐步学习和使用。了解编译器和开发环境:熟悉编译器的使用和常见选项,掌握IDE或命令行的开发环境,提高开发效率。原创 2024-06-14 17:00:23 · 1070 阅读 · 0 评论 -
《C++ Primer》第五版导学系列:导言
C++ Primer》第五版是由Stanley B. Lippman、Josée Lajoie和Barbara E. Moo合著的一本经典教材。自首次出版以来,这本书一直被誉为学习C++编程语言的圣经。第五版在前几版的基础上,进行了全面更新,以适应C++11标准的最新特性和改进。通过阅读这本书,读者将获得对C++语言的深刻理解,掌握从基础语法到高级编程技术的全面知识。原创 2024-06-13 10:39:46 · 1096 阅读 · 0 评论