笔试训练知识点小结

1 一个类中只能定义一个析构函数,多了的话编译器不知道调用哪个.
    虚析构函数和析构函数在功能上是一回事,因此除了动态联编(此处意思:需要销毁 父类指针指向的子类对象的空间)外,其他性质和析构函数类似。析构函数与构造函数名字相同,但它前面必须加一个波浪号(~);析构函数没有参数,也没有返回值,而且不能重载,因此在一个类中只能有一个析构函数;当撤消对象时,编译系统会自动地调用析构函数。
    
2 malloc申请内存空间失败的时候,返回的值为NULL,而不是任意的。

3 类的构造函数中,this 指针的形式为Myclass *const this;它是一个常量指针,指针的指向不能修改。

4 getline函数的功能是从输入流中读取(一行字符)

5 编译:当前源代码编译成二进制目标文件(.obj文件)
链接(link):将生成的.obj文件与库文件.lib等文件链接,生成可执行文件(.exe文件)。
一个现代编译器的主要工作流程如下:
源程序(source code)→ 预处理器(preprocessor)→ 编译器(compiler)→ 
汇编程序(assembler)→ 目标程序(object code)→ 连接器(链接器,Linker)→ 可执行程序(executables)

6 边界对齐的要点简单来说,对于int型而言,起始地址为4的倍数;对于char类型而言,起始地址为任意字节皆可;对于short类型而言,起始地址为2的倍数

你可能感兴趣的:(笔试训练,笔试训练,笔试错题总结)