C++
文章平均质量分 96
被C++拷打
张有志_
code is poetry
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
vscode配置C/C++教程(含常见问题)
第一次在 VS Code 编写 C/C++,希望一条龙完成安装 → 编译 → 调试的同学。原创 2025-09-20 20:54:15 · 925 阅读 · 0 评论 -
C++继承完全指南:从语法到设计模式----图解原理+工业级代码示例+陷阱规避
本文深入探讨了C++继承机制的核心原理与实战应用。首先通过Qt框架的成功案例与某电商系统的失败教训,对比分析了继承的优势与陷阱,指出合理使用继承需满足is-a关系且基类稳定。随后详细解析了单继承与多重继承的内存布局、虚函数机制的性能代价(约27%下降)以及对象切片等常见问题。文章重点介绍了现代C++替代方案,如组合模式、策略模式、类型擦除和CRTP,并通过性能数据对比展示了其优势。针对多重继承,揭示了编译器实现差异及虚继承的高成本(构造耗时增加150%),提出了接口隔离等解决方案。原创 2025-04-07 22:33:27 · 1017 阅读 · 0 评论 -
STL容器终极解剖:C++ vector源码级实现指南 | 从内存分配到异常安全的全流程避坑
需要注意:不能直接使用delete[],会导致程序崩溃(vector<vector< T >>),需要挨个调用~T()用于创建 vector 对象,包括默认构造、拷贝构造以及根据指定元素个数和范围构造等。📌 reserve预分配可减少87%扩容开销</知识卡片>:负责释放 vector 对象占用的资源。: 迭代器本质是原生指针的封装,需实现。_end_of_storage指针。首次push_back。原创 2025-02-24 00:06:42 · 892 阅读 · 0 评论 -
C++模拟实现string完整教程(附源文件)
此外,程序在遇到异常时,应确保资源得到妥善释放,保证程序的鲁棒性。例如,在赋值运算符的实现中,如果在内存分配后发生异常,可能会导致旧资源未释放或新资源分配失败。当对象是临时的或即将销毁时,可以将其资源直接“移动”到新对象,而不是复制内容。当一个对象析构时释放了内存,其他对象会访问已释放的内存,从而引发未定义行为。动态内存管理是实现一个类的核心内容,特别是像字符串这样的类,因为它们需要根据运行时的数据长度动态分配内存。,即为新对象分配独立的内存,并将数据内容复制到新内存中,而不是直接共享原对象的内存。原创 2025-01-22 00:41:32 · 1276 阅读 · 1 评论 -
C++ 中的 string 类:全面解析与应用实践
编程中字符串至关重要。无论是构建用户界面、处理数据还是网络通信,都离不开字符串操作。C 语言里的数组处理字符串时,需手动管理内存,容易出现缓冲区溢出等错误,像字符串拼接、复制等常见操作,代码编写繁琐且易出错。C++ 的类则是强大的字符串处理工具。它能自动处理内存分配与释放,避免手动管理的风险。还提供大量实用成员函数,如拼接、查找、替换、比较等操作都很便捷,可有效提升开发效率,助力开发者专注核心业务逻辑,在 C++ 编程里处理字符串极为得力原创 2024-12-02 00:28:18 · 1453 阅读 · 0 评论 -
【C++ 篇】类之华章:超越固有模式,品味面向对象的璀璨光芒
析构函数的名称是在类名前加上符号,其定义方式与普通成员函数类似,但没有返回值类型,也不能带有参数(除了在极少数情况下用于处理特定的异常或资源释放场景,但这种情况相对较少见)。一个类只能有一个析构函数,若未显式定义,系统会自动生成默认析构函数。例如:public:// 析构函数声明~MyClass();// 析构函数定义// 这里进行资源清理等操作构造函数的名称与类名相同,它没有返回值类型,甚至连void也不能有。其主要目的是在对象实例化时,为对象的数据成员分配内存空间并进行初始化操作。原创 2024-11-11 22:46:31 · 783 阅读 · 0 评论 -
C++ 类与对象入门:基础知识与定义
在C++中,类是一种用户自定义的数据类型(类似于C语言中的struct),它将数据(属性)和操作这些数据的函数(方法)封装在一起。类是面向对象编程的核心概念之一,它允许我们以一种结构化的方式组织代码,提高代码的可重用性和可维护性。类名:类的名字应该具有描述性,以便其他开发者能够理解该类的用途。成员变量:类内部的数据,也称为属性。成员函数:类内部的函数,用于操作成员变量。对比C语言来看,"内容"不过多了一个成员函数(但是大有讲头)// 成员变量int age;public:// 成员函数。原创 2024-10-24 23:21:52 · 912 阅读 · 0 评论 -
成为大牛第一步 —— C++ 入门基础
特性命名空间内可以定义变量 / 函数 / 结构体等可以嵌套定义本质是定义一个域,这个域跟全局域各自独⽴,不同的域可以定义同名变量多文件定义同名域被认为是同一个域//命名空间中可以定义变量/函数/类型int val;缺省参数在头文件的声明不可以出现缺省!!!会出现重定义错误,在声明给缺省的形参头文件中源文件中重载函数。原创 2024-09-30 00:29:42 · 1099 阅读 · 0 评论
分享