
C语言
文章平均质量分 83
赵萱婷
慢慢适应,坚持
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[算法沉淀记录] 排序算法 —— 希尔排序
希尔排序(Shell Sort)是一种基于插入排序的算法,由Donald Shell于1959年提出。希尔排序的基本思想是将待排序的序列划分成若干个子序列,分别进行插入排序,待整个序列中的记录基本有序时,再对全体记录进行一次直接插入排序。原创 2024-02-23 09:33:40 · 1233 阅读 · 0 评论 -
C++ 设计模式 —— 桥接模式
桥接模式的定义桥接模式的作用桥接模式,顾名思义,就像是一座连接两岸的桥梁。在软件开发中,我们可以将桥接模式看作是一座连接抽象部分和实现部分的“桥”,通过这座“桥”,我们可以方便地在抽象部分和实现部分之间进行切换,而不需要关心它们之间的实现细节。桥接模式的核心作用就是降低系统的耦合度,提高扩展性和可维护性。想象一下你正在修建一座连接两个城市的大桥,如果没有这座桥,你需要绕行很远的距离才能到达对岸。原创 2023-10-09 20:12:38 · 893 阅读 · 0 评论 -
(C++基础_STL) —— string类的基本应用
文章目录(C++基础_STL) —— string类的基本应用0 个人介绍string容器1. string的基本概念2. string的构造函数案例3. string赋值操作4. string的字符串拼接操作5. string的查找和替换6.(C++基础_STL) —— string类的基本应用 在日常的C++开发过程中,我们会经常使用到STL最为赋能加速开发的一个基本库,那么在有一定的C++的语言的基础上,学习如何使用STL是一件非常有益与后续有益于自己面对更加复杂的需求和日常开发赋能的原创 2021-08-26 11:26:44 · 277 阅读 · 0 评论 -
(图形学笔记 - Vulkan) 1.1.3 - Validation layers(建立vulkan的验证层)
文章目录1.1.3 - Validation layers(建立vulkan的验证层)参考链接概述学习和翻译内容Validation layers(验证层)What are validation layers? (什么是验证层?)Using validation layers (使用验证层)Message callback(消息回调)Debugging instance creation and destruction(调试实例创建和销毁)TestingConfiguration(配置)整体代码小结个人格言翻译 2021-07-14 15:39:20 · 2160 阅读 · 2 评论 -
(C++ 杂记) —— 自己编写一个math类
文章目录自己编写一个math类概述math代码个人格言自己编写一个math类概述 在我们日常编程的过程中,经常有需要去用到处理一些数学的函数,利用他们来计算一些结果,然后很多时候,我们不止需要用到math.h提供的基础能力,因为其大部分提供的是C的基础能力,并不是面向对象的,因此就产生了一种需求,我们需要实现一个面向对象的一个有一个基础的数学能力的库,当然,自己实现的只是一个很小的需求,如果想要使用强大的数学库,自然有一些开源的,例如boost::math, opencv 里面的矩阵运算的库,原创 2021-04-30 17:12:48 · 597 阅读 · 2 评论 -
(C++ 杂记) —— C++ 类class 和 结构体 struct 的区别
文章目录C++ 类class 和 结构体 struct 的区别概述差异和举例个人格言C++ 类class 和 结构体 struct 的区别概述 今天在逛知乎的时候,看到了有人在问,类和结构体的区别,然后想想自己好久没有去思考这类基础的问题了,正好借着这个机会写一篇小的文章来记录这次突然的发现。其实我们日常开发过程中,经常会用到class和struct,但是C++倾向明显的同事就会喜欢用class,C倾向明显的同事就喜欢用struct,那么,他俩在目前的C++体系里面,有什么异同呢?这篇文章希望原创 2021-04-28 13:54:27 · 425 阅读 · 0 评论 -
(C++ 成长记录) —— C++强制类型转换运算符(static_cast、reinterpret_cast、const_cast和dynamic_cast)
文章目录C++强制类型转换运算符附录专业词汇百科参考文献概述类型转换概念介绍异同对比static_castreinterpret_castconst_castdynamic_cast小结个人格言C++强制类型转换运算符附录专业词汇百科C语言C++指针强制类型转换参考文献 声明: 本文有部分内容直接来自参考文献,侵删。C++强制类型转换运算符(static_cast、reinterpret_cast、const_cast和dynamic_cast)概述 我在日原创 2021-04-27 15:46:44 · 361 阅读 · 2 评论 -
(C++ Std 学习) —— 重载函数的地址
文章目录(C++ Std 学习) —— 重载函数的地址概述和背景参考文本和自行翻译案例代码分析自己编写的代码中使用分析个人格言(C++ Std 学习) —— 重载函数的地址概述和背景 在日常学习工作中,很多时候都会用到函数,还要理解函数的地址是如何生成和使用的,不过绝大部分而言都是直接使用类对象指针来调用对应的函数即可,这个过程在内存中其实就是找到对应的对象的其实地址,然后加上该函数在该类对象中的函数地址片偏移量即可找到对应的函数的一个过程。那么,C++Std中又是如何定义关于函数地址的重原创 2021-04-19 11:59:28 · 381 阅读 · 2 评论 -
(C++ Std 学习) 访问说明符的理解和运用(public, protected, private)
文章目录(C++ Std 学习) 访问说明符的理解和运用(public, protected, private)概述和背景参考文本和自行翻译定义案例代码分析细节自己编写的代码中使用分析个人格言(C++ Std 学习) 访问说明符的理解和运用(public, protected, private)概述和背景 自己平时写代码的过程中,其实是经常是会用面向对象的基本的操作的,就是访问控制说明嘛,有些变量不想暴露,只提供公共的接口之类的,有些接口和变量想要有子类继承或者重写,就能够提供一个基本的访问控原创 2021-04-14 10:51:39 · 610 阅读 · 0 评论 -
(C++ Std 学习) decltype 定义与使用
文章目录(C++ Std 学习) decltype 定义与使用概述和背景参考文本和自行翻译定义案例代码分析自己编写的代码中使用分析个人格言(C++ Std 学习) decltype 定义与使用概述和背景 在自己编写代码的项目中,有些地方碰到同事特别喜欢使用auto和decltype作为使用的方法,就是比较喜欢用C++11这个特性,我才发现自己之前对这方面有些抵触,我个人习惯是能不用auto就不用auto,不然一堆auto别人看了也不好理解到底是个什么类型,会导致代码可读性变的很差,不过还是意原创 2021-04-12 15:47:04 · 524 阅读 · 0 评论 -
(C++ std学习) —— auto 和 decltype的理解和使用
文章目录(C++ STD学习) —— auto 和 decltype的理解和使用概述和背景参考文本和自行翻译定义笔记案例代码分析自己编写的代码中使用分析个人格言(C++ STD学习) —— auto 和 decltype的理解和使用概述和背景 在自己编写代码的项目中,有些地方碰到同事特别喜欢使用auto和decltype作为使用的方法,就是比较喜欢用C++11这个特性,我才发现自己之前对这方面有些抵触,我个人习惯是能不用auto就不用auto,不然一堆auto别人看了也不好理解到底是个什么类原创 2021-04-12 12:40:21 · 337 阅读 · 0 评论 -
(Effective C++)读书学习笔记 —— 概览
文章目录(Effective C++)读书学习笔记 —— 概览个人格言(Effective C++)读书学习笔记 —— 概览视 C++ 为一个语言联邦(C、Object-Oriented C++、Template C++、STL)宁可以编译器替换预处理器(尽量以 const、enum、inline 替换 #define)尽可能使用 const确定对象被使用前已先被初始化(构造时赋值(copy 构造函数)比 default 构造后赋值(copy assignment)效率高)了解 C++ 默默编转载 2021-04-09 17:58:57 · 141 阅读 · 0 评论 -
C++ 项目成长 —— 重定义一些自己平台关于字符串的系统操作
重定义一些自己平台关于字符串的系统操作概要TZOpenToolstzsofts_str_operations.h个人格言概要 书接上回,项目开始定义了一些系统的平台参数,具体可参见下面的文章:C++ 项目成长 —— 定义跨平台的参数宏的文件记录。 同时,在上次我们尝试去定义了一些编译选项自定义的宏,来控制不同的编译选项的时候,能够做一些区分,具体可以参考下面的文章:C++ 项目成长 —— 自定义编译参数宏,区分编译选项 上回说到一下关于自定义一些自己项目中所用到的数据类原创 2021-03-03 18:04:21 · 282 阅读 · 1 评论 -
C++ 项目成长 —— 自定义平台的定位追踪器
自定义平台的定位追踪器概要TZOpenToolstzsofts_trace_utils.htzsofts_trace_utils.cpp个人格言概要 书接上回,项目开始定义了一些系统的平台参数,具体可参见下面的文章:C++ 项目成长 —— 定义跨平台的参数宏的文件记录。 同时,在上次我们尝试去定义了一些编译选项自定义的宏,来控制不同的编译选项的时候,能够做一些区分,具体可以参考下面的文章:C++ 项目成长 —— 自定义编译参数宏,区分编译选项 上回说到一下关于自定义一些原创 2021-03-03 17:12:21 · 221 阅读 · 1 评论 -
C++ 项目成长 —— 自定义自己平台的Asserter工具的宏定义
自定义数据类型,定义各种类型别名, typedef的部分用法实例概要TZOpenToolstzsofts_debug_utils.h个人格言概要 书接上回,项目开始定义了一些系统的平台参数,具体可参见下面的文章:C++ 项目成长 —— 定义跨平台的参数宏的文件记录。 同时,在上次我们尝试去定义了一些编译选项自定义的宏,来控制不同的编译选项的时候,能够做一些区分,具体可以参考下面的文章:C++ 项目成长 —— 自定义编译参数宏,区分编译选项 上回说到一下关于自定义一些自己原创 2021-03-03 15:41:13 · 223 阅读 · 1 评论 -
C++ 项目成长 —— 自定义系统中使用的Assert工具,类似Q_ASSERT的简化版
自定义数据类型,定义各种类型别名, typedef的部分用法实例概要TZOpenToolstzsofts_assert.htzsofts_assert.cpp个人格言概要 书接上回,项目开始定义了一些系统的平台参数,具体可参见下面的文章:C++ 项目成长 —— 定义跨平台的参数宏的文件记录。 同时,在上次我们尝试去定义了一些编译选项自定义的宏,来控制不同的编译选项的时候,能够做一些区分,具体可以参考下面的文章:C++ 项目成长 —— 自定义编译参数宏,区分编译选项 上回原创 2021-02-26 17:37:39 · 372 阅读 · 0 评论 -
C++ 项目成长 ——自定义数据类型,定义各种类型别名, typedef的部分用法实例
自定义数据类型,定义各种类型别名, typedef的部分用法实例概要TZOpenToolszsofts_types.h个人格言概要 书接上回,项目开始定义了一些系统的平台参数,具体可参见下面的文章:C++ 项目成长 —— 定义跨平台的参数宏的文件记录。 同时,在上次我们尝试去定义了一些编译选项自定义的宏,来控制不同的编译选项的时候,能够做一些区分,具体可以参考下面的文章:C++ 项目成长 —— 自定义编译参数宏,区分编译选项 那么今天,我就想要来说道说道,如何来定义自己原创 2021-02-26 11:07:52 · 372 阅读 · 0 评论 -
Qt 杂记 - 第一次显示控件的时候,使用正确的宽度和高度来做计算。
文章目录控件第一次显示个人格言控件第一次显示 本人在日常开发中,遇到了几次控件第一次显示我想要利用其本身的宽度高度来计算其应该显示的位置,但是又由于控件没有显示过之前,不会拥有Rect和Geometry的属性,经常导致第一次显示的位置出现莫名的错误的情况。 经过验证发现,自己不能够在控件第一次显示之前就尝试去使用rect 和 geometry,这个是一个愚蠢的决定。 那么,问题来了,我们应该使用什么方法,才能在第一次控件没有显示之前就能够得到正确的控件宽度和高度呢?原创 2021-01-21 15:11:00 · 1063 阅读 · 0 评论 -
(莫寒C++学习之路)深入实践C++模板编程读书笔记01序章
C++模板编程读书笔记-概览概览作者写书的初衷模板基础Hello 模板1.1 为什么需要使用模板概览这里是通过记录学习的纸质书籍《深入实践C++模板编程》,因此放上华章的连接:《深入实践C++模板编程》在我们日常学习C++的过程中,其实不难发现该语言是一门强类型的语言,是一个对于面向对象编程支持的非常好的语言。因此在强类型的要求下,如果只是单纯地遵守**“万物皆对象”**的法则,那么必然会...原创 2020-05-06 11:39:56 · 397 阅读 · 0 评论 -
(莫寒C++成长贴)C++ 桥接模式
学习C++桥接模式后做的一个简单的学习记录。原创 2020-04-20 15:00:55 · 325 阅读 · 0 评论 -
Using Objective-C achieve the stack structure.(用Objective-C实现堆栈)
Achieve stack structure by using Objective-C.原创 2015-04-23 16:34:07 · 492 阅读 · 0 评论 -
Objective-C Learning notes
Objective-C 基本语法学习项目(英语原创)原创 2015-04-16 16:16:14 · 401 阅读 · 0 评论 -
算法-分治法实例:循环赛日程安排问题
利用C语言实现分治法的一个实例——循环赛程问题原创 2015-10-12 21:09:21 · 7351 阅读 · 0 评论 -
计算机图像学学习记录(二) —— 中点画线算法
中点画线算法为了方便阅读算法代码的人,现在这贴上算法核心代码: 算法过程: 注意:本过程只针对,斜率绝对值小于1的情况。void DDADrawLine::MPDrawLine(int x0, int y0, int x1, int y1){ int a, b, dt1, dt2, d, x, y; a = y0 - y1; b = x1 - x0; ...原创 2018-03-16 23:34:59 · 14947 阅读 · 7 评论 -
计算机图形学学习记录(三)Breseham画线算法
Breseham算法首先为了方便直接看算法代码的朋友直接看核心代码和结果,在这里直接贴出算法代码。void DDADrawLine::BreasehamDrawLine(int x0, int y0, int x1, int y1){ int iTag = 0; int dx, dy, tx, ty, inc1, inc2, d, curx, cury; glCo...原创 2018-03-19 23:14:23 · 3566 阅读 · 0 评论 -
计算机图形学学习记录(一) —— DDA画线算法
数值微分DDA(Digital Differential Analyzer)画线算法首先在这里给不想读大篇幅的朋友,直接写上DDA算法的核心实现代码: 上面这个只针对斜率绝对值小于1的。// 实现DDA算法。// author: 赵天宇// date : 2018/03/09void DDADrawLine::LineDDA(int x0, int y0, int ...原创 2018-03-12 16:23:23 · 17314 阅读 · 3 评论 -
数据结构通用双向循环链表实现
数据结构通用双向循环链表实现代码块数据结构通用双向循环链表实现在学习操作系统的过程中,我们为了简化代码,提高数据结构的效率,我们会需要去在C语言中运用一些面向对象的方法,比如这里所要说明的通用双向循环链表。他的特点有 - 一次定义,无限使用 - 不限制数据类型 - 优化简介 - 可读性强代码块list.h//// list.h// GeneralDoubleLoopList//原创 2015-03-31 20:01:55 · 611 阅读 · 0 评论