23届c++秋招网龙笔试
题型
15单选 45分 5简单 55分
还是只记录些不会的
选择部分
#pragma pack(n) #pragma pack()
按照n字节对齐
offsetof(s, m)
返回结构对象中,某变量距离结构体对象首地址的偏移值: 第一个参数是一个结构体,第二个参数是这个结构体中变量的名字。返回那个变量距结构体头部的字节偏移量(Byte Offset)
std::thread、pthread、C++线程
std::thread 是c++11新增的C++标准库
pthread 是Linux环境下的线程库
fopen flag
- r 以只读方式打开文件,该文件必须存在。
- r+ 以可读写方式打开文件,该文件必须存在。
- w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
- w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
- a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
- a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留 (原来的EOF符不保留) 。。。
静态成员函数指针、非静态成员函数指针
- 成员函数指针的使用必须搭配确定的类对象,必须使用特定的类对象调用才可以
- 类的静态成员由于不属于类对象属于整个类,所以不与类对象绑定,因此静态成员函数指针相当于普通函数指针,静态成员变量指针相当于普通变量指针
简答部分
C++多态的实现的几种方式
动态多态:虚函数+派生类 静态多态:函数重载、运算符重载
RAII技术及其4种可能的的实际应用场景
Resource Acquisition Is Initialization:资源获取即初始化 使用局部对象的方式来管理资源 这样的话在语句块结束后,操作系统会自动释放相关资源,避免了程序员忘记释放而导致资源没被释放的问题 比如用构造函数获取资源、然后在析构函数释放资源
应用场景 智能指针(std::shared_ptr、std::unique_ptr) 线程同步中使用std::unique_lock或std::lock_guard对互斥量std::mutex进行状态管理
其他
主要考C++上,还有一点操作系统啥的
RAII没听说过,完全不会就空着了,
其他或多或少能答一下,选择题的话也能猜一猜或者靠一点技巧 非选择部分就只能看自己的掌握情况了、这不会就是不会
还是有些不熟练的、不怎么会的
语言和计算机基础还是要学好点
#网龙#