排序
面试题:C++ 中什么是深拷贝?什么是浅拷贝?写一个标准的拷贝构造函数?
在C++中,拷贝是指用一个对象初始化另一个对象。拷贝分为深拷贝(Deep Copy)和浅拷贝(Shallow Copy),它们的区别在于如何处理指针或动态分配的资源。 1. 浅拷贝(Shallow Copy) 定义:...
面试题:什么是 C++ 中的虚继承?
在 C++ 中,虚继承(Virtual Inheritance) 是一种解决多重继承中菱形继承问题(Diamond Problem)的机制。它通过确保在继承链中共享同一个基类子对象,避免重复继承导致的二义性和资源浪费。 1...
面试题:C++ 中类定义中 delete 关键字和 default 关键字的作用?
在 C++ 中,delete 和 default 是两个用于控制类成员函数行为的关键字。它们通常用于显式地管理类的特殊成员函数(如构造函数、析构函数、拷贝构造函数、赋值运算符等)的生成和使用。 1. delet...
面试题:C++ 中 map 和 unordered_map 的区别?分别在什么场景下使用?
在 C++ 中,std::map 和 std::unordered_map 是两种常用的关联容器,用于存储键值对。它们的核心区别在于底层实现和性能特性,因此适用于不同的场景。 1. std::map 底层实...
面试题:平时开发 C++ 程序处理错误是使用 try-catch 还是错误码方式?
在 C++ 开发中,处理错误的方式主要有两种:异常处理(try-catch) 和 错误码(Error Code)。选择哪种方式取决于具体的应用场景和需求。以下是两种方式的对比以及适用场景: 1. ...
面试题:用过哪些 C++ 数据库框架?都有什么优缺点?
在 C++ 开发中,数据库框架是连接和操作数据库的重要工具。以下是几种常见的 C++ 数据库框架及其优缺点: 1. ODBC (Open Database Connectivity) 优点: 跨平台:支持多种数据库(如 MySQL、Pos...
面试题:C++ 有哪些进程间通信的方式?
在 C++ 中,进程间通信(Inter-Process Communication, IPC)是实现多个进程之间数据交换和同步的重要机制。C++ 本身并没有直接提供 IPC 的实现,但可以借助操作系统提供的机制或第三方库来实现...
面试题:介绍下 C++ 程序从编写到可执行的整个过程?
C++ 程序从编写到可执行的整个过程通常分为四个主要阶段:预处理、编译、汇编和链接。每个阶段都有特定的任务,最终生成可执行文件。以下是详细的介绍: 1. 编写源代码 程序员使用文本编辑器或...
面试题:C++ 什么场景用线程?什么场景用协程?
在 C++ 中,**线程(Thread)和协程(Coroutine)**是两种并发编程的工具,但它们适用于不同的场景。以下是它们的区别以及适用场景: 1. 线程(Thread) 特点: 操作系统级:线程由操作系...
面试题:用过哪些 C++ 单元测试框架?都有什么优缺点?
在 C++ 开发中,单元测试是保证代码质量的重要手段。以下是几种常见的 C++ 单元测试框架及其优缺点: 1. Google Test (gtest) 优点: 功能强大:支持丰富的断言宏(如 EXPECT_EQ、ASSERT_TRUE ...