自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

第2学堂-专栏

www.d2school.com

  • 博客(210)
  • 收藏
  • 关注

原创 GUI10-写个屏保安装到女友电脑上

写一个屏幕保护程序,安装到女友的电脑上……再给她一通电话,聊着,聊着,她就能看到电脑变成表白墙啦!

2025-04-07 19:30:55 798

原创 003-掌控命令行-CLI11-C++开源库108杰

1. 以文件对象监控程序为实例,五分钟实现从命令行读入多个监控目标路径;2. 区分两大时机,学习 CLI11 构建与解析参数两大场景下的异常处理;3. 区分三种选项:匿名vs.具名、选项vs.标志、必选vs.可选,全面掌握CLI11

2025-03-18 17:39:16 820

原创 C++感受16-Hello STL 向量篇.1-范式对比

孙悟空在鸡精窝前叫骂,鸡精们选择了忍耐,孙悟空在象妖洞前叫骂,象妖们选择了愤怒,如何用简洁的代码来模拟?看!函数模板和函数重载擦出了不一样的火花。

2025-03-11 22:19:31 537

原创 002-告别乱码-libiconv-C++开源库108杰

1. 理解乱码产生的原因2. 手把手教学如何封装 libiconv 的转换操作3. 借助封装成果,解决 fswatch 库示例项目的乱码问题

2025-03-11 20:44:27 815

原创 GUI09-事件的静态绑定与动态绑定

本课含两个部分(对应两个视频):1. 理解事件、事件表、事件绑定,以及何为静态绑定,何为动态绑定,二者各自的优缺点是什么;2. 上机实践如何绑定事件,包括:① 使用 GUI Builder 绑定,② 手工动态绑定,③ 手工静态绑定。

2025-02-25 09:54:29 793

原创 001-监控你的文件-FSWatch-C++开源库108杰

很多时候,程序需要及时获取磁盘上某个文件对象(文件夹、文件)的变动信息,这时候 “绝大多数操作系统支持主动推送此类信息” 这个知识点,就很重要。如果不知道这点,大概就只能让程序定时去检查、并维护前后两套数据,自行对比以发现是否有哪个文件对象发生了哪些变化。fswatch 本是多数 linux 下的一个工具程序——但现已经支持跨平台。它提供动态库和配套的 C、C++头文件 (合称为 libfswatch),借助它,我们也可以在自己的程序中,直接

2025-02-16 19:40:37 1310 3

原创 000-C++开源库108杰课程介绍

学了很久,学了很多,还是觉得用C++写不出什么有用有趣的程序?别让C/C++开源库在收藏夹里吃灰,是时候让它们在代码里 “活” 起来了!精选 108 个 C/C++ 开源库,从图片处理到网络通信,覆盖多个领域,跟随本课程,每个库你都可以快速上手,告别纸上谈兵,每一次实操都是编程能力的提升。无论是学生党还是开发者,都能收获满满。别再犹豫,一起开启 C++ 开源库的实战之旅,让收藏不再沉睡!

2025-02-16 18:25:48 1015

原创 GUI08-基于对话框的窗口应用

写个小工具软件?来学这节课。创建基于wxDialog的wxApp实例,同时使用Code::Blocks自带的wxSmith作为程序窗体的设计器(GUIBuilder),了解控件属性表与事件关联操作。

2025-01-20 16:14:03 822

原创 10.VSCODE:4分钟轻松搭建GO开发环境

……没错,因为语法超级简单,所以 golang 经常假装自己是 “脚本语言”,而 golang 的编译器则 cosplay 自己是一个解释器……直接读入“脚本语言” 就 “解释着” 运行起来了……这一对还真能玩,而我们,不过是人家 Play 中的一环!

2025-01-15 18:31:47 947

原创 09.VSCODE:安装 Git for Windows

在 Windows 下安装著名的源代码管理工具:git。当前我们更需要第2点。

2025-01-15 18:21:53 1131

原创 C++感受15-Hello STL 泛型启蒙

- 生鱼片和STL的关系,你听过吗?- 泛型编程和面向对象编程,它们打架吗?- 行为泛型和数据泛型,各自的目的是?- 大象放不进冰箱,是数学问题还是物理问题?

2025-01-08 18:43:11 989

原创 08.VSCODE:内嵌MSYS2及三方库UTF8-CPP的实战

在VSCode中集成 MSys2 终端,能让我们的开发过程更顺畅。作为示例,本课以utf8-cpp 为例,演示了在VSCode中一体化安装、使用第三方库的丝滑过程。注:utf8-cpp是一个历史悠久的 C++ 字符串编码转换库,主要用于unicode字符集下多种编码的互相转换。

