自定义博客皮肤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

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

原创 GUI04-深入分析基于框架窗口的应用

复杂应用最常见的桌面程序,基本都使用框架式的主窗口。本节涉及:1. 常见的应用中,哪些使用了框架窗口?2. wxWidgets 项目配置详解(为将来手工写wxWigets项目配置打基础);3. 复习如何使用Code::Blocks的向导,创建一个基于框架窗口的wxWidgets项目;4. wxApp 和 wxFrame 快速了解;5. 如何修改一个wxWigets应用程序的图标;6. 框架窗口的界面组成相关代码;

2024-04-19 17:44:54 365

原创 《白话C++》上册 前言

以下为上册前言试读内容,图片为试读内容编辑时新增。(一)我在2000年开始写《白话C++》。那时候流行个人主页,就在搜狐网站上申请了一个,域名"mywlbcyl",取“没有弯路,编程摇篮”的拼音首字母,主要发表自己写的C++入门课程。然后,就走了15年的弯路。当年要有摇篮里的宝宝跟我学C++,现在都该在读大学了。现实比这更残酷,跟着我的课程学习的人,当年多数是风华正茂的小鲜肉,现在都成...

2024-04-19 17:35:36 151

原创 C++感受6-Hello World 交互版

先学变量,再学人机交互……

2024-04-19 16:59:50 581

原创 C++感受5-HelloWorld 函数版

借助 Hello (std::string_view XXX) 函数,快速向你心目中的女神问好。(本课有福利)

2024-04-17 16:30:34 305

原创 GUI03-你好,wxWidget!跨平台项目对比

使用 wxWidgets 库在 Linux 和 Windows 下实现相同的功能:在窗口上跟踪输出鼠标坐标位置。一个不错的原生与跨平台实现的对比例程,让我们有机会对二者的实现做一个对比。

2024-04-17 11:09:40 193

原创 GUI02-在窗口上跟踪并输出鼠标位置(Win32版)

(1) 响应 WM_MOUSEMOVE 消息获得鼠标位置;(2) 响应 WM_PAINT 将鼠标位置输出到窗口中;(3) 学习二者之间的关键步骤:调用 InvalidateRect() 以通知窗口重绘。

2024-04-15 18:40:34 689

原创 C++感受4-HelloWorld中文版——认识编码

及时了解“编码”对编写代码的影响,是中国程序员越早知道越好的知识点。

2024-04-11 10:01:50 481

原创 C++感受3-做一个“会”犯错误的程序员

一个优秀的学习者,必然是一个会犯错误,敢会错误的学习者;并用有错就能改,没错,就要学会创造错误?

2024-03-31 10:00:00 226

原创 C++多线程并发学完后,该学什么呢?

C++在多线程学完后,可以学网络。相当于这么一个学习演进:1. 单线程、无网络的程序: 一家公司,一个员工干活 (光杆司令,个体户?);2. 多线程,无网络的程序:一家公司,招聘了几位小弟内部合作(有样子也有效率啦);3. 多线程,有网络的程序:好几家公司之间互相配合干活。

2024-03-22 17:35:15 373

原创 C++感受2-逐字逐句,深入理解C++最小例程

一篇长文,十倍榨干 "Hello World" 知识点。以 “Hello World” 例程为载体、线索,在完成 “间接名字空间限定” 写法转换到“直接名字空间限定”的过程,同时掌握函数、主函数、函数调用、级联操作、声明、类型、int、字符串类型、头文件包含、行为数据、流输出操作符、标准输出流对象、标准库名字空间、ADL等20多个C++知识点,打好基础,让后续的学习事半功倍。

2024-03-12 17:20:58 695

原创 C++感受1-打开浏览器,线上玩转C++

介绍了五款在线编译、编译、运行的C++线上环境。并选择其中的 “在线GDB” 网站动手编写、运行第一个C++程序 “Hello World”,同时和线下IDE进行对比。

2024-03-12 16:42:07 452

原创 GUI01-用C++在Windows桌面上打个叉❌

我们的目标是,只写一二十行代码,用 Windows自带的原生接口,强行在桌面上打个大红❌,如图:写了大半年C++,天天和“黑乎乎” 的小窗口你侬我侬?赶紧来打开一扇“Windows”,从窗口跳进全新的GUI世界吧。

2023-07-20 08:00:00 215

原创 静态反射C++枚举名字的超简方案——C++闲得慌系列之(一)

