排序
面试题: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++ 的运算符重载?
C++ 中的运算符重载(Operator Overloading)是一种允许用户自定义类类型对象的运算符行为的特性。通过运算符重载,可以使自定义类型的对象像内置类型一样使用运算符(如 +、-、*、/ 等)。 1. ...
面试题:C++ 中野指针和悬挂指针的区别?
野指针(Wild Pointer) 定义:野指针是指未初始化或指向已释放内存的指针,其值是随机的或无效的。 产生原因: 未初始化:指针声明后未赋值,指向随机地址。int* ptr; // 未初始化,ptr 是野指...
面试题:C++11 中有哪些常用的新特性?
C++11 是 C++ 语言的一次重大更新,引入了许多新特性,极大地提升了代码的简洁性、安全性和性能。 以下是 C++11 中常用的新特性: 1. 自动类型推导(auto) 作用:编译器自动推导变量的类型。 ...
面试题:什么是 C++ 的列表初始化?
在 C++ 中,列表初始化(List Initialization)是一种用于初始化变量、对象或容器的语法,使用花括号 {} 来提供初始值。它是 C++11 引入的特性,旨在提供更统一、更安全的初始化方式...
面试题:C++ 中 sizeof 和 strlen 的区别?
在 C++ 中,sizeof 和 strlen 是两个常用的操作符/函数,但它们的作用和用法完全不同。以下是它们的详细区别: 1. sizeof 作用:sizeof 是一个编译时操作符,用于计算数据...
面试题:C++ 中构造函数可以是虚函数吗?
在 C++ 中,构造函数不能是虚函数。这是由 C++ 的语言设计和对象构造机制决定的。以下是详细原因和解释: 1. 为什么构造函数不能是虚函数? (1)对象构造的顺序 在 C++ 中,对象的构造是从基类...