个人学习心得(C++)
文章平均质量分 90
不固定上传个人学习过程中遇到的问题解决方案方便自己回过头来查阅,如果对大众起到一针见血的作用也算是锦上添花
螺蛳粉只吃炸蛋的走风
以为不水文是博主的个人修养,亦是原则
个人代码托管仓库:https://gitee.com/xue-zitang
展开
-
关于多人开发下git pull报错代码冲突问题的解决方案
以亲身经历详细图示逐步讲解git冲突报错的解决方案,包括git pull报错和git commit报错都可一文打尽解决,手把手教你解决冲突。原创 2024-07-06 17:19:51 · 321 阅读 · 0 评论 -
C/C++中互斥量(锁)的实现原理探究
本文通过互斥量、原子操作概念以及硬件上下文结合的方式,阐释了互斥量通过原子操作保证线程独占访问共享资源,避免数据竞争。线程获取互斥量时,若已被占用则等待,确保临界区安全。原创 2024-05-31 14:25:50 · 985 阅读 · 2 评论 -
浅析declval关键字
本文详细讲解 declval 特性和使用场景,它允许我们在不实例化对象的情况下使用其类型。这在模板元编程中尤其重要,因为它使得我们能够在编译时进行类型推导,而无需关心对象的构造。原创 2024-05-23 21:13:16 · 723 阅读 · 0 评论 -
位图bitset的模拟实现与位运算
本文探讨C++中的位操作与位图bitset,通过介绍bitset和two_bitset类模板,将展示如何利用C++的位操作来解决实际问题,位图为处理大量数据提供了一种高效且直观的方法,无论是在内存受限的环境中处理大规模数据集,还是在日常编程中寻找优化的机会,都是一个不可或缺的工具。原创 2024-05-17 02:31:14 · 978 阅读 · 0 评论 -
一文搞懂左值与右值兼左值引用和右值引用(附右值引用的移动语义)
本文循序渐进的结合案例阐释左值引用和右值引用概念,同时解释为什么存在、怎么样使用的问题,尤其着重与对不同使用场景下用途的剖析。原创 2024-05-17 02:25:20 · 860 阅读 · 0 评论 -
剖析C++中的多态
深度剖析了C++多态性的深层次概念,包括虚函数、继承、final和override关键字,以及虚函数表和虚表指针。通过具体的代码示例,我们将揭示这些概念背后的工作原理,并展示它们如何在实际编程中发挥作用。原创 2024-04-09 19:08:06 · 913 阅读 · 0 评论 -
何为C++中的协变
本文深入探讨了C++中的协变特性,包括其定义、构成条件,以及在克隆操作和设计模式中的应用实例。协变允许派生类在重写基类虚函数时返回派生类类型的指针或引用,从而提供了更精确的类型信息和更灵活的代码设计可能性。原创 2024-04-09 10:33:24 · 415 阅读 · 0 评论 -
剖析C++中的继承
本文将从概念开始讲解继承的规范、特性以及不同情况下的注意点,包括赋值转换、作用域问题、默认函数调用问题、友元函数、静态成员等,希望本文对你能够有所帮助。 继承一定程度破坏了基类的封装,基类的改变,对派生类有很大的影响。派生类和基类间的依赖关系很强,耦合度高。原创 2024-04-04 11:33:56 · 1096 阅读 · 0 评论 -
剖析C++中的菱形继承
本文通过实例代码和内存监视图解析了菱形继承的问题,并介绍了虚拟继承作为一种解决方案。通过将基类声明为虚基类,我们可以确保在派生类中只有一个基类实例,从而避免了数据冗余。原创 2024-04-04 11:17:39 · 315 阅读 · 0 评论 -
模版的全特化与偏特化
本文将详细介绍类模板与函数模板的全特化和偏特化,利用其可以为特定类型或条件创建专门的模板实现,从而提高代码的效率和准确性。原创 2024-03-30 19:10:35 · 1126 阅读 · 0 评论 -
C++的非类型模板参数与模板分离编译(模板显式实例化)
本文章绍了C++中的非类型模板参数和模板分离编译的概念。非类型模板参数是模板中的常量参数,可以在模板中当作常量使用。模板分离编译是将程序分为多个源文件进行单独编译生成目标文件,然后将目标文件链接为单一的可执行文件。文章还介绍了解决模板分离编译问题的方法,包括模板显式实例化和重新定义普通函数。原创 2024-03-29 01:10:43 · 898 阅读 · 0 评论 -
string类的详细模拟实现
本文详细介绍从零开始实现String类,新手友好,包含扩容逻辑、避免溢出、隐含参数、声明定义分离范式,以及丰富的操作实现细节详解,同时指出易错注意点原创 2024-03-23 21:07:45 · 1104 阅读 · 0 评论 -
浅析C++的指针与引用
引用的使用可以一定程度避免“指针满天飞”的情况,对于提升程序稳定性也有一定的积极意义。同时指针与引用底层实现都是一样的,不用担心两者的性能差距。原创 2024-03-14 19:45:14 · 1077 阅读 · 0 评论 -
浅析decltype关键字
深入探讨decltype的基本用法、规则以及它如何提高我们代码的可读性和灵活性。它提供了一种类型安全的方式来推导变量和表达式的类型。原创 2024-03-14 19:41:37 · 976 阅读 · 0 评论 -
浅析extern关键字
C++ 和C语言在编译和链接的过程中有一些区别,需要使用 extern 关键字来解决一些问题。本文将介绍 extern 关键字的作用和用法,以及如何在 C++ 中调用C函数和在C中调用 C++ 函数的方法和注意事项。原创 2024-03-07 16:51:29 · 1207 阅读 · 0 评论 -
浅析assert宏
首先断言(assert)是宏,而非函数。assert 宏的作用是如果它的条件返回错误,则终止程序执行。assert 宏的优点是可以在开发和调试阶段快速发现和定位程序中的错误,提高代码的可测试性和可靠性。原创 2024-03-07 16:39:58 · 998 阅读 · 0 评论 -
浅析volatile关键字
volatile 关键字声明的类型变量表示可以被某些编译器未知的因素(操作系统、硬件、其它线程等)更改,每次访问时都必须从内存中取出值(没有被 volatile 修饰的变量,可能由于编译器的优化,从 CPU 寄存器中取值)const 可以是 volatile(如只读的状态寄存器)指针可以是 volatile。原创 2024-03-04 23:57:38 · 888 阅读 · 0 评论 -
浅析虚函数的vptr和虚函数表
C++使用一种称为虚拟表的特殊形式的后期绑定,该虚拟表是用于解决在动态/后期绑定方式的函数调用函数的查找表,本文对虚表指针和虚函数表的模型进行刻画。原创 2024-03-04 00:15:00 · 387 阅读 · 0 评论 -
浅析this指针
this指针是一个自引用指针,通常用于指向对象自身。本文将深度探讨this指针的核心特性、注意要素、应用场景和相关案例。原创 2024-03-03 13:04:30 · 811 阅读 · 0 评论 -
浅析 explicit 关键字
explicit 修饰构造函数时,可以防止隐式转换和复制初始化explicit 修饰转换函数时,可以防止隐式转换,但按语境转换除外。原创 2024-03-03 04:00:00 · 820 阅读 · 0 评论 -
单、多参数构造函数的隐式类型转换
在C++中,构造函数不仅用于初始化对象的状态,还可以实现隐式类型转换。本文详细介绍了单参数和多参数构造函数的隐式类型转换技术和explicit关键字的作用。原创 2024-02-26 21:36:10 · 911 阅读 · 0 评论 -
C++之善用const修饰成员函数
介绍一些在类中善用const修饰成员函数的案例,以及相应的代码示例。通过善用const修饰成员函数,我们能够在C++代码中提高代码的可维护性、可读性,并且更好地支持类的设计和重载。原创 2024-02-26 15:28:08 · 366 阅读 · 0 评论 -
C++中获取成员函数地址的方法
总结了两种目前最高效易用的方法来获取成员函数地址,其中第一种利用函数模板实现,第二种直接在 .cpp 文件中利用汇编方法的offset语句实现。 至于为什么要取成员函数的地址?因为可以通过一定手段使得成员函数作为回调函数,而无需使用全局的静态函数。原创 2024-02-17 15:41:45 · 1056 阅读 · 2 评论 -
命名空间(namespace)及其应用技巧
演示了如何在不同命名空间中定义变量和自定义类型,并展示了它们的使用方法。介绍了C++中命名空间的基本概念、使用方法以及与变量交互的关系。原创 2024-02-04 14:10:42 · 1159 阅读 · 0 评论 -
剖析C语言中的自定义类型(结构体、枚举常量、联合)兼内存对齐与位段
本篇主要介绍C语言中的结构体、枚举和联合这三种复合数据类型。详细讨论它们的基本定义与使用、内存对齐、自定义对齐数、函数传参、位段、内存存储形式等概念和用法。原创 2023-10-28 12:17:25 · 539 阅读 · 3 评论 -
回调函数兼函数指针与仿函数(谓词形式概论)
突出介绍了函数指针和仿函数及其他方式充当算法函数谓语的异同点,涉及到回调函数、void*指针、谓语、lambda表达式、bind()语句、function类模板及举例用的典型算法函数,利用函数指针和仿函数的突出特征区分谓语类型。原创 2023-10-07 14:22:28 · 249 阅读 · 9 评论 -
HEAP CORRUPTION DETECTED: after Normal block错误解决方法
令人迷惑的 HEAP CORRUPTION DETECTED 异常,当实际使用的内存大小超过了申请内存空间大小时,在以后释放内存的时候就会引发 HEAP CORRUPTION DETECTED: after Normal block错误。原创 2023-09-19 23:49:54 · 1964 阅读 · 1 评论 -
深入指针初阶
本篇博客文章将介绍C/C++中指针的初阶知识,介绍为什么要存在不同的指针类型,不同类型的指针可否混用。其次,讨论有多少种可行的方式可以对数组进行按需访问。最后二阶指针是什么,怎么用,为什么要有二级指针?以上都是本篇指针初阶会突出讲述的部分,希望通过本篇文章,初学者可以对指针有并非浮于表面的恰当理解。原创 2023-09-05 20:20:23 · 166 阅读 · 5 评论 -
输入时必要清空缓冲区的情况及其含空格字符串读取等输入需求实现
清空缓冲区的目的和常见的清空方法,实现全部清空或选择性部分清除缓冲区,同时介绍利用缓冲区机制实现理想读取并记录多个字符串原创 2023-07-22 20:26:45 · 1578 阅读 · 1 评论 -
C++中常见的异常处理问题
包括对数字、中文字符串、数组越界访问及输入合法性等异常处理的总结,可以很好地镶嵌在程序设计或项目中以提升代码的健壮性原创 2023-07-11 01:29:50 · 529 阅读 · 2 评论 -
函数的返回值和传入参数选择 -- 指针与引用
函数返回值和函数传入参数在使用指针亦或是引用如何选择以及诸多需要注意的问题原创 2023-07-04 14:07:51 · 1757 阅读 · 8 评论 -
函数参数是指针,返回值需要是同类型指针吗?
当函数的传入参数为指针类型时,返回值需要是同类型的指针型返回值的情况,辨析传入指针型函数返回值无需是指针的看法原创 2023-06-25 22:18:16 · 271 阅读 · 5 评论 -
C/C++函数返回值与形参实参需要注意的问题
关于阐述函数返回值的稳定性和形参实参合理使用(指针部分内容较多)原创 2023-06-21 17:59:20 · 749 阅读 · 5 评论 -
字符串在C和C++中需要注意的问题
字符串求长度常见坑和字符串读写文件难点等知识点剖析原创 2023-06-17 22:05:58 · 439 阅读 · 6 评论