精确性和准确性是两码事儿
准确性(Accuracy)是与正确答案的接近程度,精确性(Precision)是对这个答案的分辨率。
假设,你问我,”现在几点了?”
我抬头看看太阳,然后估算了一下,回答道 “现在是上午 10 点 35 分 22.131 秒”
我给出的是一个足够精确性的答案,但是不是一个很准确的答案。这个时候,你是否初步理解了 Accuracy 和 Precisio...
- 阅读全文 |
- 分类:OldNewThing |
- 发表于:03月28日 |
- 浏览:11 |
- 评论已关闭 条评论
另一个人们依赖的未文档化行为:输出缓冲区
对于一个通过输出缓冲区来返回数据的函数,如果函数执行失败,则这个缓冲区里的数据是未定义的,调用者不应该对这些数据做出任何假定。
但是,还是有人会这样做。
我曾经读过 Michael Kaplan 的一篇关于输出缓冲区的文章,在那篇文章中,用户要求,即使函数执行失败,函数也需要将输出缓冲区里的数据做出一定的设置后才返回。
为什么输出缓冲区在函数失败的时候一定不能做出任何修改,因为有很多应用程序会依赖...
- 阅读全文 |
- 分类:OldNewThing |
- 发表于:03月25日 |
- 浏览:16 |
- 评论已关闭 条评论
理解哈希码
我不止一次看到有人问这样的问题:
”
我有一些动态生成字符串的过程,我想设计一个算法,它输入一个字符串并为该字符串生成一个小的唯一标识符(哈希码),以便两个相同的字符串具有相同的标识符,并且如果两个字符串不同,那么它们将具有不同的标识符。我尝试了String.GetHashCode 方法,但偶尔会发生冲突。有没有办法生成保证唯一性的哈希码呢?
”
如果你可以限制要散列的字符...
- 阅读全文 |
- 分类:OldNewThing |
- 发表于:03月22日 |
- 浏览:24 |
- 评论已关闭 条评论
文件类型处理器中的程序路径必须是全路径
很多人可能还没有意识到这一点,但是在 Windows XP SP2 中,我们对文件类型处理器添加了这样一条要求:即如果文件处理器程序不在 Windows 目录或者不在 System 目录中的时候,注册该处理器程序的路径必须全路径,而不是相对路径。
为什么会有这个要求?
原因是出于对安全性的考虑,并和”可预测性”有一丝关系。
我们先说安全性,SearchPath 这个 API...
std::string 现已支持 ASan(Address Sanitizer)
你是否碰到过 Access Violation?
当在调试模式(/MTd or /MDd)下使用 Microsoft C++ 标准库时,标准库内部会尽其所能保证使开发者远离内存访问违规(Access Violation)的问题。标准库中的每个容器都有一个自定义的“包装”迭代器,在每次访问时,它会检查它是否仍然有效,不是结束迭代器,并且在执行算术运算时,检查它是否还未可用。
但是,一旦你离开迭代器的...
Visual Studio 17.6 中的代码分析改进
C++开发团队致力于使你的 C++ 编码体验尽可能安全。我们正在添加更丰富的代码安全检查,并解决 C++ 开发社里反馈的各种高优先级问题。感谢你与我们互动,并就过去的版本和早期预览版向我们提供了很好的反馈,从而达到这一点。以下是我们对代码分析工具所做的改进的详细概述。
对现有检查的改进
我们改进了许多检查,以发现更多错误并发出更少的误报。本节包含我们在过去几个月中所做的工作的一些亮点。
对空 st...
导入你的 ST 项目到 Visual Studio
去年我们官宣了 Visual Studio Code 可以直接导入 ST 项目,今天再次宣布:它的好兄弟 Visual Studio 2022 17.6 也支持此功能,详细请看下文。
在 ARM 微控制器领域,有许多芯片供应商,其中最大的是意法半导体(ST)。ST 拥有大量具有多种功能的可用器件,以及用于评估这些功能的支持开发板。他们还生产STM32CubeIDE,一种用于定位设备的自定义IDE,...
ATL中__if_exists的替代方案
__if_exists 和 __if_not_exists 是什么?
__if_exists 和 __if_not_exists 是微软 ATL (Active Template Library,活动模板库) 中的关键字,可以用来在编译期间测试一个标识符是否存在。如果该标识符存在,则其关联的语句将会被执行。
__if_exists 和 __if_not_exists 可以用在变量,函数,typed...
试试Visual Studio中新的远程文件查看器
今天,我们很高兴地宣布,在 Visual Studio 17.6 Preview 1 中,一项新的工具窗口诞生:远程文件查看器。
通过这个工具窗口,你可以从远程计算机上浏览,上传和下载文件。另外,可以通过 Visual Studio 中的连接管理器来管理远程计算机连接。
如何安装此工具?
请下载最新版本的 Visual Studio,然后在 Linux and embedded developm...
Topomel Box 2.0 已停止服务
亲爱的用户,Topomel Box 2.0 已于 2023-03-01 停止服务。服务停止,但真心不变。希望其继任者 3.0 版本能够给您带来全新的使用感受。
如有任何问题,请联系 support@topomel.com。
最近我写了个东西
正如你们所知道的,拓扑梅尔智慧办公平台(Topomel Box)是一款绿色软件,主要面向经常使用电脑的朋友。它提供了各种提升办公效率的小功能,同时操作上尽可能...
- 阅读全文 |
- 分类:Topomel Box |
- 发表于:03月01日 |
- 浏览:55 |
- 评论已关闭 条评论