2024-12-30 17:41:23 1353

原创 C++之“流”-第5课.三军联动:流 +操作符+函数重载

流、操作符、函数重载三个语言特性的综合应用。包括,如何为特定函数类型重载操作符?能解决什么问题?是时候综合练习这种高级用法了!同时为后面课堂打造你的“日志流”奠定语法基础。

2024-12-24 17:31:19 232

原创 07.VSCODE:接入 AI,来自豆包的 MarsCodes 扩展

安装 MarsCode 插件,演示代码解释和日常问答

2024-12-22 14:15:00 564

原创 答:C++需要学到什么程度再开始学 qt 比较合理?

从什么时候适合学 Qt 说起,聊聊“重量”知识和“轻量”知识在学习时机安排上的不同。一家之言。

2024-12-20 18:30:25 1206

原创 C++之“流”-第4课.重温文件流和字符串流

学习C++标准文件流 ifstream 和 ofstream 以及 字符串流 stringstream 。

2024-12-20 18:24:10 348

原创 GUI07-学工具栏,懂MVC

当学习GUI编程的人学到工具栏,MVC架构仿佛巨鲸一般,于海水深入向游泳学习者逼近,可惜海面上的人们毫无知觉,还在研究青蛙的姿式……

2024-12-19 18:33:46 1399

原创 C++感受15-Hello Object 封装版 -下(上机)

动手写 “选美大赛-海选”报名项目,边做边学更多封装的“约束”

2024-12-11 17:21:57 960

原创 C++感受14-Hello Object 封装版 - 上

1.封装即约束——封装和派生、多态的本质区别2.把约束封装成类型——定义类型就是在定义约束3.来自成员访问控制的约束4.来自常量成员函数的约束5.从 struct 到 class —— 何时用struct? 何时用 class?

2024-12-09 19:11:45 844

原创 06.VSCODE:备战大项目,CMake专项配置

娇小灵活的简捷配置不过是年轻人谈情说爱的玩具,帝国大厦的构建,终归要交给CMake去母仪天下。一个没有使用 CMake 的 C++ 项目,就像未来世界里的一台相声表演,有了德纲却无谦,观众笑着遗憾。

2024-11-13 11:28:33 1235

原创 05. VSCODE:支持多源文件的简捷项目

刚开始学习 C/C++ 语言,确实会有一段不长不短的时间,我们可以把所有的功能写到同一个源文件里去;不过,随着学习的深入,我们需要将代码以某种形式划分,分成多个源文件中去,这时候,要如何继续在 vscode 里支持多源文件的项目呢?今天我们讲一个便捷的方法。

2024-11-09 09:30:00 864

原创 04. VSCODE:C/C++简捷项目专用配置

手把手完成专用于简捷C/C++项目的VSCODE配置。同时从根子上理解及解决C/C++程序运行、调试、输入、输出可能会碰上的乱码问题。

2024-10-24 17:16:57 1688

原创 03. VSCODE:理解配置,避免臃肿

安装 VSCODE 之后,不要随便安装 一堆插件(扩展),应先按工作目的创建配置(Profiles),再作设置(Settings),确保 vscode 不臃肿。

2024-10-15 13:13:47 1496 3

原创 02. VSCODE:MSYS2+GCC 安装与应用保姆手册

msys2 提供可在Windows下使用 GCC 编译器;并且,借助 Linux 包管理功能,可轻松下载丰富的可在Windows下直接使用的 C/C++ 开发包,包括编译好的二进制包。网络库asio、准标准库boost、zip解压缩、json格式处理、引擎 SDL……十八般兵器,一行指令下载,再也不用费尽心思自己手工打造(编译)各种三方库了!

2024-10-10 19:49:47 4277 2

原创 01.VSCODE 多语言开发保姆手册-课程简介

在Windows和Linux下,讲解如何搭建VSCODE集成 C/C++、GO、Python、Java等语言的开发环境。不是仅仅写出一步步怎么做,还会讲出关键步骤背后发生了什么,让你基于理解学习,轻松实现举一返三,一通百通。

2024-10-10 18:56:41 844

原创 把设计模式用起来!(4) 用不好模式?之原理不明

(清华大学出版社 《把设计模式用起来》书稿试读)现在就用一句话回答:命令(Command)模式在让代码更好地应对未的变化这件事上,原理是什么?也是通过牺牲自己吗?工厂方法(Factory Method)呢?观察者(Obsever)呢?如果你不能张口就来,那么,从对个别设计模式的认知,还没达到知根知底的水平。

2024-09-19 18:20:22 1258

原创 把设计模式用起来!(3)用不好模式?之时机不对

