C++笔记(1)

1. C语言和C++的区别?

C语言作为一种过程性语言,侧重于通过算法描述来指导计算机执行,将复杂程序分解为简单、可管理的模块。 C语言支持模块化编程,每个模块作为独立的单元。C++融合了3中不同的编程方式:C语言、面向对象语言、泛型编程。

2. 什么是类?

类是一种规范,定义了数据成员和成员函数,构成了一个新的数据类型。类描述了对象的特征和行为。对象是类的具体实例,即根据类的规范创建的数据结构。每个对象都拥有类所定义的属性和方法,通过对象可以进行实际的数据操作和功能实现。

3.什么是封装?

封装,类可以将内部数据(私有成员)隐藏起来,仅暴露有限的公共接口(公有成员函数)供外部访问,这样可以防止数据被不当修改。

4.什么是多态?

多态允许使用一个接口来表示不同类型的实体,从而能够在不修改现有代码的情况下,使程序能够处理多种数据类型或类的对象。这通过虚函数、重载运算符和函数重写等机制实现。

5.什么是继承?

继承是一种建立类与类之间关系的方式,子类可以继承父类的属性和方法,并在此基础上添加或修改,实现代码的复用和扩展。这有助于构建一个层次化的类结构,促进模块化和灵活性。

6. 预处理指令有什么用?

#include<>编译之前, 使用指定的内容特换该预处理指令。

#define定义符号常量,但是更好的使用const

7.头文件注意的问题是什么?

8.名称空间有什么用?

避免名称冲突。

9.const类型有什么用?

定义常量,编译器不允许修改该常量的值。比#define好,能确定类型,使用const将作用域限定再特定的作用域中。const可以用于更复杂的类型。

10.类型转换?

整形提升不会损失数据。

强制类型转换。

static_cast<>可以将值从一种类型转换为另一种类型。

11.auto声明?

让编译器可以初始值推断变量的类型,如STL中类型时,自动类型推断很方便。

12.什么是union?

union的各个成员共享相同的内存位置,因此只能存储一个成员的值。如果更改一个成员的值,会影响其他成员的值。大小等于最大成员的大小:union的大小等于其中最大成员的大小。

cpp 复制代码
union UnionName {
    data_type member1;data_type member2; data_type memberN;
};

13.什么是结构体?

结构是用户定义的类型,C++结构除了成员变量还有成员函数。

14.什么是enum?什么是枚举类?

enum是枚举类型,是一种用户自定义的数据类型,由一组常量组成,这些常量代表一个固定的整数值序列。可以提高代码的可读性,用有意义的名称而不是抽象的数字来表示。

cpp 复制代码
enum EnumName {
    enumerator1, enumerator2,..., enumeratorN
};

默认第一个枚举成员的值为0,之后每个成员的值依次递增1,也可以显示赋值。

C++11引入了enum class,可以更好的作用域控制和类型安全。枚举成员需要通过加上类名前缀来访问,避免名称冲突。

cpp 复制代码
enum class Color {
    Red,
    Green,
    Blue
};

待(整理100个换)

相关推荐
m0_561359677 分钟前
代码热更新技术
开发语言·c++·算法
兩尛14 分钟前
c++知识点1
java·开发语言·c++
凯子坚持 c14 分钟前
Qt常用控件指南(9)
开发语言·qt
ONE_PUNCH_Ge15 分钟前
Go 语言泛型
开发语言·后端·golang
舟舟亢亢16 分钟前
JVM复习笔记——下
java·jvm·笔记
冉佳驹22 分钟前
C++11 ——— 列表初始化、移动语义、可变参数模板、lamdba表达式、function包装器和bind包装器
c++·可变参数模板·移动构造·移动赋值·function包装器·bind包装器·lamdba表达式
量子-Alex25 分钟前
【大模型课程笔记】斯坦福大学CS336 课程环境配置与讲座生成完整指南
人工智能·笔记
leaves falling32 分钟前
c语言单链表
c语言·开发语言
xu_yule33 分钟前
算法基础—组合数学
c++·算法
独自破碎E35 分钟前
【中心扩展法】LCR_020_回文子串
java·开发语言