知识趣记-c++、
内存栈区:存放局部变量名
内存堆区:存放new或malloc出来的对象
常数区:存放局部变量或全局变量的值
静态区:存放静态变量和全局变量
代码区:存放二进制代码
//main.cpp
int a = 0; 全局初始化区
char *p1; 全局未初始化区
main()
{
int b;// 栈
char s[] = "abc"; //"abc"在常量区,s在栈上。
char *p2; //栈
char *p3 = "123456"; //123456\0";在常量区,p3在栈上。
static int c =0; //全局(静态)初始化区
p1 = (char *)malloc(10);
p2 = (char *)malloc(20);
//分配得来得10和20字节的区域就在堆区。
strcpy(p1, "123456"); //123456\0放在常量区,编译器可能会将它与p3所指向的"123456"优化成一个地方。
}
构造函数:是一种创建对象时初始化对象的方法。
友缘函数:定义在类外的函数,但有权访问内类的所有私有和保护成员;友缘破坏了封装。
成员函数:类中的普通函数。
多态:在编译时不清楚,在程序运行时才确定方法的具体。
指针:指向内存地址;指针是变量,可改变;存在空指针。
引用:变量的别名;在使用前必须初始化,初始化后不能改变;不存在指向空值的引用。
TCP保证可靠传输的措施:
提供超时重传
丢弃重复数据
检验数据
流量控制
python中二维列表的遍历:
list2d = [[1,2,3],[4,5,6]]
sum = 0
for i in range(len(list2d)):
for j in range(len(list2d[0])):
sum += list2d[i][j]
print(sum)
Python 中如何判断 list 中是否包含某个元素
if a[i] in a:
死锁:若干进程无休止地等待其他进程释放已占有的资源。
递归的三要素:
递归的目的
递归的终止条件
找到函数的等价关系,即递归关系