
C++
文章平均质量分 88
饼干叔叔@海洋
义务编程教练
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
各种常用C/C++集成开发环境的安装与配置
为了更加美好的生活,我们为菜鸟们准备了如下常用C/C++集成开发环境的安装和配置指南:原创 2023-02-18 20:25:35 · 822 阅读 · 1 评论 -
C/C++程序的断点调试 - Microsoft Visual Studio
本文以Microsoft Visual Studio为例,简述C/C++程序断点调试的基本方法和过程。其它的IDE环境,大同小异。原创 2022-12-20 18:49:01 · 983 阅读 · 0 评论 -
C/C++程序的断点调试 - Dev C++
本文以Dev C++ 5.11为例,简述C/C++程序断点调试的基本方法和过程。其它的IDE环境,大同小异。原创 2022-12-17 12:28:22 · 4234 阅读 · 1 评论 -
C/C++程序的断点调试 - CodeBlocks
本文以CodeBlocks为例,简述C/C++程序断点调试的基本方法和过程。其它的IDE环境,大同小异。原创 2022-12-15 18:29:31 · 630 阅读 · 0 评论 -
C/C++程序的断点调试 - Visual Studio Code
本文以Visual Studio Code为例,简述C/C++程序断点调试的基本方法和过程。其它的IDE环境,大同小异。原创 2022-12-13 10:30:52 · 2068 阅读 · 0 评论 -
C/C++:双重循环中的break
break语句的执行只会导致其所在层的循环被中止。在一个嵌套的双重循环中,处于内层循环内的break被执行时,只会导致内层循环的中止,外层循环不受影响。原创 2022-11-28 08:22:04 · 3561 阅读 · 1 评论 -
Microsoft Visual Studio C++开发环境的配置及使用
Microsoft Visual Studio C++开发环境的配置及使用原创 2022-11-24 23:57:14 · 4095 阅读 · 1 评论 -
CodeBlocks C++开发环境的配置及使用
CodeBlocks C++开发环境的配置及使用原创 2022-11-23 17:22:30 · 2565 阅读 · 0 评论 -
Dev C++开发环境的配置及使用
Dev C++开发环境的配置及使用原创 2022-11-21 22:31:38 · 2959 阅读 · 0 评论 -
C语言,从联合看字节序
C语言中的联合(union)类型为我们提供了操纵和解读“数据”的独特方式,它允许对同一块内存以不同的方式进行解读和操纵。原创 2022-11-15 13:31:23 · 483 阅读 · 1 评论 -
C++里的移动语义 ~ 偷走一个对象里的资源,移入另一个对象
C++提供了**移动拷贝构造函数**以及**移动赋值函数**,它们可以把一个预期不再被需要的对象的资源,如string对象的缓冲区,直接移入另一个对象,从而避免不必要的对象复制行为,进而提高程序运行的效率。原创 2022-11-08 21:30:49 · 270 阅读 · 0 评论 -
C/C++微实践 - 分形蕨类树叶
借助于4个线性方程组,“凭空”生成一片分形的蕨类植物树叶,感受数学之美。原创 2022-11-07 09:31:23 · 1115 阅读 · 0 评论 -
C/C++微实践 - 细胞计数
从一张二值化的动物组织照片中识别并统计出细胞的数量,涉及文件操作以及图的宽度优先遍历算法。原创 2022-11-05 11:42:24 · 2726 阅读 · 2 评论 -
C/C++微实践 - 发现圆周率
除了祖冲之的割圆法和格雷戈里公式,借助于循环和随机数,我们还可以通过一种特别有趣的方法来估算圆周率。原创 2022-11-04 11:59:35 · 3564 阅读 · 2 评论 -
UTF-8编码及非英文字符的处理与显示
char类型只包含1个字节的存储空间,而1个字节最多能表达256种不同的值。如果只表达英文字符及其标点符号,1个字节足够。但其它文字,比如中文,其“字符”有数万之多。在编码其它语言文字时,可能会使用到不同的多字节编码方案。原创 2022-11-03 08:44:33 · 1393 阅读 · 1 评论 -
在Windows下用mingw手工编译程序
本文是与《C++编程基础及应用》(暂定名)**第12章 - 编译及构建**配套的操作指南,用于演示在Windows命令行环境下使用mingw编译器手工编译并运行程序的过程。原创 2022-11-02 11:12:08 · 1911 阅读 · 0 评论 -
C/C++函数调用过程的汇编代码分析(arm64指令集)
函数调用过程的汇编代码分析(arm64指令集),顺便关注一下栈空间的分配与回收。原创 2022-11-01 08:49:39 · 942 阅读 · 0 评论 -
C/C++布尔运算的短路
对于表达式a && b,当a为假时,整个逻辑表达式的结果必为假,评估表达式b的值是不必要的。同样的情况也发生在表达式c || d中,当c为真时,d的真假不影响整个表达式的值。在上述情形下,编译器会略过表达式b和d的运算,这种行为就好比电路“短路”时,电流总是沿阻抗最低的“近路”行进,称之为“布尔运算的短路”。原创 2022-10-31 08:47:26 · 980 阅读 · 0 评论 -
用C语言读写文本文件
本节主要讨论如何使用C语言读写文本文件。原创 2022-10-30 18:38:00 · 5863 阅读 · 0 评论 -
用C语言随机读写二进制文件
本节主要讨论如何使用C语言随机读写二进制文件。原创 2022-10-28 11:17:26 · 2086 阅读 · 0 评论 -
C语言: “老板,来两份外卖,一份卤肉饭(%d),一份鸡汤面(%f)...“
C语言控制台应用中获取用户输入主要靠scanf()函数。在这本以C++作为主线的程序设计教材里,scanf()函数并非必须介绍的内容,故以在线扩展阅读的形式提供。原创 2022-10-26 09:17:21 · 310 阅读 · 0 评论 -
C++, 多态应用举例之Word
在花费了很多的时间学习多态之后,我们有必要通过一个示例向读者展示多态技术在实践中不可或缺的重要价值。我们从大家常用的文字编辑软件说起。原创 2022-10-24 10:04:51 · 1175 阅读 · 0 评论 -
C/C++描述 - 矩阵乘积的计算
矩阵运算是现代科学及工程计算的基石之一,而矩阵乘法则是其中最常见一种运算。对于二维矩阵A、B,如果A的列数等于B的行数,则矩阵A、B可乘,其结果矩阵C的行数等于A的行数,列数等于B的列数。原创 2022-10-23 11:32:41 · 3274 阅读 · 0 评论 -
C/C++描述 - 分治法及归并排序
将两个有序的子数组合并为一个整体有序的数组跟幼稚园里小朋友排队的道理差不多。假设小一班和小二班的小朋友已经按照身高由低到高排好队了,你是幼儿园老师,需要将小一班和小二班的队列合并为按身高由低到高的单一队列,那么,你很容易得到下述算法:比较排头位的两位小朋友的身高,将其中较矮的小朋友“拉”到新的队列中去;重复上述过程直至两个队列的小朋友都被拉完为止。如果其中一个队列的小朋友提前被拉完,那么另一个队列的剩余小朋友依次拉入新队列即可。原创 2022-10-22 11:29:33 · 1389 阅读 · 0 评论 -
C++中使用boost库存取ini结构化文本文件
包含如下内容的文件dora.ini存储了学号为20210426的某同学的姓名、年龄、以及已修三门课程的名称和分数。这种名为ini的文件格式可以很方便地存储结构化的对象信息。相较于自行设计文本文件的内容结构,直接使用ini格式既方便,扩展性又好。本实践中,我们借助于大名鼎鼎的boost库来解析ini文件。原创 2022-10-21 10:30:57 · 1158 阅读 · 0 评论 -
C/C++中如何让程序接受并处理命令行参数
经由操作系统,用户可以为应用程序的运行指定额外参数,进而影响应用程序的行为。对于C/C++程序而言,经由操作系统提供的运行参数可由main()函数获取并处理。原创 2022-10-20 10:29:50 · 1563 阅读 · 2 评论 -
用C++实现设计模式中的单件
设计模式(design patterns)是软件体系结构中一个比较深入的话题。其中,单件(singleton)模式是其中最简单的一种,它描述了下述应用场景其及解决方案:在程序中,有些类型我们最多只需要一个对象,比如数据库连接、错误日志记录器等等。单件模式试图通过特殊的类设计确保该类型最多只能被实例化一次。原创 2022-10-20 10:26:33 · 565 阅读 · 0 评论 -
用C++做数据分析 - 唐代诗人的朋友圈
通过分析全唐诗中各位诗人之间的“引用”关系,可以描绘出当时诗坛的大致朋友圈图景:谁跟谁熟?谁是圈子里的带头大哥?全唐诗有4万多首,人工一首一首地筛查费时费力,这种重复的统计性质的工作正是计算机最擅长的。原创 2022-10-17 23:24:30 · 2816 阅读 · 1 评论 -
C/C++里的指针与常量:指向常量的指针 vs. 指向变量的常量型指针
如果试图把一个指向常量对象的指针(&a)赋值给一个指向非常量对象的指针(p1),C++编译器会拒绝(C编译器不会)。原创 2022-10-16 10:15:45 · 196 阅读 · 0 评论 -
C/C++里危险的宏(Macro)
我们不建议初学者使用宏,因为使用宏的收益远不足以抵消其带给初学者的风险。原创 2022-10-15 09:04:09 · 961 阅读 · 2 评论 -
const float (*a)[3] ? 这是个啥,劝退神器?
C语言的设计者还给我们准备了难以理解的另一种参数数组定义格式,以便让我们知难而退。原创 2022-10-14 10:04:52 · 529 阅读 · 0 评论 -
C/C++中广受诟病但又依然在用的古老的goto语句
C++中的goto语句用于跳转程序的执行点至指定位置。从效率上看,goto很高效,从软件工程角度,goto语句的使用容易导致程序逻辑混乱、变得难以理解和维护。原创 2022-10-11 09:52:26 · 226 阅读 · 0 评论 -
【C/C++】一个有点炫技的不必要的“复杂”的for循环示例
C/C++里for循环的初始化语句、测试及更新表达式可以是任意合法的语句/表达式,甚至可以空缺。当初始化语句及测试表达式空缺时,需要用一个分号占位。灵活运行上述特性,可以写出很“复杂”的for循环。原创 2022-10-10 09:35:46 · 948 阅读 · 0 评论 -
【C/C++】中的隐式类型转换 ~ 关于整数除以整数,商仍为整数的问题
在下述三种情况下,C/C++会进行隐式类型转换(implicit type cast):①变量初始化或者赋值时,值与变量的类型不同;②表达式中不同类型的变量/值进行运算时;③函数参数传递▲时。原创 2022-10-09 11:12:18 · 1117 阅读 · 0 评论 -
C/C++里反直觉并且容易导致错误的逗号操作符
在整数a、b已经被定义的前提下,a = (b++,a*2)是合法的C++代码,其中的逗号是一个操作符。在作者看来,C++中的逗号操作符是一项非常反直觉并且容易导致错误的语法特性,建议读者非必要不使用。原创 2022-10-08 09:42:14 · 200 阅读 · 0 评论 -
【C/C++】 if (a=1) {...}, 每年都有无数学生犯的错 ~ 说说赋值操作符
a = 3中的赋值(assignment)操作符除了将3传递给变量a之外,还有其它额外功能。原创 2022-10-07 09:15:13 · 311 阅读 · 1 评论 -
C/C++里危险的递增和递减操作符
多年的实践证明,递增和递减操作符的不恰当使用是诸多软件缺陷的来源。在那些新的编程语言比如Python里,不提供递增及递减操作符。原创 2022-10-06 09:20:48 · 620 阅读 · 1 评论 -
【C/C++】 浮点数的存储结构以及与之相关的存储误差观察
浮点数就是所谓的小数,一个float类型的对象占据4个字节共32比特。这32个比特以类似于科学计数法的形式来表达一个浮点数原创 2022-10-04 18:56:25 · 1070 阅读 · 2 评论 -
【C语言】练习题 - 菲姐游泳 - 附视频讲解
游泳奥运冠军菲姐刻苦训练,从早上a时b分开始下水训练,直到当天的c时d分结束。请编程计算:菲姐当天一共训练多少小时多少分钟?原创 2022-09-29 20:19:51 · 1892 阅读 · 0 评论 -
Visual Studio Code下C/C++开发环境的配置及使用
在多数Linux的发布版本中均内置了gcc编译器工具集,对于Windows,我们建议安装mingw。mingw-w64可以简单认为是gcc的Windows的64位迁移版。原创 2022-09-29 19:42:09 · 4054 阅读 · 0 评论