- 博客(6)
- 收藏
- 关注
原创 const 语义的必要性
对于foo,可能其实现中并不会修改data的内容,但是调用者无法知道这一点,因此调用foo时,需要考虑data的内容是否会被修改。即使查看过foo的实现,并不会实际修改 data 的内容,但是foo的实现可能会在后续发生变化,而调用者无法感知这一点。因此调用foo时,始终存在潜在的风险,每次使用foo时,都需要重新检查foo的实现,以确保data的内容不会被修改。对于bar,调用者可以放心地传递data的地址,因为bar保证不会修改data的内容。即使bar的实现发生变化,只要const。
2024-06-18 10:20:29 360 1
原创 关于 QCryptographicHash 对含中文字符串计算 MD5 值,产生所谓「MD5 碰撞」问题的分析
QCryptographicHash 支持计算含中文字符串的 MD5 值,但需要注意字符串编码转换问题。
2024-03-01 15:09:28 1089 1
原创 更新源后,执行 sudo apt-get update 出现 0% [Working] 的解决方案
环境WSL Debian GNU/Linux 9.9 (stretch)问题描述更新软件源后,执行 sudo apt-get update,更新到一半,出现 0% [Working] ????解决方式sudo apt-get clean 清除检索到的包文件的本地存储库,大多数情况下,这样就行了。sudo apt-get check 更新包缓存并检查破坏的依赖关系,还不行再试试这个。以上两种方法都无效,最终使用这个解决????sudo apt-get install apt-transpor
2021-05-02 11:48:34 5241 5
原创 VS2017环境下,C语言使用malloc()创建动态数组,引发了异常: 写入访问权限冲突。 string 是 0xFFFFFFFFB212A360。
问题描述:VS2017环境下,C语言使用malloc()创建动态数组,引发了异常: 写入访问权限冲突。 string 是 0xFFFFFFFFB212A360。测试代码如下:#include<stdio.h>int main(void){ const int str_max_size = 1024; int str_size = 0; char* string= (ch......
2019-03-22 03:22:35 8418 12
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人