摘要:
1 基本数据类型的自然对齐 就是说,基本数据类型的变量不能随便放在内存的任意位置,它们的起始地址必须被它们的大小整除。 double是8个字节,float,int,enum是4字节,bool、char是1个字节. 2 struct的自然对齐 它的起始地址必须满足它的最大成员的对齐要求,比如有doub 阅读全文
posted @ 2017-03-01 22:38
PhoenixTree(梧桐树)
阅读(229)
评论(0)
推荐(0)
摘要:
1 迭代器 1.1 迭代器不是指针 1.2 迭代器在概念上类似指针 它可以做加减法,它可以用*取指向的对象,但是它只能够用于操作容器。 1.3 迭代器的使用 迭代器有begin()和end()函数(指向最后一个元素的下一个函数),这提供了遍历的范围,然后加上加减法,就可以遍历了。 1.4 迭代器可以 阅读全文
posted @ 2017-03-01 21:31
PhoenixTree(梧桐树)
阅读(237)
评论(0)
推荐(0)
摘要:
1 什么是智能指针 它本质上是一个类,它对其所管理的对象进行包裹,new的时候,new出这个智能指针对象的话,会自动创建其所管理的对象。 最重要的是,它会提供一个get该对象的方法,并且保存一个引用计数用的成员变量每次get的话,该引用计数都会加一。 然后它还会提供一个特殊的析构函数,每次delet 阅读全文
posted @ 2017-03-01 21:01
PhoenixTree(梧桐树)
阅读(147)
评论(0)
推荐(0)
摘要:
1 class和struct的区别和联系 在c++中,class和struct只有一点不同,它们是可以完全替代使用的。唯一的不同在于,class中的成员默认是private的,而struct中默认是public的。 2 指针和引用的不同 2.1 引用在编译后,本质上还是指针。 2.2 引用定义时必须 阅读全文
posted @ 2017-03-01 20:08
PhoenixTree(梧桐树)
阅读(154)
评论(0)
推荐(0)
摘要:
1 重载发生在同一个类内部。 同一个类内部,具有相同的函数名,但是参数列表不同,那么就是重载。因为c++编译器编译时,将函数名和函数列表一起对函数进行了重命名。 2 覆盖和隐藏发生在子类和父类之间。 2.1 覆盖指的是子类虚函数的实现对父类对应的虚函数进行了覆盖。 2.2 其它情况如子类中和父类同名 阅读全文
posted @ 2017-03-01 19:56
PhoenixTree(梧桐树)
阅读(197)
评论(0)
推荐(0)
摘要:
1 什么是动态绑定 有一个基类,两个派生类,基类有一个virtual函数,两个派生类都覆盖了这个虚函数。现在有一个基类的指针或者引用,当该基类指针或者引用指向不同的派生类对象时,调用该虚函数,那么最终调用的是该被指向对象对应的派生类自己实现的虚函数。 2 为何能够在运行时找到派生类自己实现的虚函数呢 阅读全文
posted @ 2017-03-01 19:47
PhoenixTree(梧桐树)
阅读(4657)
评论(0)
推荐(1)
摘要:
1 GNU standard c++ library debian发行版中使用的c++标准库是GNU standard c++标准库。 2 Boost debian发行版中也是用了boost库,但是不是整个使用,它抠出一些特性出来使用。 文件系统操作的包libboost-filesystem1.55 阅读全文
posted @ 2017-03-01 10:51
PhoenixTree(梧桐树)
阅读(521)
评论(0)
推荐(0)