学逆向论坛

找回密码
立即注册

只需一步,快速开始

发新帖

273

积分

0

好友

34

主题
发表于 2024-12-9 16:47:20 | 查看: 110| 回复: 0



来自:碧波

一、C++语法基础

11. 函数参数传递时,指针、引用以及值传递有什么区别?

参数传递区别

值传递:复制实参的值给形参,函数内部操作的是副本,不影响原始值。

引用传递:形参是原始实参的别名,函数内部操作影响原始值。

指针传递:形参是原始实参的地址,函数内部通过解引用操作影响原始值。

12. 进程间的通信方式有那些?

各种通信方式的详细介绍,参加 线程进程以及多线程多进程

管道
命名管道
消息队列
共享内存
信号量
套接字

13. 线程间的通信方式有那些?
各种通信方式的详细介绍,参加 线程进程以及多线程多进程

共享内存

互斥锁

条件变量

顺便吆喝一声,技术大厂,前后端测试捞人,近三周条件放宽,来看看!>>>机会

14. 简单谈谈对线程的理解,线程间共享资源时该怎么处理?
  
线程的详细介绍,参加 线程进程以及多线程多进程

线程(Thread)是操作系统调度的基本单位,是进程内的一条执行路径,每个进程至少包含一个线程。

线程间共享资源时,需要注意数据的一致性和并发访问的安全性,避免数据竞争和不可预料的结果。一般会采用 互斥锁 来避免多线程访问导致的资源调用错误。

15. 常用关键字含义及其使用

static:关键字在不同上下文中有不同含义,主要用于:

静态变量:属于类或函数的静态存储区域,生命周期延续到程序结束。

静态函数:属于类的静态成员函数,与类的实例无关,可以直接通过类名访问。

const :用来声明常量。

常量变量:一旦初始化就不能修改的变量。

常量成员函数:在成员函数声明或定义中的 const 关键字表示该函数不会修改对象的状态。

sizeof: 是一个操作符,用于计算数据类型或变量的字节大小。

sizeof(type):返回类型或变量 type 所占的字节数。

例如:sizeof(int) 返回 int 类型的字节数,在大多数系统中是4个字节。

final:用于指示某个类、虚函数或者虚继承在派生时不可被继承或重写。

类:final class MyClass final { ... };,表示该类不能被继承。

虚函数:virtual void myFunc() final;,表示该虚函数在子类中不能被重写。

override:是C++11引入的关键字,用于 显式指示函数 是在派生类中覆盖了基类中的虚函数。

在派生类中重写基类的虚函数时,可以使用 override 关键字,以确保正确性和可读性。

virtual: 用于声明虚函数,即在基类中声明的函数,可以在派生类中被重写(override)

在基类中声明虚函数:virtual void foo();

派生类中可以选择重写基类的虚函数:void foo() override;

虚函数支持动态绑定,即在运行时根据对象的实际类型决定调用哪个版本的函数。

volatile: 用来声明一个变量是易变的,可能会被意外修改,通常用于多线程或者硬件相关的编程。

如:volatile int sensorValue;,告诉编译器不要对 sensorValue 进行优化,因为它可能会在程序控制之外被改变。

explicit:用来声明构造函数为显式构造函数,防止隐式类型转换。

例如:explicit MyClass(int value);,禁止编译器根据上下文进行隐式转换,必须显式调用构造函数。

inline:声明可以用于 函数定义 或者 成员函数 定义,建议编译器将 函数的代码插入到每个调用点处,而不是通过函数调用的方式进行调用。

如:inline int add(int a, int b) { return a + b; }

extern C 的作用

用于告诉编译器按照C语言的方式进行链接,主要用于解决C++代码和C代码混合编译的问题。

define 和 typedef 的区别

define: 用于定义宏,预处理阶段替换源代码中的标识符;

如:#define PI 3.14159

typedef : 用于给数据类型取别名。后续可以直接使用别名进行声明变量。

如:typedef unsigned int UINT;    UINT num;   // 等价于unsigned int num。



温馨提示:
1.如果您喜欢这篇帖子,请给作者点赞评分,点赞会增加帖子的热度,评分会给作者加学币。(评分不会扣掉您的积分,系统每天都会重置您的评分额度)。
2.回复帖子不仅是对作者的认可,还可以获得学币奖励,请尊重他人的劳动成果,拒绝做伸手党!
3.发广告、灌水回复等违规行为一经发现直接禁言,如果本帖内容涉嫌违规,请点击论坛底部的举报反馈按钮,也可以在【投诉建议】板块发帖举报。

小黑屋|手机版|站务邮箱|学逆向论坛 ( 粤ICP备2021023307号 )|网站地图

GMT+8, 2024-12-22 00:17 , Processed in 0.106715 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表