欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

选择题错题总结

发布时间:2025/3/15 编程问答 44 豆豆
生活随笔 收集整理的这篇文章主要介绍了 选择题错题总结 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

4月19日


4月20日



4月22日

  • 未解决(上)

A,B,C三个选项分贝对应了拷贝构造函数的三个调用时机

第一种:一个对象需要另一个对象初始化

Test t2(t1);//形式1 Test t2=t1;//形式2

第二种:当函数以值返回结束时,将会在返回前临时搞一个中间变量temp,赋值给它,然后自己析构自己的局部变量

class Test {Test test(){Test t;return t;//值返回}}

第三种:函数传参如果采用值传递将会引发依次拷贝构造,所以为了效率形参一般是const 引用

class Test {Test(const Test& t);//拷贝构造 }

  • 未解决(上)

4月23日

  • 暂未解决(上)



对于A选项两个方法构成隐藏,但是它是父类的指针,故会调用父类的方法
D选项由于class的默认访问权限是private,故无法访问


4月24日


4月26日:



4月27日




4月28日

4月29日:




5月7日

5月8日

c语言函数参数的入栈顺序为由右向左。切记 mark下。

宏定义是一个很看重括号的东西
1.#define f(x) x*x 这里f(x+y) 就会被翻译成x+y*x+y 为什么,因为你没有添加括号啊宏定义只是简单的替换不会替你加括号
2.#define f(x) (x)*(x) 这里f(x+y) 就会翻译成(x+y)*(x+y) 就是这么回事
回到题上,上述式子等价为 x/=y+z*y+z/y+z*y+z,再加上/=优先级最低,所以x/=3+6+2/3+6+2 所以x=0


5月10日

系统支持的最大内存只与硬件有关,即地址线的数目。32位就是有32根地址线,那么它的寻址能力就是2的32次方,64位就是有64根地址线,寻址能力就是2的64次方。当然,这都是理论值,64位实际最大支持128G




5月11日

  • 首先在类的成员函数中是可以delete this的
  • 在类对象的内存空间中,只有数据成员和虚函数表指针,并不包含代码内容,类的成员函数单独放在代码段中。在调用成员函数时,隐含传递一个this指针,让成员函数知道当前是哪个对象在调用它。当调用delete this时,类对象的内存空间被释放在delete this之后进行的其他任何函数调用,只要不涉及到this指针的内容,都能够正常运行。一旦涉及到this指针,如操作数据成员,调用虚函数等,就会出现不可预期的问题。
  • 为什么是不可预期的问题?delete this之后不是释放了类对象的内存空间了么,那么这段内存应该已经还给系统,不再属于这个进程。照这个逻辑来看,应该发生指针错误,无访问权限之类的令系统崩溃的问题才对啊?这个问题牵涉到操作系统的内存管理策略。delete this释放了类对象的内存空间,但是内存空间却并不是马上被回收到系统中,可能是缓冲或者其他什么原因,导致这段内存空间暂时并没有被系统收回。此时这段内存是可以访问的,你可以加上100,加上200,但是其中的值却是不确定的。当你获取数据成员,可能得到的是一串很长的未初始化的随机数;访问虚函数表,指针无效的可能性非常高,造成系统崩溃。
  • 大致明白在成员函数中调用delete this会发生什么之后,再来看看另一个问题,如果在类的析构函数中调用delete this,会发生什么?实验告诉我们,会导致堆栈溢出。原因很简单,delete的本质是“为将被释放的内存调用一个或多个析构函数,然后,释放内存” (来自effective c++)。显然,delete this会去调用本对象的析构函数,而析构函数中又调用delete this,形成无限递归,造成堆栈溢出,系统崩溃。


    内存是分成很多个页来管理的,1000x1000的数组相当的大,要用很多页来存储,假设一个页占的内存大小为,1000×4字节=4000字节,那么共需要1000页。而数组存储是先存储按照一行一行来存储数据的,所以,同一行的在同一页,不同行的在不同页。 ,ABC,每存一个数,就得换一个页,不停的查询页表找地址,因而效率贼低。

    5月13日



    • 对于B是这样判断的:
    double db; if(db>=(-1e-6)&&db<=(1e-6))//1e-6即10的-6次方
    • 对于D其实说过:入栈顺讯从右向左,所应该是5,4


    5月14日

    新人创作打卡挑战赛发博客就能抽奖!定制产品红包拿不停!

    总结

    以上是生活随笔为你收集整理的选择题错题总结的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。