1: 面向对象和面向过程的区别
面向过程的代码 短小,但是重复利用率不高,不适用于模块化编程
面向 对象的过程中,会建立对象的属性和行为。
面向对象的过程中 ,代码的修改成本比较高,我们。
大型工程的时候,肯定要利用面向对象编程的特点。
面向对象编程的三大特点,封装,继承,多态。
面向对象是一种思想,一种方法,不要太拘泥于编程语言。
2: 析构函数和构造函数有什么不同
类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行。构造函数的名称与类的名称是完全相同的,并且不会返回任何类型,也不会返回 void。构造函数可用于为某些成员变量设置初始值。
类的析构函数是类的一种特殊的成员函数,它会在每次删除所创建的对象时执行。析构函数的名称与类的名称是完全相同的,只是在前面加了个波浪号(~)作为前缀,它不会返回任何值,也不能带有任何参数。析构函数有助于在跳出程序(比如关闭文件、释放内存等)前释放资源。
3: python 中生成器和迭代器的区别:
在Python中,这种一边循环一边计算的机制,称为生成器:generator,生成器是一个特殊的程序,可以被用作控制循环的迭代行为。 迭代器:
迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
迭代器有两个基本的方法:iter() 和 next()。
迭代器的特点:
1.节省内存
2.惰性运算
3.不能反复,只能向下执行
把一个类作为一个迭代器使用需要在类中实现两个方法 __iter__() 与 __next__() 。
4: C语言如何面向对象编程:
https://www.jianshu.com/p/85e11e0a8495
https://blog.csdn.net/qq_40280582/article/details/80739873
5: 堆和栈有什么区别:
1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其
操作方式类似于数据结构中的栈。
2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回
收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。
3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的
全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另
一块区域。 - 程序结束后由系统释放。
6: typedef int my_type; my_type 可以替代int 这样写程序的时候便利性强。
7;