![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++primer 5学习
文章平均质量分 69
WJSZMD
暂无
展开
-
c++ primer 类中函数调用过程解析(虚函数与作用域) P550疑问解析
函数调用过程即c++ primer 第五版中P549所谈,这里强调几点。 假定是p->mem() 或者obj.mem()首先确定静态类型,即p的类型。然后在这个静态类型中名字查找函数,即查找有没有mem。即 名字查找。若没有则去静态类型(即p的类型)的直接基类中找,仍没有继续向基类中找。直到基类顶端。仍没有的话,就返回查找失败,发生错误。若找到了,接着类型检查,如果类型匹配...原创 2018-03-29 21:58:35 · 278 阅读 · 1 评论 -
C++ primer 当vector中的push_back遇到移动构造函数会发生什么
首先仔细阅读 C++ primer 第五版 P474 Note下面的一段话意思是说当我们在类中定义了移动构造函数的时候,假设这个移动构造函数是noexcept的,类似对应StrVec类的操作,vector可能会重新分配内存,也就是说会将元素从旧空间移动到新内存中去。这个过程中就会发生移动构造函数注意 这里要注意一点,C++11规定的是移后源对象是一定要处于可析构的状态,意思是说移后源对象有可能执行原创 2018-03-20 21:48:04 · 1420 阅读 · 1 评论 -
C++ primer 详解派生类向基类转换的可访问性
派生类向基类转换的可访问性c++ primer第五版 P5441.首先谈谈protected作为成员访问符的一个情况。对类用户不可访问。对派生类的成员和友元可以访问。最重要的一条性质 派生类的成员及友元只能通过派生类对象去访问基类的protected成员,而不能通过基类对象去访问基类的proteced成员。 即如下代码: “` class Base { public...原创 2018-03-28 16:39:12 · 445 阅读 · 0 评论 -
[C++] 分析std::iterator和std::iterator_traits
std::iterator和std::iterator_traitsstd::iteratorstd::iterator是一个模板类,其声明为: template< class Category, class T, class Distance = std::ptrdiff_t, class Pointer = T*, clas...原创 2018-08-20 20:39:14 · 4261 阅读 · 0 评论