Er_HU

但求风浪,莫问前程。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

摘要: 引言 本文是依赖注入技术的入门文章,基于 .NET 平台使用 C# 语言讲解。 如果对 C# 语言的基本特性和语法比较熟悉,那么理解起来会更加容易一些,其中包括,但不仅限于, C# 中的类,函数,接口。 如果对 C# 语言没有任何基础,但是了解其他面向对象的语言,那么应该也不妨碍你读懂这篇文章。 之 阅读全文
posted @ 2024-01-24 11:03 Er_HU 阅读(79) 评论(0) 推荐(0) 编辑

2021年3月17日

摘要: 引言 今天迁移开发环境的时候遇到一个问题,同样的操作系统和 Visual Studio 版本,原始开发环境一切正常,但是迁移后 VS 出现了 C4819 告警,上网查了中文的一些博客,大部分涵盖几种解决方案: 修改工程文件或者源文件,禁用该告警 修改文件内容,避免使用非法字符 将文件重新以 Unic 阅读全文
posted @ 2021-03-17 10:06 Er_HU 阅读(3393) 评论(0) 推荐(1) 编辑

2021年3月12日

摘要: 引言 C++ 11 后,标准库容器 std::vector 包含了成员函数 emplace 和 emplace_back。emplace 在容器指定位置插入元素,emplace_back 在容器末尾添加元素。 emplace 和 emplace_back 原理类似,本文仅讨论 push_back 和 阅读全文
posted @ 2021-03-12 20:31 Er_HU 阅读(364) 评论(0) 推荐(0) 编辑

2021年3月11日

摘要: 引言 本文概述了使用 WinDbg 的一些必要步骤。 准备工作 第一步,你必须更改系统的配置使其能够生成 PDB 文件,包括 Release 版本。近期的 Visual C++ 编译器默认启用此配置,但早期某些版本编译器需要你手动开启此选项。保留每个版本的 PDB 文件,这很重要! 第二步,你必须确 阅读全文
posted @ 2021-03-11 16:32 Er_HU 阅读(761) 评论(0) 推荐(0) 编辑

2021年3月10日

摘要: 引言 大多数人知道 PDB 文件是用来帮助我们 debug 的,但也仅此而已。 本文主要介绍当你遇到 PDB 文件时(windows 开发中),你必须要知道的内容。 重要的事情说三遍 PDB 文件和源代码一样重要!!! PDB 文件和源代码一样重要!!! PDB 文件和源代码一样重要!!! 开始之前 阅读全文
posted @ 2021-03-10 15:07 Er_HU 阅读(1393) 评论(0) 推荐(1) 编辑

2021年3月9日

摘要: 要点回顾 此部分方便知识点快速回顾,首次阅读请从引言部分开始。 哈希表(Hash Table)其实也叫散列表,是一个数据结构。 哈希表本质上就是一个数组,只不过数组存放的是单一的数据,而哈希表中存放的是键值对(key - value pair)。 key 通过哈希函数(hash function)得 阅读全文
posted @ 2021-03-09 14:26 Er_HU 阅读(5717) 评论(0) 推荐(2) 编辑

2021年3月5日

摘要: 要点回顾 此部分方便知识点快速回顾,首次阅读请从引言部分开始。 每个包含虚函数的类(或者继承自的类包含了虚函数)都有一个自己的虚函数表,这个表是一个在编译时确定的静态数组。 虚函数表包含了指向每个虚函数的函数指针以供类对象调用。 编译器在基类中定义了一个隐藏指针*__vptr,*__vptr 是在类 阅读全文
posted @ 2021-03-05 14:24 Er_HU 阅读(720) 评论(0) 推荐(1) 编辑

2021年3月4日

摘要: 要点回顾 此部分方便知识点快速回顾,首次阅读请从引言部分开始。 常用的强制转换为 dynamic_cast 和 static_cast。 除非必须,不要使用 const_cast 和 reinterpret_cast,因为它们存在一些老式 C 语言转换中的隐患。 dynamic_cast 主要用于多 阅读全文
posted @ 2021-03-04 13:41 Er_HU 阅读(294) 评论(0) 推荐(0) 编辑

2021年2月18日

摘要: 要点回顾 此部分方便知识点快速回顾,首次阅读请从引言部分开始。 RAII 的主要原则就是把任何在堆上分配的资源(比如动态分配的内存或者系统对象的处理)的所有权提供给在栈上分配的对象(其析构函数包含释放资源及相关清理的代码)。 在现代 C++ 中,原始指针只用于包含在局部作用域,循环或者工具函数的小块 阅读全文
posted @ 2021-02-18 13:55 Er_HU 阅读(741) 评论(0) 推荐(1) 编辑

2021年2月10日

摘要: C++ 支持使用操作符 new 和 delete 来动态分配和释放对象。 new 运算符调用特殊函数 operator new,delete 运算符调用特殊函数 operator delete。 如果 new 分配内存失败,异常 std::bad_alloc会被抛出。 可以如下测试内存分配失败的情况 阅读全文
posted @ 2021-02-10 13:35 Er_HU 阅读(110) 评论(0) 推荐(0) 编辑