[c++11]左值、左值引用,右值,右值引用
c++11中引入了右值引用和移动语义,可以避免无谓的复制,提高程序性能,用的不多,每次看过了就忘了,整理下; <br /> 1、左值和右值: 左值是指表达式结束后依然存在的*持久化对象;* 右值是指表达式结束时就不再存在的*临时对象;* 比方: int i=0;// i是左值, 0是右值 <br /> 2、左值引用: c++98中的...
51工具盒子
c++11中引入了右值引用和移动语义,可以避免无谓的复制,提高程序性能,用的不多,每次看过了就忘了,整理下; <br /> 1、左值和右值: 左值是指表达式结束后依然存在的*持久化对象;* 右值是指表达式结束时就不再存在的*临时对象;* 比方: int i=0;// i是左值, 0是右值 <br /> 2、左值引用: c++98中的...
该运行库合集以前是由睿派克技术论坛制作,后由Dreamcast接盘更新,文中安装包来自[Dreamcast](http://dreamcast2.ys168.com/),本文为了方便博主下载,所以留存了一份下载地址。 运行库是装机必备的软件之一,很多软件程序都是基于这些库运行的。例如:windows server服务器上如果想要运行php,就必须得安装这个库才可以。 **3...
该运行库合集以前是由睿派克技术论坛制作,后由Dreamcast接盘更新,文中安装包来自[Dreamcast](http://dreamcast2.ys168.com/),本文为了方便博主下载,所以留存了一份下载地址。 运行库是装机必备的软件之一,很多软件程序都是基于这些库运行的。例如:windows server服务器上如果想要运行php,就必须得安装这个库才可以。 微软常...
该运行库合集以前是由睿派克技术论坛制作,后由Dreamcast接盘更新,文中安装包来自[Dreamcast](http://dreamcast2.ys168.com/),本文为了方便博主下载,所以留存了一份下载地址。 运行库是装机必备的软件之一,很多软件程序都是基于这些库运行的。例如:windows server服务器上如果想要运行php,就必须得安装这个库才可以。 微软常...
该运行库合集以前是由睿派克技术论坛制作,后由Dreamcast接盘更新,文中安装包来自[Dreamcast](http://dreamcast2.ys168.com/),本文为了方便博主下载,所以留存了一份下载地址。 运行库是装机必备的软件之一,很多软件程序都是基于这些库运行的。例如:windows server服务器上如果想要运行php,就必须得安装这个库才可以。 微软常...
该运行库合集以前是由睿派克技术论坛制作,后由Dreamcast接盘更新,文中安装包来自[Dreamcast](http://dreamcast2.ys168.com/),本文为了方便博主下载,所以留存了一份下载地址。 运行库是装机必备的软件之一,很多软件程序都是基于这些库运行的。例如:windows server服务器上如果想要运行php,就必须得安装这个库才可以。 微软常...
该运行库合集以前是由睿派克技术论坛制作,后由Dreamcast接盘更新,文中安装包来自[Dreamcast](http://dreamcast2.ys168.com/),本文为了方便博主下载,所以留存了一份下载地址。 运行库是装机必备的软件之一,很多软件程序都是基于这些库运行的。例如:windows server服务器上如果想要运行php,就必须得安装这个库才可以。 微软常...
前一篇文章中我们讨论了 C++ 中原子变量的内存顺序, 现在我们来看看原子变量和内存顺序的应用 -- 无锁队列. 本文介绍单写单读和多写多读的无锁队列的简单实现, 从中可以看到无锁数据结构设计的一些基本思路. 何谓无锁 {#何谓无锁} ------------ 为了实现一个线程安全的数据结构, 最简单的方法就是加锁. 对于队列来说, 应该对入队和出队操作加锁. |----...
C++11 将多线程纳入了标准. 一旦涉及到多线程, 就需要考虑**并发** , **数据竞争 (date race)** , **线程同步** 等问题, 为此 C++ 提供了互斥锁 `std::mutex`, 原子变量 `std::atomic` 等标准库. 对于原子变量的操作, 有一个很重要的概念就是**内存顺序 (memory order)**, 其中涉及到的概念很多, ...
C++ 用关键字 `const` 标识一个类型不可变. 这其实很容易理解. 不过, 对于 C++ 而言, 简单的概念也有很多可以讨论的. 我们来看一个问题. ### 问题 {#问题} 我们知道 `const` 可以用于修饰成员函数, 标识这个函数不能修改这个类的数据. 假设一个类有一个指针类型的成员 `T *p`, 我们希望通过 `get()` 方法获取 `p` 所指向的对...