Logo

C++ Copy Elision

在 C++ 中想要传入函数的参数不被复制,可以通过引用或者指针的方式传入。如果说想要返回的产生也不被复制呢?当然可以直接将返回的对象作为入参以引用或者指针的形式传入,实际上直接返回也可以不复制,在C++返回参数不被复制被称为 Copy Elision。...

Debian 环境搭建

记录一下 Debian 虚拟机环境搭建...

Close Socket file description

Socket 文件描述符符的关闭看上去挺简单的,但是实际上还是有不少地方需要注意的。...

非杜塞 I/O

当我们谈及到 IO 多路复用的时候通常会提及到的一个概念是非杜塞IO,网上的教程中在使用IO多路复用的时候通常会先将对于的socket设置为非杜塞的,但是这样子做的原因却很少被提及。...

C/C++ 混合编程

C++ 与 C 由于基础语法以及数据结构相似,并且 C++ 还是兼容 C 的,在实际开发中经常混在一起用,虽然不像和其他语言混在一起用麻烦,但还是有一些小坑需要注意的。...

字节序(Endianness)

对于单个字节(Byte)处理器都采用相同的顺序来处理,所以单个字节的存放和传输方式一般是相同的。而对于多个字节的存放顺序,不同的操作系统就可能采用不通的方式,有的将高位字节放在内存的高地址,有的将高位字节放在内存的低地址,这就产生了小端和大端编码。1. C 语言中的高位字节与低位字节首先认识一下 C...

Python的赋值与复制

变量不是盒子,而应该视为一个便利贴。[1]1. 变量的赋值与复制当你把一个变量赋值给另一个变量时相当于将两个变量名称贴在同一内存空间上,在修改其中一个的时候另一个的值也随之发生了变化。In [1]: a = [1,2,3]In [2]: b = aIn [3]: a.append(4)In [4]:...

记一次Windows重装系统

每隔一段时间总是因为各种理由需要重装一次系统,这里记录一下方便之后重装之后快速恢复到熟悉的软件环境。...

关于位操作的一些使用技巧

日常使用和刷题所积累下来的一些关于位操作经验技巧1. 掩码在对有些寄存器操作的时候没有办法改变单一位的值,比如说十六个io口用一个十六进制的数来表示,端口当对应的值为1的时候输出高电平,反之则输出低电平,如何只改变其中的某些端口的输出电平而不改变其他端口的电平呢?这就需要用到掩码了,比如是初始值为0...

CentOS 7 CPP 开发环境配置

CentOS 7 的软件源比较老,很多工具都需要自己编译,这里记录一下我的C++开发工具链的配置,安装路径都在 ${HOME}/tools1. Cmake直接用 yum 安装的 Cmake 还是 2.8 的版本,很多软件都编译不了,所以得安装一个新版本的 Cmake,可以直接使用官网提供的二进制文件...