Python python 中的小整数缓存 python 中针对小整数有一个专门的缓存机制,位于 [-5, 257) 之间的小整数会专门分配额外的空间。 它们不会被 GC 回收掉,并且使用这些整数赋值时变量都指向同一个内存地址。 测试代码 [crayo... 03 月 03 日274评论 阅读全文
C/C++ C++类构造函数和指针共同使用的一次错误记录 很久没有用 C++,今天用 C++写链表,结果因为一个小问题卡了好半天。 浪费了大半天才找到问题的原因,这里记录一下,生疏了。。。 创建一个类 CTest ,代码如下: [crayon-682415b6a7... 03 月 03 日148评论 阅读全文
Golang Golang 等待组 sync.WaitGroup 的用法 一、 waitgroup 介绍 多线程编程中,经常会遇到这样的一种场景:main 函数中为了等待其他线程执行完,在 return 之前都要执行 sleep 以争取更多的时间给其他线程执行。例如: [crayon-6... 03 月 01 日5,095评论 阅读全文
Golang Golang 开发中常见的坑 (一):interface 相关 0x01 以下代码能通过编译吗 [crayon-682415b6a7443925122306/] 不能通过编译,因为类型 man 没有实现 user 接口,实现 say 方法的是*man 类型,两者不能统一。 把 f... 02 月 28 日949评论 阅读全文
Golang Golang 内存逃逸分析 0x01 什么是逃逸 第一次听说逃逸是在雨痕学堂,一脸懵逼的百度了半天也没找到一个明确的说法,直到昨天在论坛上看到一篇关于变量逃逸的文章才明白。 因为函数都是运行在栈上的,在栈声明临时变量分配内存,函... 02 月 27 日1,317评论 阅读全文
C/C++ 逗号表达式 逗号表达式时 c 语言提供一种特殊的运算符,优先级别最低,它将两个及其以上的式子联接起来,从左往右逐个计算表达式,整个表达式的值为最后一个表达式的值。 例如: [crayon-682415b6a77471... 02 月 14 日197评论 阅读全文
C/C++ C++ #DEFINE 关键字的用法 一、基本用法 #DEFINE 关键字在 C/C++中用作宏处理,基本的用法为: [crayon-682415b6a78fc548094438/] 在代码的预处理阶段,编译器会把所有的宏定义符号替换成被定义... 02 月 04 日1,881评论 阅读全文
C/C++ STL 标准类型 vector(一):vector 的基本用法 一、 vector 介绍 标准库类型 vector 用来表示对象的集合,其中所有对象的类型都相同且不固定长度,常被称为 「动态数组」 。 它并不是一个标准的数据类型,而是一个类模板用来实例其他对象,也被称为容器。... 01 月 21 日1,045评论stl 阅读全文
C/C++ C++面试题集锦:二进制相关 例题一 不使用额外变量,通过一个表达式判断整数 n 是否为 2^x,不能使用循环语句。 思路 2^x = 2, 4, 8, 16 ...,二进制形式为 10, 100, 1000, 10000,如果 n 减 1 后和... 01 月 18 日224评论二进制 面试 阅读全文
Golang Golang 使用 RemoteAddr() 获取远程主机地址的注意事项 一、问题描述 http.Request 下的方法 RemoteAddr() 可以获取客户端的地址和端口号,最近的一个项目中用到了这个方法。 使用过程中一直都没有什么问题,但是当项目上线之后就发现不管怎么获取... 01 月 18 日3,099评论http nginx 阅读全文