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