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

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

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

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

2024-06-12 14:36:22 689

原创 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 933 1

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

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

2024-05-27 19:08:09 971

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

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

2024-05-24 08:45:00 813

原创 C++之“流”-第1课.下:实战:最简日志系统的演化

五个版本的 C++ “流”式日志系统的演化,零基础也能轻松跟进!

2024-05-22 09:30:00 258

原创 C++感受11-Hello Object 成员版

当一个C++程序员在设计类型时,他在想什么?1. 这一类型的对象,需要拥有哪些属性数据?2. 这一类型的对象,它将拥有哪些功能?3. 这一类型的对象,它的各个属性和功能之间,有哪些关联关系?

2024-05-21 11:38:07 865

原创 C++之“流”-第1课.上-掌握基本概念

了解流的本质是队列,懂得区分输入、输出流;理解“抽象流”和“具体流”之分,并掌握通过面向“抽象流”面程以获得代码更好的适用性。

2024-05-16 09:37:50 401

原创 C++函数模板可变参数如何一次性解包?

快速了解C++17的模板参数(parameter pack)如何一次性解包

2024-05-10 12:25:33 336

原创 使用using为指针定义别名为什么会对const属性有影响?

项目在遇到的,指针的别名会在函数签名中把顶层const变成底层const。简化了的代码大概是下面的情况。有人可以解释一下为什么么,以及如果我想继续使用指针的别名要怎么书写这个参数?唉,都是历史债。建议前四点都不看,只看最后一点“真正有用的知识”。

2024-05-07 10:32:46 864 1

原创 std::enable_shared_from_this 有什么意义?

为什么要有 std::enable_shared_from_this?

2024-04-30 17:08:07 842

原创 C++感受10-Hello Object 生死版•下

搞懂以下三个重要知识点:1. 对象生命周期2. 对象内存模型3. 对象的可见性

2024-04-25 14:31:47 1060

原创 C++“流”风格日志系统实战-课程简介

一个能快速提升C++复杂代码设计的学习项目,一个能迅速让C++面试官会心一笑的简历项目,一个能在实际项目中使用的项目……

2024-04-23 16:51:01 166

原创 C++感受9-Hello Object 生死版•上

“恐猪”和“恐蛇”在本课只是在陪太子读书,大家自行发挥它们的生死过程的定制吧。完成这个程序,你的一只脚已经悄然,迈过了面向对象世界大门的门槛了。

2024-04-23 16:06:14 919

原创 GUI05-老板,给我菜单!

此时,为每个单选项挂接一个事件响应函数,从而在不同的函数内做出不的处理,是最简单也最常见的方法,不过,有些时候,我们还可以使用另一种惯用法:为同一组的所有单选菜单项,创建并挂接同一个事件响应函数,并于该函数中记录当前选中的是哪一项。不过,在事件响应函数中,通常我们也没有“菜单栏”对象的变量,怎么办?尽管 wxMenu 构造函数提供一个字符串入参,用以设置该菜单的标题,但通常此时仅设置为空,直到第二步,即调用 wxMenuBar 的 Append() 方法,才通过第二个入参真实设置所添加的菜单的标题。

2024-04-22 11:00:00 679

原创 C++感受8-Hello World 循环版

重点学习如何使用 while 创建循环,和如何借助 break 打破循环……有破有立。含十数个知识点:bool类型、bool字面值、定义整数、如何从控制台计入整数,整数后置自增、如何求余,逻辑 “或” 运算等。含五个例程。

2024-04-22 09:30:00 927

原创 C++感受7-Hello World 分支版

表面的是:通过多级分支流程,实现上班路上遇见女神、老板娘、普通同事的差别化问候;暗地里还要学习内存,最后顺带复习了 std::string_view 和 std::string 之间围观与被围观 的往事

2024-04-20 09:00:00 870

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

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

2024-04-19 17:44:54 799

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

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

2024-04-19 17:35:36 425 1

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

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

2024-04-19 16:59:50 1222

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

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

2024-04-17 16:30:34 322

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

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

2024-04-17 11:09:40 477

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

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

2024-04-15 18:40:34 772

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

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

2024-04-11 10:01:50 490

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

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

2024-03-31 10:00:00 229

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

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

2024-03-22 17:35:15 384

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

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

2024-03-12 17:20:58 707

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

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

2024-03-12 16:42:07 463

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

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

2023-07-20 08:00:00 224

原创 静态反射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 438 1

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

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

2023-07-12 10:47:11 424

原创 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 488

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

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

2023-07-05 16:30:28 96

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

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

2023-07-04 12:42:00 180

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

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

2023-06-20 20:24:07 555

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

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

2023-06-14 21:23:47 593

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

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

2023-06-11 22:35:09 809

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

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

2023-06-05 19:37:55 932

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

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

2023-03-19 01:49:38 362 3

原创 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 819 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 1266 2

空空如也

空空如也

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

TA关注的人

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