C++ 进阶面试题共47篇

面试题:C++ 的有栈协程和无栈协程有什么区别?

在 C++ 中,协程(Coroutine)是一种轻量级的并发编程工具,可以分为有栈协程(Stackful Coroutine)和无栈协程(Stackless Coroutine)。它们的主要区别在于栈的管理方式和实现机制。 1. 有栈...
程序百科的头像-程序百科程序百科35天前
04115

面试题:C++ 什么场景用线程?什么场景用协程?

在 C++ 中,**线程(Thread)和协程(Coroutine)**是两种并发编程的工具,但它们适用于不同的场景。以下是它们的区别以及适用场景: 1. 线程(Thread) 特点: 操作系统级:线程由操作系...
程序百科的头像-程序百科程序百科35天前
0427

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

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

面试题:C++ 中如何实现一个单例模式?

在 C++ 中,单例模式(Singleton Pattern)是一种设计模式,用于确保一个类只有一个实例,并提供一个全局访问点。以下是几种实现单例模式的常见方法: 1. 懒汉式(Lazy Initialization) 懒汉式...
程序百科的头像-程序百科程序百科35天前
03712

面试题:用过哪些 C++ 网络框架?都有什么优缺点?

在 C++ 开发中,网络框架是构建高性能网络应用的重要工具。以下是几种常见的 C++ 网络框架及其优缺点: 1. Boost.Asio 优点: 跨平台:支持 Windows、Linux、macOS 等平台。 高性能:基于事件驱...
程序百科的头像-程序百科程序百科35天前
02810

面试题:用过哪些 C++ 数据库框架?都有什么优缺点?

在 C++ 开发中,数据库框架是连接和操作数据库的重要工具。以下是几种常见的 C++ 数据库框架及其优缺点: 1. ODBC (Open Database Connectivity) 优点: 跨平台:支持多种数据库(如 MySQL、Pos...
程序百科的头像-程序百科程序百科35天前
04213

面试题:用过哪些 C++ 日志框架?都有什么优缺点?

在 C++ 开发中,日志框架是记录程序运行状态、调试信息和错误信息的重要工具。以下是几种常见的 C++ 日志框架及其优缺点: 1. spdlog 优点: 高性能:spdlog 是一个非常快速的日志库,专为高性...
程序百科的头像-程序百科程序百科35天前
0508

面试题:用过哪些 C++ 单元测试框架?都有什么优缺点?

在 C++ 开发中,单元测试是保证代码质量的重要手段。以下是几种常见的 C++ 单元测试框架及其优缺点: 1. Google Test (gtest) 优点: 功能强大:支持丰富的断言宏(如 EXPECT_EQ、ASSERT_TRUE ...
程序百科的头像-程序百科程序百科35天前
0418

面试题:介绍下 socket 的多路复用?epoll 有哪些优点?

Socket 的多路复用 多路复用(Multiplexing)是一种允许单个线程同时监控多个文件描述符(如 Socket)的技术。通过多路复用,程序可以在一个线程中高效地处理多个 I/O 操作,而不需要为每个连接...
程序百科的头像-程序百科程序百科35天前
03914

面试题:C++ 中 vector 的 push_back 和 emplace_back 有什么区别?

push_back 和 emplace_back 是 C++ 中 std::vector 的两个成员函数,用于向容器末尾添加元素。它们的核心区别在于如何构造元素以及性能优化。 1. push_back 功能...
程序百科的头像-程序百科程序百科35天前
03714