C/C++共113篇

面试题:C++ 中 struct 和 class 的区别?

在 C++ 中,struct 和 class 都用于定义自定义数据类型,但它们在默认访问权限和继承行为上有一些区别。以下是它们的详细对比: 1. 默认访问权限 struct: 默认的成员访问...
程序百科的头像-程序百科程序百科37天前
0477

面试题:什么是内存对齐?为什么要内存对齐?

什么是内存对齐? 内存对齐是指数据在内存中的存储位置必须满足特定条件,通常是某个值的倍数(如 4 字节、8 字节等)。例如,一个 4 字节的整数通常需要存储在地址为 4 的倍数的位置。 为什么...
程序百科的头像-程序百科程序百科37天前
0479

面试题:C++ 动态库和静态库的区别?

在 C++ 中,库(Library)是预编译的代码集合,可以被其他程序调用。库分为静态库(Static Library)和动态库(Dynamic Library),它们在链接方式、内存占用、更新和维护等方面有显著区别。 1....
程序百科的头像-程序百科程序百科36天前
0479

面试题:C++ 中 inline 的作用?它有什么优缺点?

在 C++ 中,inline 是一个关键字,用于建议编译器将函数内联展开,以减少函数调用的开销。它的主要作用是优化性能,但也有一些限制和注意事项。 1. inline 的作用 内联展开:inl...
程序百科的头像-程序百科程序百科37天前
0465

面试题:C++ 中野指针和悬挂指针的区别?

野指针(Wild Pointer) 定义:野指针是指未初始化或指向已释放内存的指针,其值是随机的或无效的。 产生原因: 未初始化:指针声明后未赋值,指向随机地址。int* ptr; // 未初始化,ptr 是野指...
程序百科的头像-程序百科程序百科37天前
0468

面试题:请介绍 C++ 中 shared_ptr 的原理?shared_ptr 线程安全吗?

std::shared_ptr 是 C++ 标准库中的一种智能指针,用于管理动态分配的对象生命周期。它通过引用计数机制实现多个 std::shared_ptr 共享对象的所有权。理解 std::shared_ptr...
程序百科的头像-程序百科程序百科35天前
0457

面试题:C++ 中 extern 有什么作用?extern “C” 有什么作用?

在 C++ 中,extern 是一个关键字,用于声明变量或函数的外部链接性。 它的主要作用是告诉编译器某个变量或函数是在其他地方定义的,而不是在当前文件中定义的。 extern 'C' 则是用于解决 C++ 与...
程序百科的头像-程序百科程序百科37天前
04515

面试题:C 和 C++ 的区别?

C 和 C++ 是两种广泛使用的编程语言,C++ 是 C 的超集,意味着 C++ 包含了 C 的大部分特性,并在此基础上增加了许多新特性。以下是 C 和 C++ 的主要区别: 1. 编程范式 C: 支持过程式编程...
程序百科的头像-程序百科程序百科37天前
0458

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

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

面试题:C++ 中命名空间有什么作用?如何使用?

在C++中,命名空间(Namespace) 是一种用于组织代码的机制,主要用于避免名称冲突(Name Collision)。命名空间将全局作用域划分为不同的区域,每个区域内的名称是唯一的,从而可以在不同...
程序百科的头像-程序百科程序百科37天前
04512