虽说支持传递非类型参数 是C++模板一项“令人发指”的特性,但又有细分:在当前主流的 C++1x 标准下,它是翘兰花指,而在C++20,这项特性是疯狂到赤裸裸“竖中指”的地步——C++1x (11、14、17)传的数据只能是简单类型,而C++20以后,竟然可以传用户自定久的struct/class类型的数据了……另外,请注意,这里使用了 gcc 的一处扩展:gcc 提供了静态版的 strlen()库函数 ,即:给出一个编译期的C风格(以零结束)的字符串,就能在编译期直接“数”出来这个字符串的长度。

2023-07-17 14:50:56 385 1

原创 怎样在c++中实现instanceof?

在 java 如此面向对象的语言中,日常业务逻辑的实现,但凡到了不得不用instanceof 的时候,99% 以上就是设计或实现错误了。

2023-07-12 10:47:11 328

原创 C++中,C::C::C::C::foo() 为什么编译成功?

有人问:class Entity{public: static void foo() {}};int main(){ Entity::Entity::Entity::Entity::Entity::foo();}为什么 最后那行:Entity::Entity::Entity::Entity::Entity::foo();能编译成功?这是什么规则?嗯……Entity::Entity::Entity::Entity::Entity::Entity::fo

2023-07-06 20:55:58 478

原创 大厂题第1辑——虚函数七题精讲之3:纯虚函数

C++中有两种继承:接口继承和实现继承。二者的第一个区别是:基类都干了些什么?如果基类啥实事不干,只是提出了:目标、要求,即提出了 “希望有”的东西,而不真正实现,那么继承这个“不干实事”的基类的,就叫接口继承。反过来,如果基类好歹干了点事,提供了某些功能的实现(哪怕是个半成品),那么继承它,就叫实现继承。放在现实生活中,“接口继承”大概类似于“继承遗志”,而“实现继承”相当于“继承遗产”。前者:一个父亲,自己没有读大学,但希望儿女们实现读清华北大的目标;

2023-07-05 16:30:28 93

原创 大厂C++题第1辑——虚函数七题精讲之2:虚函数的作用机制

一、虚函数的常见应用场景;二、发挥虚函数作用的语法;三、虚函数的实现机制;四、虚函数的性能影响。

2023-07-04 12:42:00 153

原创 C++编程启蒙-2——你适合学习编程吗?

英语差,数学孬,照样可以学好编程。但,如果你逻辑思维差,动力能力弱,那么学习编程真的会难上加难。本课用来帮助读者实现对逻辑思维与动手能力的自我判断,并给出了实际测试方案。

2023-06-20 20:24:07 511

原创 C++类型自定义,什么时候用 struct ,什么时候用 class ?

int x, y;假设,你写的这个程序已知就是给你读初一的大儿子用的,因引,你并没有去做深入的需求调研,你就自己定了:int 的取值范围够这小子用的了。所以,这时候,几乎可以说 这个 Point 类型 不存在“invariant / 不变式”。非要强说有,那就是:这个坐标 的 x轴 和 y轴,都不能超过 int 可表达的范围。这个“不变式”是由 内置类型 int 来维护的,我们全部的设计责任或成果就是:我选择了 int ,所以我很英明 ,或很愚蠢,如果后面发现初中生竟然需要计算超大值的坐标的时候。

2023-06-14 21:23:47 565

原创 大厂C++题第1辑——虚函数七题精讲之1:虚函数的作用

“虚函数的作用” 是面向对象的C++编程最基础也最核心的知识点,如果不能无法正确回答本题,则只此一题,不管大厂还是小厂,都铁定无缘了。

2023-06-11 22:35:09 760

原创 C++的“友元”是否会破坏类的封装?

向小范围的类或函数开放?或者,向整个世界开放?显然,前者封装性更高。在拥有 “包/package” 或 “模块/module” 级别的访问控制的语言中,比如Java、C#、Go、TypeScript 等等,“向小范围开放,但向全世界封闭” 这一设计需求很常见,也很容易实现;在C++当中,实现相同功能的方法,需要依靠更严格的 “友元 / friend” 控制。

2023-06-05 19:37:55 866

原创 《白话C++》之练功,讲了些什么?

《白话 C++ 》之 练功内容介绍

2023-03-19 01:49:38 291 2

原创 C++轻松开发WEB第2课-引入应用,并用模板展现HTML

