C++ 基础面试题共66篇

面试题:C++ 中值传递和引用传递的区别?

在 C++ 中,值传递和引用传递是两种不同的参数传递方式,它们在性能、内存使用和语义上有显著区别。以下是它们的详细对比: 1. 值传递(Pass by Value) 定义 值传递是指将实参的值复制一份传递...
程序百科的头像-程序百科程序百科22天前
0368

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

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

面试题:什么是 C++ 的左值和右值?有什么区别?

在 C++ 中,左值(Lvalue)和右值(Rvalue)是表达式的两种基本分类,它们的主要区别在于值类别(Value Category)和生命周期。理解左值和右值是掌握 C++ 中移动语义、完美转发等高级特性的基础...
程序百科的头像-程序百科程序百科22天前
02815

面试题:什么是 C++ 的移动语义和完美转发?

在 C++ 中,移动语义和完美转发是两个重要的特性,分别用于优化资源管理和实现泛型编程。以下是它们的详细解释: 1. 移动语义(Move Semantics) 什么是移动语义? 移动语义是 C++11 引入...
程序百科的头像-程序百科程序百科22天前
0385

面试题:什么是 C++ 的列表初始化?

在 C++ 中,列表初始化(List Initialization)是一种用于初始化变量、对象或容器的语法,使用花括号 {} 来提供初始值。它是 C++11 引入的特性,旨在提供更统一、更安全的初始化方式...
程序百科的头像-程序百科程序百科22天前
0507

面试题:C++ 中 move 有什么作用?它的原理是什么?

在 C++ 中,std::move 是一个用于实现移动语义的关键工具。它的作用是将对象的资源所有权从一个对象转移到另一个对象,从而避免不必要的拷贝操作,提高性能。以下是 std::move ...
程序百科的头像-程序百科程序百科22天前
04013

面试题:介绍 C++ 中三种智能指针的使用场景?

在 C++ 中,智能指针是用于自动管理动态内存的工具,可以避免内存泄漏和悬空指针等问题。 C++11 引入了三种主要的智能指针:std::unique_ptr、std::shared_ptr 和 std::weak_ptr。 以下是它们...
程序百科的头像-程序百科程序百科22天前
03513

面试题:C++11 中有哪些常用的新特性?

C++11 是 C++ 语言的一次重大更新,引入了许多新特性,极大地提升了代码的简洁性、安全性和性能。 以下是 C++11 中常用的新特性: 1. 自动类型推导(auto) 作用:编译器自动推导变量的类型。 ...
程序百科的头像-程序百科程序百科22天前
0238

面试题:C++ 中 static 的作用?什么场景下用到 static?

在 C++ 中,static 是一个关键字,具有多种用途,具体作用取决于它的使用场景。以下是 static 的主要作用和使用场景: 1. 静态局部变量 作用:在函数内部定义的静态局部变...
程序百科的头像-程序百科程序百科22天前
04815

面试题:C++ 中 const 的作用?谈谈你对 const 的理解?

在 C++ 中,const 是一个关键字,用于定义常量或限制变量、函数、指针等的修改行为。它的主要作用是增强代码的安全性、可读性和可维护性。以下是 const 的详细作用和使用场景: 1. 定义常量 作...
程序百科的头像-程序百科程序百科22天前
0265