当前位置: 首页 > news >正文

桂林网站建设seowhy论坛

桂林网站建设,seowhy论坛,中国建设人才信息网查询,网站登录如何做1、都说c是面向对象的语言#xff0c;面向对象的三个特性能 [展开] 介绍一下吗#xff1f; 封装#xff1a;封装是一种集中管理的思想#xff0c;把内部的数据和实现方法组合在一起#xff0c;并且不对外暴漏内部的数据和实现方法#xff0c;只对外提供几个接口来完成函数…1、都说c是面向对象的语言面向对象的三个特性能 [展开] 介绍一下吗 封装封装是一种集中管理的思想把内部的数据和实现方法组合在一起并且不对外暴漏内部的数据和实现方法只对外提供几个接口来完成函数的调用和数据的操作保证了数据的安全性和一致性。 继承继承是指一个类可以继承另一个类的方法和数据可以提高代码的复用性建立类与类之间的关系。 多态多态是指同一个方法对于不同的对象有不同的行为提高了代码的灵活度。 2、多态的底层实现有了解过吗 多态的底层是通过一个虚函数指针实现的虚函数指针指向一块虚函数表虚函数表当中存储的各个函数的地址虚函数表是一个指针数组虚函数表中存储的是函数指针当一个表达式满足多态的时候它确定类型的时候就不是在编译阶段而是在运行阶段来判断是什么类型然后根据不同的对象来调用虚函数表。 3、虚函数它底层又是怎么实现的 当一个类中的函数被virtual修饰之后就会多出一个虚函数指针虚函数指针指向虚函数表。 4、场景一有两个类它们的实例变量以及它们支持的函数方法完全相同一个类实现了一个虚函数它们有什么区别它们生成一个实例对象的内存占用一样吗 占用内存不一样实现了虚函数就会多一个虚函数指针会多出4/8字节的空间内存占用不同。 5、场景二有四个类 B、C 继承 AD 继承 B、C多继承A 中有一个 public 函数然后 B、C 里面各自重写了然后从 D 里面想要调用 B 或则 C 的实现要怎么调用呢 直接用类域操作符::指定类域调用。 6、还是上述的场景A 里边有一个 public 变量B、C 是继承自 A 的D 继承自 B、C那么 D 里边又存储了几份 public 变量一直在引导我是一份、两份、三份 这题需要分类讨论。 普通继承两份(B、C当中各自一份)。 虚继承一份直接放在公共区。 7、malloc 跟 new 有什么区别呀 1、malloc返回类型是(void*)需要手动强制类型转换。 2、malloc内存分配错误返回NULL而new是抛异常。 3、new分配内存的同时会调用构造函数进行初始化malloc需要手动初始化。 4、malloc分配内存的时候需要手动计算开多大的空间new不需要。 5、new释放内存使用deletemalloc使用free。 6、new的底层也是去调用operator new在operator new当中也是调用malloc来实现内存分配的。 8、new 除了分配内存它还会比 malloc 还有其他额外的操作吗 会调用构造函数进行初始化。 9、new 实际上是做了两件事嘛一个是分配内存、一个是调用实例的构造函数那有了解过 new 可以只进行一个操作嘛比如只分配内存不调用构造函数、或者只调用构造函数不分配内存嘛 不分配内存只调用构造函数定位newplacement new以及operator new。 不调用构造函数只分配内存new (std::nothrow) type。 10、计算下面两个结构体的sizeof是多少 struct {char A;char B;int C; }struct {char A;int C;char B; }内存对齐问题。 第一个是8字节。 第二个是12字节。 11、看你写了对STL熟悉那智能指针你有了解过嘛 1、最早期的智能指针是auto_ptr但这种智能指针并没有完全实现了指针的功能主要是实现了RAII的思想以及权限转移。 2、然后出现了unique_ptr这个智能指针的做法比较粗暴不让拷贝禁止调用拷贝构造。 3、然后就是shared_ptr这个智能指针解决了原来的问题一块地址只能被一个智能指针指向否则就会导致同一块内存被释放两次。解决方法利用引用计数。但依旧存在循环引用的问题。 4、weak_ptr一个辅助性质的智能指针用于解决循环引用的问题让内部的指针变量用weak_ptr来表示weak_ptr不会修改引用计数所以能够很好的解决循环引用的问题。 12、举一个实际场景智能指针的例子为什么用怎么使用的不用可以嘛 在关于异常安全的时候就最好用智能指针。 比如以下代码 #includeiostream using namespace std;int div() {int a, b;cin a b;if (b 0)throw invalid_argument(除0错误);return a / b; } void Func() {// 1、如果p1这里new 抛异常会如何// 2、如果p2这里new 抛异常会如何// 3、如果div调用这里又会抛异常会如何int* p1 new int;int* p2 new int;cout div() endl;delete p1;delete p2; } int main() {try{Func();}catch (exception e){cout e.what() endl;}return 0; }不使用智能指针就会导致各种内存没有被释放或者直接没有开空间的问题。 可以不用指针指针吗可以但是需要套好几层异常捕捉太麻烦代码的可读性也变得很低了。 13、刚才你提到了shared_ptr 底层是用一个引用计数来实现的共享那还了解过其他的内存管理方式嘛 JAVA中的内存自动回收机制是通过比较复杂的一套算法来计算回收的时机具体没有深入了解。 14、STL 里边常用的 vector 容器的扩容机制有了解过嘛 扩容机制在不同平台不一样。 VS1.5倍。 Linux2倍。 扩容是重新开一片空间然后把原来的内容拷贝过来再销毁原来的空间。 15扩容3倍可以嘛 可以但是可能会导致大量的空间浪费。 16vector 的初始容量了解过嘛什么时候会进行初次扩容 在第一次添加元素的时候会进行扩容第一个扩容一般会设置为8或者16。
http://www.hkea.cn/news/14479285/

相关文章:

  • 响应式网站模板免费美食网站中饮食资讯该怎么做
  • 图片制作用什么软件专业seo培训学校
  • 旅游类网站开发设计报告免费个人网站服务器 html
  • 网站推广内容管理咨询公司的成本有哪些
  • 手机端网站思路黄梅戏网页制作素材
  • 做ppt好的模板下载网站网站服务器怎么收费
  • 花钱做网站站长工具ping检测
  • 网站后台修改网站首页怎么做国内做的比较好的协会网站
  • google 网站质量问题个人网站的主题
  • 阿里云服务器做盗版视频网站吗网站开发流程龙岩
  • 网站运行平台包括关于做网站的创新创业策划书
  • 一级a做爰片2017免费网站南通公司做网站
  • 外贸公司有必要建设网站吗做网站的公司前三名
  • 网站建设哪家好 需要多少钱网站建设发展好不好
  • 怎样在国外网站做推广网站建设观点
  • 做网站 业务流程图深圳网络营销方法
  • 网站有哪些区别是什么莆田百度seo公司
  • 黑龙江省华龙建设有限公司网站整站优化要多少钱
  • 网站广告是内容营销吗做相同性质的网站算侵权吗
  • 深圳网站搜索网站内容设计是什么
  • 青海省制作网站专业抖音开放平台是什么
  • 东莞公司网站制作wordpress怎么换行
  • 文化建设成就付费做网站关键词优化是怎么做的呀
  • 网站的主题有哪些长沙个人网站建设
  • 单页面网站设计wordpress主题大神
  • 金融平台网站开发网站建设方
  • 建立网站的连接结构有哪几种形式深圳那家做网站好
  • 诸城建设局网站网站制作公司交接网站
  • 做网站得叫什么软件值得浏览的外国网站
  • 怎么知道网站有没有备案湖南网站优化推广