C++快速开发WEB应用 第2节: 用模板输出HTML2.1 不良设计:在C++代码中,硬编码HTMLMVC: 模型 | Model、视图 | View、控制器 | Controller 是一种软件设计典范,它被广泛地、成熟地运用在长达20多年的Web系统编程。MVC结构下最重要的设计思想,就一句话:基础数据(Model)、逻辑控制(Controller)和展现交互界...

2020-01-07 15:45:53 799 3

原创 C++轻松开发WEB第1课-Web 版“Hello world”

C++快速开发WEB应用 第1节: Hello WEB1. 从经典版 Hello world开始这是典型的C++入门第一课的“Hello world”代码:#include iostreamusing nampespace std;int main(){ cout << "Hello world!" << endl; ...

2020-01-07 15:34:42 1234 2

原创 第1章《启蒙》. 5.从C到C++,谈谈人类的编程思维

0. 引子想要对着机器发号指令,但又不直接使用“机器语言”,我们就会想制定一门比较符合人类思维习惯的编程语言,然后再用“翻译/编译”器将它转成机器语言。简单地说,就是一个使用C(中间工具)将B(接近人类思维的语言所写的代码)转换成A(机器语言)的过程。那么人类有什么思维习惯呢?比如人类都喜欢 “先入为主”,所以我们制定的新语言一定要每一个单词都看上去很惊艳;再比如,人类都容易“喜新厌旧”,...

2020-01-04 17:01:44 488

原创 第1章《启蒙》.4.什么是编程语言

0. 引子上一节课说到:“程序是按照一定的逻辑组合的一组指令”。“过雷区”的游戏中,双方使用的是自然语言交流指令。如果游戏双方是聋哑人,那么用嘴巴说的那套指令就玩不转了——计算机聋不聋不好说,但当我们要对计算机下达指令,人类这一套得天独厚有悠久历史的自然语言,玩不转了,怎么办呢?解决这一问题所要做的第一件事就是:制定“机器语言”——机器有了语言,我们就可以和它亲切地交流……“等等!”突...

2019-12-31 00:22:09 492

原创 第1章《启蒙》. 3.什么是硬件、软件、程序

1. 什么是硬件?什么是软件?我坐在电脑前发呆了半个小时,还是没想出如何给二者下定义。美国有个电脑神童说:“凡是摔到地上会坏的就是硬件”,似乎有道理,但一旦硬件坏了,硬件所承载的数据,好像也会“消失”。想一想,新买的数码相机没用就摔坏是一种心疼,和女神春游拍了很多照片,回来的路上给摔坏了,又是一种心疼。那些照片数据算硬件还是软件呢?还一种说法是:看得见摸得着的为硬件,看不见摸不着的为软...

2019-12-31 00:18:45 398 2

原创 第1章《启蒙》. 1.开始

学习编程很难。这行业的技术结构是这样的——相对不变的知识都挺难搞的。比如计算机原理、操作系统原理、编译原理等,比如网络协议、算法演绎等,再比如逻辑思维、设计模式等等。相对容易搞定的知识都挺大坨的。一堆一堆,典型的“知识爆炸”,然而编程语言各立山头,各种工具层出不穷,专业术语更是像天天上的星星一样多,初学者想搞清重 点,难。因此,可以做这样一个比喻:你今天晚上说,“我要学...

2019-12-30 15:49:52 1157 1

原创 第1章《启蒙》. 2.什么是计算机

一部《红楼梦》,据说经学家看见“易”,道学家看见“淫”,才子看见“缠绵”,革命者看见“排满”,流言家看见宫闱秘事……我在读三年级时翻开《红楼梦》,看到是一堆的繁体字。如果现在我以程序员的眼光去“重逛”大观园,会看到什么样的红楼呢?我不知道,还是来说一说计算机的事吧。0. 引子什么是计算机?有学员说:“上网的,上QQ的!玩游戏的!”。不能说完全不对,但这是以计算机的普通用户的眼...

2019-12-29 18:13:08 1359 2

原创 试读2-《白话C++ 练功篇》目录

先看一眼章节占比图:由图可知: 本书(上册,即练功篇)最大一块的学习内容是第7章“语言”,即C++语言的语法、语义、逻辑表达等。它让你从什么都不会到会写程序解决绝大多数问题。 第2是第8章“面向对象”。它让你在面对更复杂、庞大的问题,并且往往存在多人共同合作编程时,有一个更好的的代码组织团队分工。 第3是第3章“感受(一)”。这是一个让你以快速的、高效地全面了解C...

2019-07-29 20:27:31 2446

原创 试读1-《白话C++》上册 前言

