编程语言——C++右值和右值引用
C++右值和右值引用是最容易用错的特性之一,相关教程普遍写得不清晰。实际上,只有在所有权转移时才需要使用右值引用,移动语义移动的是所有权,完美转发转发的也是所有权。
9 篇文章
C++右值和右值引用是最容易用错的特性之一,相关教程普遍写得不清晰。实际上,只有在所有权转移时才需要使用右值引用,移动语义移动的是所有权,完美转发转发的也是所有权。
写完了代码第一件事是编译,编译失败只能根据编译器通知修改代码;编译通过了第二件事是跑UT,UT不过需要进行调试。调试包括debug和release包的调试,线上进程的运行问题有时候也需要调试,调试的主要方式是调试工具和日志(包括print大法)。为了发现问题,有时候还需要添加报警日志。
linux系统的文件接口是十分重要的抽象, 也就是“一切都是文件”。借助文件IO,用户程序可以读写磁盘设备、网络设备、甚至管道、内存等。
简谈编程语言中的静态变量和函数
并发编程是提高程序处理能力的重要手段,也是编程语言必备的能力。并发的对象是函数,函数作为任务被多个并发计算对象执行。
数据结构(容器)库和算法库是最基础的库之一。字符串是人类语言的记录,是计算机处理的主要对象。
映射是最重要的数据结构之一,动态数组也可以看做特殊的映射。映射的优势是,它的增删改查性能都很好。增 增加key,删 删除key,改 更改某key的vakue,查 给定key查询value。
程序=数据+计算。类型确定了数据的定义、数据支持的计算。是程序的基础。
简谈C、C++、JAVA、Go、Python、Rust编程语言