c++
文章平均质量分 93
c++知识合集
code_whiter
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++8(string类)
文章摘要 本文是C++ string类的入门指南,重点讲解为何要学习string类以及其核心用法。相比C语言的字符数组,string类自动管理内存、提供丰富接口,避免了越界和内存泄漏等问题。文章详细介绍了string的创建、容量操作、遍历方法、字符串修改和输入输出技巧,并对比了不同编译器的底层实现差异。最后通过5道OJ练习题帮助巩固知识点,包括反转字母、验证回文串等实用场景。适合C++新手快速掌握string类的核心用法,提升编程效率和安全性。原创 2026-04-14 17:05:56 · 436 阅读 · 0 评论 -
C++进阶2(多态)
摘要: 本文系统讲解了C++多态的核心概念与实现机制。多态指同一行为在不同对象上产生不同结果,通过继承关系、基类指针/引用调用虚函数及派生类重写虚函数实现。虚函数是多态的关键,需使用virtual修饰,派生类重写时需保持函数签名一致。C++11的override和final关键字可增强代码安全性。抽象类含纯虚函数(=0),强制派生类实现接口。多态底层依赖虚函数表(虚表),每个含虚函数的类拥有虚表,对象存储虚表指针以动态调用对应函数。虚表在编译阶段生成,对象构造时初始化,单继承时派生类虚表继承基类虚函数地址并原创 2026-05-21 15:22:49 · 396 阅读 · 0 评论 -
C++10(list)
本文是C++ STL中list容器的入门指南,主要面向初学者。文章首先通过比喻解释list与vector的区别:list像手拉手的小朋友(双向链表),插入删除高效但不支持随机访问;vector像连续座位(动态数组),访问快但插入效率低。接着详细讲解list的核心用法,包括构造、迭代器遍历、增删改查等操作,并重点提醒迭代器失效问题及正确处理方法。最后简要介绍list的底层实现原理,帮助理解其特性。全文采用新手友好的语言,配有代码示例和对比表格,旨在帮助初学者快速掌握list的核心概念和使用技巧。原创 2026-05-11 16:45:37 · 458 阅读 · 0 评论 -
C++11(stack和queue)
本文介绍了C++ STL中的栈(stack)和队列(queue)的基本概念与使用方法。栈遵循后进先出(LIFO)原则,常用接口包括push、pop、top等;队列遵循先进先出(FIFO)原则,常用接口包括push、pop、front等。文章通过"叠盘子"和"排队买奶茶"的生动比喻帮助理解,并提供了最小栈、逆波兰表达式等经典应用示例代码。同时提醒新手注意使用top()和front()前需判断容器是否为空,避免程序崩溃。最后还展示了如何用两个队列实现栈的功能,适合C++初原创 2026-05-13 12:57:37 · 462 阅读 · 0 评论 -
C++12(模板进阶)
本文介绍了C++模板进阶知识,主要包括非类型模板参数和模板特化两大核心内容。非类型模板参数允许将常量作为模板参数,实现编译期确定数组长度等功能,但需注意只能传递编译期常量且不支持浮点数等类型。模板特化分为函数模板特化和类模板特化,用于处理通用模板无法正确处理的特殊类型情况。函数模板特化推荐直接使用函数重载替代,而类模板特化则包含全特化和偏特化两种方式,能够针对特定类型组合或条件限制进行定制化实现。通过示例代码展示了如何解决指针比较等实际问题,帮助开发者更好地掌握模板的高级用法。原创 2026-05-19 16:46:48 · 484 阅读 · 0 评论 -
C++9(vector)
本文是一份C++ vector容器的入门教程,主要面向编程新手。文章从为什么学习vector讲起,介绍了vector作为动态数组的核心优势:自动扩容、随机访问快等特性。重点讲解了vector的基础操作,包括4种创建方式、迭代器遍历方法、size和capacity的区别,以及尾插尾删等常用操作。教程还提供了避坑指南,提醒新手注意迭代器失效等问题,并通过代码示例演示关键概念。最后强调vector是C++新手从数组过渡到STL的重要阶梯,掌握它能提升编程效率和代码质量。全文采用通俗易懂的语言,配合大量注释代码,帮原创 2026-04-23 17:12:02 · 458 阅读 · 0 评论 -
C++7(STL简介)
STL新手入门指南摘要 STL(标准模板库)是C++的高效工具包,提供现成的数据结构和算法,帮助新手快速编写可靠代码。核心学习要点: 先掌握三大基础组件:vector(动态数组)、sort(排序)、map(键值对) 学习分三阶段:先熟练使用→理解原理→灵活扩展 重点练习实用案例:成绩排序、字符统计、字符串反转等 注意避坑:线程安全、容器选择、内存优化等常见问题 推荐从C++11开始学习,利用auto、范围for等简化语法 建议新手先掌握基础用法,通过实际编码加深理解,逐步深入底层原理。STL能大幅提升开发效原创 2026-04-13 23:13:49 · 537 阅读 · 0 评论 -
C++1进阶(继承)
本文系统讲解了C++继承的核心概念与应用,从基础定义到高级特性全面解析。主要内容包括:继承的基本概念与三种继承方式(public/protected/private)的访问规则;基类与派生类对象间的赋值转换规则(切片原理);继承体系中的作用域问题与成员隐藏现象;派生类默认成员函数的生成规则;友元与静态成员在继承中的特性;菱形继承问题及虚拟继承解决方案;最后对比了继承与组合的适用场景。文章通过大量代码示例,帮助读者深入理解继承机制,并特别标注了笔试面试中的高频考点,是掌握C++继承特性的实用指南。原创 2026-05-20 19:10:07 · 392 阅读 · 0 评论 -
C++4(类与对象下篇)
本文深入讲解C++面向对象编程中的进阶概念,包括初始化列表、static成员和友元机制。首先解析构造函数初始化列表与赋值的本质区别,强调必须使用初始化列表的三种情况(引用成员、const成员、无默认构造的自定义类型成员)。其次介绍static成员的特点,包括类内声明类外初始化的规则和静态成员函数的无this指针特性。最后讲解友元机制的使用场景和注意事项,特别说明运算符重载时为何必须使用友元函数。文中穿插常见错误示例和避坑指南,帮助初学者掌握这些关键概念的正确使用方法。原创 2026-03-22 21:35:26 · 407 阅读 · 0 评论 -
C\C++5(内存管理)
摘要: 本文系统讲解C/C++内存管理核心知识,涵盖内存分布、动态内存管理及常见陷阱。内存分区包括栈、堆、数据段和代码段,通过变量示例解析存储位置。动态管理部分对比C的malloc/calloc/realloc/free与C++的new/delete,强调后者自动调用构造/析构函数的优势,并指出new[]与delete[]必须配对使用。底层机制简述operator new/delete的作用,提醒new失败会抛异常。高级技巧介绍定位new的用途,强调需手动调用析构函数。最后总结内存泄漏的危害与检测方法,并提原创 2026-03-31 22:09:28 · 397 阅读 · 0 评论 -
C++2(类与对象上篇)
摘要:本文以C++初学者视角,深入浅出讲解类与对象的核心概念。通过对比C语言面向过程和C++面向对象的差异,阐述类的本质是结构体的升级版,融合了数据和操作。详细解析了类的定义方式、访问限定符的封装特性、类作用域规则,并重点强调类与对象的区别——类是设计图,对象是实例化的实体。文章包含大量代码示例和常见错误分析,帮助读者掌握this指针、内存计算等关键知识点,最后通过C与C++实现栈的对比,直观展示面向对象的优势。原创 2026-03-16 12:29:32 · 396 阅读 · 0 评论 -
C++ 入门
C++ 里有些类型贼长,比如std::map<std::string, std::string>::iterator(后续学 STL 会遇到),手写容易错 ——auto 能让编译器 “自动推导类型”,不用自己写。C++(g++):函数名会加参数信息,比如Add(int,int)编译后叫_Z3Addii,Add(double,double)叫_Z3Adddd—— 名字不一样,就不冲突了(这个改名规则叫 “名字修饰”)。传了值,就用你传的 —— 相当于给函数加了个 “备胎”。原创 2026-03-10 18:49:31 · 517 阅读 · 0 评论 -
C++6(模板)
摘要: C++模板是实现泛型编程的核心工具,能够极大提升代码复用率和可维护性。文章详细讲解了函数模板和类模板的使用方法:函数模板通过template<typename T>定义通用函数,编译器根据调用类型自动生成具体函数;类模板则通过显式实例化创建通用类。关键知识点包括模板的隐式/显式实例化、类型匹配原则以及常见错误处理。模板技术避免了重复编写类型特定代码的问题,真正实现了"一次编写,多类型适用"的目标,是C++高效开发的重要基础。初学者应重点掌握模板的定义格式、实例化方式和原创 2026-04-12 21:38:26 · 419 阅读 · 0 评论 -
C++3(类与对象中篇)
理解:你可以把类想象成 “汽车模板”,对象是具体的 “一辆车”。默认成员函数就是工厂给汽车配的基础功能:造新车(构造)、报废车(析构)、复制新车(拷贝构造)、给车换零件(赋值)、查车牌(取地址)—— 哪怕你没说要,工厂都会默认给。**核心结论:**如果一个类中没有显式定义任何成员,编译器会自动生成 6 个默认成员函数,这些函数是类对象能正常使用的基础,就像给空房子配了必备的家具。const 成员函数是我初学最容易出错的点 —— 写了 const 对象却调不了成员函数,查了半天才知道是 const 的问题。原创 2026-03-17 22:19:55 · 437 阅读 · 0 评论
分享