上一篇:《把设计模式用起来(3)——用不好的原因 之 实践不足》本篇继续讲设计模式用不好的常见原因,这是第二个:使用设计模式的时机不对。

2024-09-13 18:53:41 1409

原创 把设计模式用起来!(2)用不好模式?之实践不足

为什么看书时,感觉学会了设计模式,一要使用却又不会?今天我们讲第一个原因:工作没有逼着你用设计模式,造成你实践不足。

2024-09-05 19:55:37 1080

原创 把设计模式用起来!(1)——楔

所以,当几位《白话C++》(我的另一本拙著)的读者,对书中零星提到的,自然流露的、朴素的编程思想感到兴趣,问我能不能写一本《白话设计模式》时,我是有“写本设计模式的书,让读者一看就懂”的冲动,很快想到长辈的教诲,意识到一个事实:我自己的设计模式,也不是看书学会的。应该是小学二三年级的某个午后,我搭好梯子往屋顶爬,爬到一半人梯皆倒。现在,有人问我能否写本《白话设计模式》,我又一次思索这个问题,仍然没有清晰的答案,像极了那个阳光明媚的午后,我倒在地上望向梯子,心中发懵,明明是向上爬的工具,为何会置我以死地?

2024-09-02 12:19:15 713

原创 GUI06-简简单单,状态栏

简简单单学会创建及使用 wxWidgets 图形界面库的状态栏。

2024-07-26 18:39:36 646

原创 linux下的c++开发,平时调试代码的时候是怎么调试的呢?

有些同学对 linux 开发存在非常古老的误解:以为日常开始就是在linux黑乎乎、或者绿油油、或者五颜六色的文字界面终端下敲字符……像极了电影中的黑客。如果说到调试,这下刻板的印象更加固化了,密密麻麻的满屏幕的字符……调试者盯着屏幕,鼻尖冒汗,镜头缓慢推进 ,小小的汗珠里倒映的,挤了六个字母……

2024-07-23 22:59:45 465

原创 c++中为什么push_back({1,2})可以,emplace_back({1,2})会报错?

人之所以会在这里产生这个问题,多半因为我们在语义上知道 emplace_back 最终就是要为容器插入一个 新元素,而那个元素的类型是确定的。

2024-07-23 10:06:39 837

原创 为什么要有指针和引用类型?

指针和引用当然还有别的用处,且有既有紧密关系又有重大区别。但都不是问题“为什么要有指针和引用类型”的重点了,因为本文已经讲了“为什么需要指针或引用”的一个必要条件。

2024-07-22 22:46:29 1066

原创 C++感受13-Hello Object 多态版

欢迎进入面向对象编程深水区:多态。表面上看起来是一样的对象,调用表面上看起来是一样的方法,但在实际执行时,代码所展现的功能形态却不一样。

2024-07-22 17:11:31 586

原创 结合C++智能指针聊聊观察者模式

本来, std::weak_ptr 和 std::shared_ptr 天然构造一对观察者和被观察者,可是,为了支持并发安全,std::shared_ptr 带上了锁,性能代价一下子变大,于是,C++程序员只能闲着就自己搞观察者模式了……

2024-07-11 14:01:46 1240

原创 C++感受12-Hello Object 派生版

一个原则:不变的功能,希望直接复用原有代码;变化的功能,希望在分开的代码里实现。

2024-06-30 15:29:07 702

原创 小学姐教你HarmonyOS开发-02-ArkTS语言基础

一节课快速上手基于TypeScript扩展的ArkTS语言。ArkTS是鸿蒙生态的应用开发语言,由ArkUI框架提供,以声明式开发范式来开发界面,让开发者可以更简洁、更自然的方式开发高性能应用。

2024-06-12 14:36:22 796

原创 C++之“流”-第3课-C++和C的格式化输入输出

八个实例讲解C++中setw、skipws、setfill、setprecision、dec/hex/oct、boolalpha,以及来自C++14新标的 qutoed 等输入输出操控符的功能与使用;并与C语言的输入输出(scanf、printf)在方便性和安全性方面作了直观的对比。

2024-06-07 16:34:29 1070 1

原创 C++之“流”-第2课-C++和C标准输入输出同步

为什么C++和C的标准输入输出不同步时,数据会混乱?同步会带来多大性能损失?为什么说这个损失通常不用太在乎?

2024-05-27 19:08:09 1206

原创 小学姐教你HarmonyOS开发-01-环境准备&项目创建

介绍开发工具DevEco Studio的下载与安装以及环境配置。DevEco Studio提供了Windows版本和Mac版本选择,可以根据操作系统选择对应的版本进行下载(本课程以Windows为例进行操作)。

2024-05-24 08:45:00 978

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除