文章394
标签223
分类53
NEW
C++编译器优化中的RVO和NRVO

C++编译器优化中的RVO和NRVO

NEW
C++中使用GoogleTest进行单元测试

C++中使用GoogleTest进行单元测试

深入理解C++中的move和forward

深入理解C++中的move和forward

在C++11标准之前,C++中默认的传值类型均为Copy语义,即:不论是指针类型还是值类型,都将会在进行函数调用时被完整的复制一份!

对于非指针而言,开销及其巨大!

因此在C++11以后,引入了右值和Move语义,极大的提高了效率;

本文介绍了在此场景下了两个常用的标准库函数:move和forward;

源代码:


C++库之fmt

C++库之fmt

What is object slicing?

What is object slicing?

A method to add string literals in C++

A method to add string literals in C++

For historical reasons, and for compatibility with C, string literals are not standard library strings in C++.

This passage shows a simple way to accomplish this.


各编程语言加载并调用dll库

各编程语言加载并调用dll库

cmake生成动态链接库dll

cmake生成动态链接库dll

浅谈C++中的RAII

浅谈C++中的RAII

使用C++实现一个Mark-Sweep的GC

使用C++实现一个Mark-Sweep的GC

在现代编程语言中,无论是Java这种基于JVM的语言,还是Golang这种直接生成Native的语言,都存在自己的GC;

由于GC的存在,我们可以肆无忌惮的申请内存并创建对象而不必手动的释放内存空间;而对于GC中的垃圾清理,我们也仅仅是停留在理论学习中;

本文带大家使用C++实现一个简单的GC,以实际代码理解GC的实质;

源代码: