C/C++共113篇

面试题:C++ 中 jthread 和 thread 的区别?

在 C++20 中引入了 std::jthread,它是 std::thread 的增强版本,主要区别在于 std::jthread 提供了更安全和更方便的线程管理功能,特别是自动线程回收和协作中断支持...
程序百科的头像-程序百科程序百科37天前
03210

面试题:C++ 中 memcpy 和 memmove 有什么区别?

memcpy 和 memmove 是 C++ 中用于内存拷贝的两个标准库函数,它们的核心功能都是将一段内存的内容复制到另一段内存中。然而,它们之间有一个关键的区别,主要体现在内存重叠的处理上。 1. memcp...
程序百科的头像-程序百科程序百科37天前
02811

面试题:C++ 的 function、bind、lambda 都在什么场景下会用到?

在C++中,function、bind和lambda是用于处理函数对象和回调的强大工具,各自有不同的应用场景。 1. std::function std::function 是一个通用的函数包装器,可以存储、复制和调用任何可调用对象...
程序百科的头像-程序百科程序百科37天前
02913

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

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

面试题:C++ 中函数模板和类模板有什么区别?

在C++中,函数模板(Function Template) 和 类模板(Class Template) 是模板编程的两个核心概念。它们的主要区别在于用途和实例化方式。以下是它们的详细区别: 1. 函数模板(Function Templa...
程序百科的头像-程序百科程序百科37天前
0257

面试题:请介绍下 C++ 模板中的 SFINAE?它的原则是什么?

SFINAE(Substitution Failure Is Not An Error) 是C++模板编程中的一种重要机制,用于在模板实例化过程中根据类型的有效性选择不同的实现。SFINAE 的核心思想是:在模板参数推导过程中,如果...
程序百科的头像-程序百科程序百科37天前
0286

面试题:C++ 的 strcpy 和 memcpy 有什么区别?

在C++中,strcpy 和 memcpy 是两个常用的函数,用于复制数据。尽管它们的功能相似,但在使用场景和行为上有显著的区别。 1. strcpy 定义:strcpy 是用于复制字符串的函数...
程序百科的头像-程序百科程序百科37天前
03215

面试题:C++ 中为什么要使用 std::array?它有什么优点?

在C++中,std::array 是C++11引入的一个容器类,用于表示固定大小的数组。与传统的C风格数组相比,std::array 提供了更多的功能和安全性。以下是使用 std::array 的主要原...
程序百科的头像-程序百科程序百科37天前
04814

面试题:C++ 中堆内存和栈内存的区别?

在C++中,堆内存(Heap Memory) 和 栈内存(Stack Memory) 是两种不同的内存分配方式,它们在管理方式、生命周期、性能和用途上有显著的区别。 1. 栈内存(Stack Memory...
程序百科的头像-程序百科程序百科37天前
04514

面试题:C++ 的栈溢出是什么?

栈溢出(Stack Overflow) 是程序运行时的一种错误,发生在调用栈(Call Stack)的内存空间被耗尽时。栈是用于存储函数调用信息(如局部变量、返回地址等)的内存区域,其大小是有限的。当程序...
程序百科的头像-程序百科程序百科37天前
03210