C/C++共113篇

面试题:C++ 中四种类型转换的使用场景?

在 C++ 中,类型转换(Type Casting)用于将一种数据类型转换为另一种数据类型。C++ 提供了四种类型转换运算符:static_cast、dynamic_cast、const_cast 和 reinterpret_cast。每种类型转换都有...
程序百科的头像-程序百科程序百科36天前
0558

面试题:C++ 中 new 和 malloc 的区别?delete 和 free 的区别?

在 C++ 中,new/delete 和 malloc/free 都用于动态内存管理,但它们有显著的区别: 1. new 和 malloc 的区别 语言: new 是 C++ 的运算符。 malloc 是 C ...
程序百科的头像-程序百科程序百科36天前
05410

面试题:C++ QT 中信号和槽的原理是什么?

在 C++ 的 Qt 框架中,信号(Signal)和槽(Slot) 是一种用于对象间通信的机制,它是 Qt 的核心特性之一。信号和槽的原理基于 观察者模式,通过松耦合的方式实现对象之间的交互。 1....
程序百科的头像-程序百科程序百科35天前
05414

面试题:如何理解 C++ 中的 atomic?

在 C++ 中,std::atomic 是一个模板类,用于实现原子操作。原子操作是不可分割的操作,即在多线程环境中,一个线程执行原子操作时,不会被其他线程中断。std::atomic 提供了一种高效...
程序百科的头像-程序百科程序百科35天前
0537

面试题:C++ 多线程开发需要注意些什么?线程同步有哪些手段?

C++ 多线程开发是一个复杂且容易出错的领域,需要特别注意线程安全、资源竞争、死锁等问题。以下是多线程开发中需要注意的事项以及常用的线程同步手段。 C++ 多线程开发需要注意的事项 线程安全...
程序百科的头像-程序百科程序百科35天前
05214

面试题:请介绍 C++ 中使用模板的优缺点?

在C++中,模板(Template) 是一种强大的工具,用于实现泛型编程。它允许编写与类型无关的代码,从而提高代码的复用性和灵活性。然而,模板也有一些缺点。以下是使用模板的优缺点: 1. 优点 (1...
程序百科的头像-程序百科程序百科36天前
0525

面试题:什么是 C++ 的回调函数?为什么需要回调函数?

在C++中,回调函数(Callback Function) 是一种通过函数指针、函数对象(如 std::function)或 Lambda 表达式传递给其他函数的机制,允许在特定事件或条件发生时调用该函数。回调函...
程序百科的头像-程序百科程序百科36天前
05214

面试题:如何解决 C++ 中条件变量的信号丢失和虚假唤醒问题?

在 C++ 中,条件变量(std::condition_variable)是多线程编程中常用的同步机制,用于线程间的通信。然而,使用条件变量时可能会遇到 信号丢失 和 虚假唤醒 的问题。以下是...
程序百科的头像-程序百科程序百科35天前
0527

面试题:C++ 中 deque 的原理?它内部是如何实现的?

std::deque(双端队列,Double-Ended Queue)是 C++ 标准模板库(STL)中的一种序列容器,支持在两端高效地插入和删除元素。它的实现原理和内部结构是其高效性能的关键。 1. std::deque&nb...
程序百科的头像-程序百科程序百科36天前
05112

面试题:C++ 如何实现线程池?给出大体思路?

实现一个线程池(Thread Pool)是 C++ 并发编程中的常见任务。线程池的核心思想是预先创建一组线程,并将任务分配给这些线程执行,从而避免频繁创建和销毁线程的开销。以下是实现线程池的大体思...
程序百科的头像-程序百科程序百科35天前
05111