《白话C++》上册 前言以下为上册前言试读内容,图片为试读内容编辑时新增。(一)我在2000年开始写《白话C++》。那时候流行个人主页,就在搜狐网站上申请了一个,域名"mywlbcyl",取“没有弯路,编程摇篮”的拼音首字母,主要发表自己写的C++入门课程。然后,就走了15年的弯路。当年要有摇篮里的宝宝跟我学C++,现在都该在读大学了。现实比这更残酷,跟着我的课程学习的人,当年多数...

2019-07-29 20:20:59 913 4

原创 “程序员节” 说说“信息在计算机中的表示方法”

今天是程序员的“非法定”节日,没有放假,我们先不发正式课程,先闲聊这10月24日为什么会是程序员特有的节日,然后顺带说说大千世界的信息在计算机中都是如何表示的?

2016-10-23 22:54:19 2390

原创 增值你的C++技能,C++成为WEB后台“颜值 ”担当(三)

这一篇我们就将本篇要用到的几项工具准备好。到下一篇开始写个C++ WEB应用的“Hello World”。然后将来再根据需要,继续安装新工具。

2016-10-22 15:12:38 3172 4

原创 增值你的C++技能,C++成为WEB后台“颜值 ”担当(二)

,不经历10万、100万的经验和教训,就直接叫嚣着要搞个1000万甚至上亿访问量系统的程序员,都和义和团差不多。

2016-10-08 17:59:55 5152 1

原创 增值你的C++技能,C++成为WEB后台“颜值 ”担当(一)

我的“狼子野心”大家应该能读出来了:Web应用和移动应用是当前大热门,并且它们都需要后台,所以我想让C++在Web后端开发夺回一杯羹。

2016-10-08 17:50:01 15561 10

原创 罗裳轻解,看C++怎样拥java入怀……

前言在公司里维护一个网络后台服务端程序,用C++写的,为了一些灵活性,就想集成个脚本语言,因为lua似乎没有什么库(或者是我对它比较无知),于是就选了老牌的python。确实噢,这家伙基本什么c/c++的库,都有它的封装。于是在服务端程序里,嵌了一个python的解释器。

2011-08-06 16:06:07 4751 11

原创 西瓜与重构

先祝各位来访的程序员国庆快乐。自家种的西瓜成熟了……自打家里开始种菜,种瓜果,我就不上QQ农场了。 应该是各种条件所限,西瓜长得好小啊,不过瓤还是红的,还多籽~~放在一本书上,才能看出它有多小……至于西瓜和“重构”,没什么关系,长这么小就是这么小了,身为西瓜,只能挨刀,怎么重构也没用了。

2010-10-04 11:11:00 3215 26

原创 Code::Blocks 使用技巧.7-代码与流程图双向转换

大学里学过好多程序流程图,好像是《软件工程》的课。基本都忘了,有次用visio画图,看到几张图,感觉有印象,才想起是大学里读过的。流程图是在结构化编程里确实比较有用,认真回忆起来,也确实曾经代码怎么写怎么不对,心急火燎,最终还是换出纸,心平气和的画了张图,才发现自己的谬误在哪。Code::Blocks 在10.5正式版之后,又搞了好多每夜构建版本,忘了哪个版本,突然就有了一个和流程图有

2010-09-19 19:49:00 10728 30

原创 Code::Blocks 使用技巧.6-让编译器多读几本书:)

 虽然传统的那种纸质书,似乎越来越不受欢迎了……但我个人还是喜欢读纸质书,为什么呢?因为泡一杯咖啡,拉来转椅半躺上,抱上厚得可以防身的C++书籍,把自己关在小书屋里,那种感觉简直就是觉得自己已然成为了一位高级知识分子了——另外一种情况是开着电脑,瞪着大眼看屏幕……唉,感觉全无,只能是回到现实,发现自己不过是一个可怜的程序员。 前阵子从青岛飞回厦门,我就更装逼了,直接拿了机上的一份人

2010-07-11 16:43:00 9273 22

原创 24点游戏7节课--第4节-引入扑克牌发牌出数

前三节: 第1节-游戏介绍与基本算法   http://student.csdn.net/space.php?uid=112600&do=blog&id=34066第2节-24点计算处理 http://student.csdn.net/space.php?uid=112600&do=blog&id=34327第3节-格式化结果表达式 http://student.csdn.net/

2010-07-02 13:29:00 5808 13

空空如也

空空如也

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

TA关注的人

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