排序
面试题:C 和 C++ 的区别?
C 和 C++ 是两种广泛使用的编程语言,C++ 是 C 的超集,意味着 C++ 包含了 C 的大部分特性,并在此基础上增加了许多新特性。以下是 C 和 C++ 的主要区别: 1. 编程范式 C: 支持过程式编程...
面试题:C++ 中 char、const char、char* const、const char* const 的区别?
在 C++ 中,char*、const char*、char* const 和 const char* const 是四种不同的指针类型,它们的区别在于指针本身和指向的数据是否可以被修改。以下是它们的详细解释和区别: ...
面试题:C++ 中值传递和引用传递的区别?
在 C++ 中,值传递和引用传递是两种不同的参数传递方式,它们在性能、内存使用和语义上有显著区别。以下是它们的详细对比: 1. 值传递(Pass by Value) 定义 值传递是指将实参的值复制一份传递...
面试题:C++ 中四种类型转换的使用场景?
在 C++ 中,类型转换(Type Casting)用于将一种数据类型转换为另一种数据类型。C++ 提供了四种类型转换运算符:static_cast、dynamic_cast、const_cast 和 reinterpret_cast。每种类型转换都有...
面试题:C++ 中 struct 和 class 的区别?
在 C++ 中,struct 和 class 都用于定义自定义数据类型,但它们在默认访问权限和继承行为上有一些区别。以下是它们的详细对比: 1. 默认访问权限 struct: 默认的成员访问...
面试题:C++ 什么场景用线程?什么场景用协程?
在 C++ 中,**线程(Thread)和协程(Coroutine)**是两种并发编程的工具,但它们适用于不同的场景。以下是它们的区别以及适用场景: 1. 线程(Thread) 特点: 操作系统级:线程由操作系...
面试题:C++ 中函数模板和类模板有什么区别?
在C++中,函数模板(Function Template) 和 类模板(Class Template) 是模板编程的两个核心概念。它们的主要区别在于用途和实例化方式。以下是它们的详细区别: 1. 函数模板(Function Templa...
面试题:C++ 是否可以 include 源文件?
在C++中,可以使用 #include 包含源文件(.cpp 文件),但不推荐这样做。以下是详细解释: 1. 为什么可以包含源文件? #include 是一个预处理指令,它的作用是将指定文件...
面试题:什么是 C++ 中的虚继承?
在 C++ 中,虚继承(Virtual Inheritance) 是一种解决多重继承中菱形继承问题(Diamond Problem)的机制。它通过确保在继承链中共享同一个基类子对象,避免重复继承导致的二义性和资源浪费。 1...
面试题: C++ 中 explicit 的作用?
在 C++ 中,explicit 是一个用于修饰构造函数或转换运算符的关键字,它的作用是禁止隐式类型转换,防止编译器自动执行不期望的转换,从而提高代码的安全性和可读性。 1. 用于构造函数 当 explic...