随笔分类 - 一些很经典的编程题目
一些很好的编程题目
摘要:一。一个对象访问普通函数和虚函数的时候,哪一个更快? 访问普通函数更快,因为普通成员函数在编译阶段已经被确定,因此在访问时直接调用对应地址的函数,而虚函数在调用时,需要首先在虚函数表中查找虚函数所在的地址,因此比普通函数要慢一些。二。什么情况之下,需要析构函数是虚函数? 首先存在类继承并且析构函...
阅读全文
摘要:一。c++中static的作用 1.隐藏:当同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性,static函数作用就是为了隐藏 2.可以保持变量的持久:存储在静态数据区的变量会在程序刚开始的时候进行唯一一次初始化,共有两种变量存储在静态存储区:全局变量和静态变量,但是...
阅读全文
摘要:一.深拷贝和浅拷贝? 浅拷贝是指源对象与拷贝对象共用一份实体,仅仅是引用的变量不同(仅仅是名称不同),对其中任何一个对象的改动都会影响另外一个对象,例如:一个人叫小王,后来改名小李,结果不管是小王死了还是小李死了,都是这个人死了 深拷贝:源对象与拷贝对象独立,其中任何一个对象的改动都不会对另外一...
阅读全文
摘要:C++中,对象的建立分为两种,一种是静态建立,如A a;另一种是动态建立,如 A *ptr=new A;静态建立:由编译器为对象在栈上分配内存,是通过直接移动栈顶指针,挪出适当的空间,然后在这片内存空间上调用构造函数形成一个栈对象,使用这种方法,直接调用类的构造函数动态建立:是通过new运算符将对象...
阅读全文
摘要:首先肯定要先看看这两部分是不是有内存重叠?为什么?1.因为如果有内存重叠(目的地址起始位置处于源指针所指区域之中),你再从起始位置复制的话,这样目的地址改变的时候将源地址内存里面存的东西给改变了,所以必须从高地址开始复制。这样源地址总是走得比目的地址靠近低地址,也就是目的地址永远赶不上还没有复制内容...
阅读全文

浙公网安备 33010602011771号