摘要:
所有容器提供的都是“value语意”而非“reference语意”。容器内进行元素的安插操作时,内部实施的是拷贝操作,置于容器内。因此STL容器 的每一个元素都必须能够拷贝。---> 侯捷、孟岩译 p144页原文以vector为例,往Vector中(实际上所有STL容器都是这样)放元素,Vector... 阅读全文
posted @ 2014-05-18 23:29
Jessica程序猿
阅读(2151)
评论(1)
推荐(0)
摘要:
在C语言中,我们常常会提起左值(lvalue)、右值(rvalue)这样的称呼。而在编译程序时,编译器有时也会在报出的错误信息中会包含 左值、右值的说法。不过左值、右值通常不是通过一个严谨的定义而为人所知的,大多数时候左右值的定义与其判别方法是一体的。一个最为典型的判别方法就是, 在赋值表达式中,出... 阅读全文
posted @ 2014-05-18 23:00
Jessica程序猿
阅读(1195)
评论(0)
推荐(0)
摘要:
C++ 11中引入的一个非常重要的概念就是右值引用。理解右值引用是学习“移动语义”(move semantics)的基础。而要理解右值引用,就必须先区分左值与右值。 对左值和右值的一个最常见的误解是:等号左边的就是左值,等号右边的就是右值。左值和右值都是针对表达式而言的,左值是指表达式结束后依然存在... 阅读全文
posted @ 2014-05-18 22:48
Jessica程序猿
阅读(391)
评论(0)
推荐(0)
摘要:
我也不知道为什么作者给这个条款起这样的名字,因为这样看上去重点是在“不抛出异常”,但事实上作者只是在全文最后一段说了一下不抛异常的原因,大部分段落是在介绍怎样写一个节省资源的swap函数。你可以试一下,只要包含了头文件iostream,就可以使用swap函数,比如:1 #include 2 3 in... 阅读全文
posted @ 2014-05-18 17:21
Jessica程序猿
阅读(449)
评论(0)
推荐(0)
摘要:
std::swap()是个很有用的函数,它可以用来交换两个变量的值,包括用户自定义的类型,只要类型支持copying操作,尤其是在STL中使用的很多,例如:int main(int argc, _TCHAR* argv[]) { int a[10] = {1,2,3,4,5,6,7,8,... 阅读全文
posted @ 2014-05-18 14:47
Jessica程序猿
阅读(1036)
评论(0)
推荐(0)

浙公网安备 33010602011771号